Datos sociales (beta)

GET /v1/social/{platform}/{capability} devuelve datos públicos de Douyin, Xiaohongshu, TikTok, YouTube y otras plataformas sociales, con la misma clave de API y el mismo saldo que sus llamadas a modelos. Cada plataforma y capacidad tiene un precio por llamada exitosa, y data es la respuesta propia de la plataforma: los campos no se normalizan entre plataformas.

GET /v1/social/{platform}/{capability}
curl --get "https://api.chinaapi.ai/v1/social/bilibili/search" \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  --data-urlencode 'keyword=Python'

# HTTP 200
# {"object": "social.result", "platform": "tiktok", "capability": "search", "data": {...}}
Beta: solo cuentas de pago Complete su primera recarga antes de llamar. El crédito de prueba no se puede gastar en estos endpoints; una cuenta que nunca ha recargado recibe HTTP 403 model_requires_topup. La beta no tiene SLA, y sus plataformas, endpoints y precios pueden cambiar.

Autenticación y facturación

Envíe su clave de ChinaAPI como token bearer a https://api.chinaapi.ai, como en cualquier llamada a un modelo. Una llamada se cobra una sola vez, al precio indicado para su endpoint, y solo cuando devuelve HTTP 200 con datos; un resultado vacío, un parámetro rechazado o un fallo del upstream no cuestan nada. Cada página que obtenga es una llamada aparte. Su registro de uso muestra cada llamada con el nombre que aparece junto a su endpoint, como social-douyin-search.

Respuestas y errores

Una respuesta exitosa envuelve los datos de la plataforma en un pequeño sobre. Todo lo que hay dentro de data (nombres de campos, cursores de paginación, IDs) es propio de la plataforma; devuelva los cursores exactamente como los recibió.

{
  "object": "social.result",
  "platform": "douyin",
  "capability": "search",
  "data": { "...": "the platform's own fields" }
}
  • 400 — un parámetro es desconocido, está repetido, es demasiado largo, tiene el tipo incorrecto o falta, incluido el caso en que no se da ningún miembro de un grupo "al menos uno de". El code del error indica cuál, como unknown_parameter o missing_parameter.
  • 403 model_requires_topup — la cuenta no ha completado su primera recarga.
  • 404 — el par de plataforma y capacidad no existe, o la plataforma no encontró nada para estos parámetros (social_data_no_result).
  • 429 social_data_capacity_reached — la capacidad diaria de la beta se ha agotado y se restablece a las 00:00 UTC, o la plataforma está ocupada y basta con reintentar unos segundos después. No reintente en un bucle cerrado.
  • 502 social_data_no_result — la fuente de datos no respondió, o respondió sin datos.
  • 503 social_data_unavailable — este endpoint está en pausa ahora mismo; el catálogo en vivo lo muestra como paused.

Ninguna de estas respuestas se cobra.

LinkedIn asynchronous tasks

The post-async, user-async and company-async capabilities use POST, query parameters and an empty body. Supply an Idempotency-Key (8–128 characters) unique to your intended operation. Reusing the same key and parameters returns the original submission without another charge; changing parameters under that key returns HTTP 409. A lost response is retried with the same key.

curl --get -X POST "https://api.chinaapi.ai/v1/social/linkedin/company-async" \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Idempotency-Key: company-research-20261029-001" \
  --data-urlencode 'url=https://www.linkedin.com/company/microsoft/'

# HTTP 202 returns a ChinaAPI task id and Location.
curl "https://api.chinaapi.ai/v1/social-tasks/TASK_ID" \
  -H "Authorization: Bearer $CHINAAPI_KEY"

Creation reserves the catalog price. A task with usable records keeps that charge; failure, empty results or timeout refund the reservation. Status and result reads are free, require the same account, and do not create another task. Poll no faster than every five seconds. Results are available for 30 days; do not submit another paid task just to read the same result. submission_pending means the submission outcome is uncertain: keep the same key and contact support if it persists.

These asynchronous capabilities are available through REST. The data MCP fetch tool lists synchronous capabilities only.

Xiaohongshu creator hot topics

GET /v1/social/xiaohongshu/creator-hot-topics returns the creator center’s hot inspiration feed. This is a separate capability, not a platform-wide trending ranking; the old trending endpoint remains unavailable. The live catalog lists its per-call price.

Leave cursor empty on the first request. Pass the response’s data.data.cursor unchanged to fetch the next page; items are in data.data.items. Stop when data.data.end_flag is true, a cursor repeats, or a page has no new items. Each successful nonempty page is billed separately. Empty results and business errors are not charged.

Telegram public channels

Telegram user returns a public channel profile, post returns one channel post, and user-posts returns channel posts. These endpoints do not retrieve personal account profiles or private chats. Pass channel=durov; a post also needs its post_id. Comments remain unavailable.

For user-posts, limit is 1–100 (upstream default 20). Fetch older posts with the preceding response's data.pagination.before_cursor as before; fetch newer posts with data.pagination.after_cursor as after. Choose one direction per request. Read posts from data.messages, deduplicate by post ID, and stop on an empty page, repeated cursor, no new IDs or your page/spending limit. has_more_before=false ends backward collection. Each nonempty successful page is billed separately; unavailable previews and empty results are not charged. Media links can expire.

Search implementation changes

TikTok search uses the App V3 implementation with keyword, offset, count, sort_type and publish_time. Start at offset 0; the former Web search_id is not supported. Returned data retains App V3 fields. Threads search returns top results and supports no pagination; results can vary by query and retrieval time. These path changes keep the previous per-call prices.

Pagination and bounded collection

Douyin comments and comment replies use the App V3 cursor contract. Start with cursor=0 and count=20; only count 20 is supported. Comment replies require both item_id (video ID) and comment_id (parent comment ID). Pass the returned cursor unchanged within the same capability. Old Web cursors cannot be reused.

Pages can overlap even when the cursor advances. Deduplicate by cid, stop when has_more is false, when a cursor repeats, or when no new IDs arrive; set a maximum page count and a spending limit. Each successful page is separately billed, including overlapping items. An empty page returns an uncharged no-result error and should end collection.

Threads comments and top search currently support the first page only. Sending a nonempty end_cursor is rejected before billing. Do not interpret a first-page response as a complete comment history. For every platform, use only the pagination parameters advertised in the live catalog.

Uso aceptable

Respete los términos de cada plataforma y las normas de protección de datos que le apliquen. No use esta API para elaborar perfiles de personas. Iniciar sesión, extraer datos de contacto, manipular la interacción y acceder a contenido privado o de pago quedan fuera de esta beta.

Plataformas y precios

USD por llamada exitosa. Cada precio enlaza con su endpoint más abajo, y un guion significa que la plataforma no ofrece esa capacidad. El catálogo en vivo (GET https://dash.chinaapi.ai/api/social/catalog, sin clave) es la referencia de lo que está a la venta ahora mismo, incluido cualquier endpoint en pausa.

Endpoints

Los parámetros van en la query string con los nombres propios de la plataforma. Los ejemplos provienen del catálogo; reemplace los identificadores por el contenido que quiere obtener.