BlogActualizado 12 sept 2026

Cómo programar posts en redes con una API

Usa la API REST de SocialRobot para programar posts en nueve redes desde tu código: crea una API key, lee tus account IDs y haz POST a /posts con un array de targets.

Para programar posts en redes sociales con una API, te autenticas con una API key, llamas a GET /accounts para obtener los IDs de tus cuentas y luego envías un POST /posts por cada publicación con el texto, un timestamp scheduledAt y un array targets que nombra cada plataforma y cuenta. SocialRobot expone esto en https://socialrobot.io/api, con una especificación OpenAPI 3 en https://socialrobot.io/api/openapi.json, para Instagram, LinkedIn, X, TikTok, Pinterest, Threads, Facebook, Bluesky y Mastodon con la misma forma de request.

Programar a mano funciona hasta que llega el volumen. Una semana de posts en cuatro redes son una docena de entradas escritas en un formulario, cada una con su hora, su caption y su imagen. Cuando una hoja de cálculo, un CMS o cualquier otro servicio ya sabe qué tiene que salir, volver a tipearlo en un calendario es la forma más lenta de publicar.

Una API de programación invierte eso. Tu código controla el calendario, la API controla las conexiones con las plataformas, y los posts llegan a un calendario que igual puedes revisar. Esta guía usa la API REST de SocialRobot porque la parte de OAuth ya está resuelta: conectas las cuentas una vez en la app y nunca registras una app de desarrollador de Meta o LinkedIn.

Qué hace realmente la API

La API es el mismo motor del dashboard, expuesto por HTTP. Un request puede apuntar a varias redes, usar el texto que quieras por red, adjuntar medios subidos y después listar, mover o borrar esa publicación desde los mismos endpoints.

Tres cosas la diferencian de escribir integraciones a mano:

Antes del primer request

Necesitas tres cosas:

  1. Cuentas conectadas. Conecta Instagram, LinkedIn, X y el resto en Scheduler, luego Accounts. La API publica a través de esos logins.
  2. Una API key. En el dashboard: Scheduler settings, luego API keys. La key se muestra una vez y se envía como x-api-key (también funciona Authorization: Bearer).
  3. Los account IDs. Llama a GET /accounts para ver a qué puede publicar la key.
curl https://socialrobot.io/api/accounts \
  -H "x-api-key: $SOCIALROBOT_API_KEY"

La respuesta lista cada cuenta conectada con su plataforma y su ID. Esos IDs son los que van en targets después, así que conviene cachearlos por entorno.

Crear un post programado

Un endpoint cubre el caso común: POST /posts. Texto, hora y targets.

curl -X POST https://socialrobot.io/api/posts \
  -H "x-api-key: $SOCIALROBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Ya está el flat white de avena, solo esta semana.",
    "scheduledAt": "2026-09-15T09:00:00Z",
    "targets": [
      { "platform": "instagram", "accountId": "acc_123" },
      { "platform": "linkedin",  "accountId": "acc_456" },
      { "platform": "x",         "accountId": "acc_789" }
    ]
  }'

targets es la parte que ahorra más trabajo: un request, tres redes, un horario. Si una red necesita otro texto, crea posts separados o usa los endpoints por plataforma que siguen abajo.

Programar es el comportamiento por defecto

Un scheduledAt futuro deja el post en el calendario, donde todavía puedes editarlo o borrarlo. Publicar al instante es la misma llamada sin ese campo.

Adjuntar medios

Hay dos caminos, según quién tiene el archivo:

SituaciónEndpoint
Tu script tiene los bytes del archivoPOST /media/upload-url devuelve una URL prefirmada para subirlo con PUT
La imagen ya vive en una URL públicaPOST /media/from-url la ingesta del lado del servidor

Los dos devuelven una referencia de media que pasas en el body del post, así que puedes encolar el post y su imagen en un solo flujo.

Mover, listar y borrar

El ID que devuelve la creación alcanza para administrar todo lo demás:

TareaRequest
Listar lo programado o publicadoGET /posts
Ver un post puntualGET /posts/{id}
Reescribir texto o targetsPUT /posts/{id}
Moverlo a otro horarioPOST /posts/{id}/schedule
CancelarloDELETE /posts/{id}

Eso cubre la parte incómoda de automatizar. Una campaña que se corre un día es un request, no un ticket de soporte.

Cuando el endpoint genérico no alcanza

Algunas redes necesitan un campo que el endpoint compartido no modela. Esas tienen rutas propias: /instagram/create, /linkedin/create, /x/create, /tiktok/create, /pinterest/create, /threads/create, /facebook/create, /bluesky/create y /mastodon/create.

Pinterest es el caso más claro. Un pin no existe sin board, así que listas los boards con GET /pinterest/boards/{accountId}, creas uno con POST /pinterest/create si hace falta y después encolas el pin. TikTok es parecido: GET /tiktok/creator-info/{accountId} devuelve las opciones de publicación, incluido si el video sale directo o queda como borrador en la bandeja.

API, MCP o n8n

Los tres manejan el mismo motor de publicación. Elige según quién toma la decisión:

Qué estás automatizandoQué usar
Tu código, un cron o un backendAPI REST con API key
Una conversación en Claude, ChatGPT o CursorServidor MCP con OAuth
Una hoja de cálculo, un feed RSS o un formulario en un canvasNodo de n8n

La cuota es compartida entre los tres, así que mezclarlos es normal: programas desde el código durante la semana y ajustas por chat cuando cambia el plan.

Errores que conviene evitar

Cómo empezar

  1. Crea una cuenta gratis en SocialRobot.
  2. Conecta las cuentas donde publicas.
  3. Crea una API key en Scheduler settings.
  4. Corre GET /accounts y encola tu primer post con POST /posts.
  5. Ten a mano la especificación OpenAPI para los campos exactos, y lee la guía de MCP si quien programa tiene que ser un asistente de IA.

Conecta tus cuentas. Aprueba cada post.

SocialRobot MCP es gratis en todos los planes. Añade socialrobot.io/api/mcp a Claude, ChatGPT o Cursor y programa desde el chat. Nada sale hasta que lo apruebas.

Ver la guía MCP