Conceptos básicos
Paginación
Las listas llegan página a página. Sigue next_cursor hasta que has_more sea false y tendrás todos los objetos.
Parámetros
Todos los endpoints de lista aceptan los mismos dos parámetros, además de sus propios filtros.
- limitintegerNúmero máximo de objetos por página, de 1 a 100. 25 por defecto.
- cursorstringEl
next_cursorde la página anterior. Omítelo en la primera página.
El objeto list
- objectstringSiempre
list. - dataarrayLos objetos de la página.
- has_morebooleanTrue si hay otra página después de esta.
- next_cursorstring o nullEl cursor de la página siguiente, null en la última.
Respuesta200
{
"object": "list",
"data": [
{
"id": "msgOtJ8dvT",
"object": "lead",
"profile": {
"x_user_id": "1460283925",
"username": "jane_builds",
"name": "Jane Doe",
"bio": "Runs a paid trading community. Daily setups, no hype.",
"followers_count": 12400,
"following_count": 380,
"location": "Austin, TX",
"website": "https://janedoe.com",
"profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
"verified": true,
"url": "https://x.com/jane_builds"
},
"score": 86,
"score_reason": "Runs a paid trading community and asks how to collect payments for it.",
"hot": true,
"status": "scored",
"persona": {
"id": "lvWBPnytpS",
"name": "Tipsters"
},
"campaign": null,
"conversation_id": null,
"locked_to": null,
"found_at": "2026-11-05T14:02:11.482Z",
"scored_at": "2026-11-05T14:03:40.117Z",
"updated_at": "2026-11-05T14:03:40.117Z",
"metadata": {}
}
],
"has_more": true,
"next_cursor": "eyJzIjoiMjAyNi0xMS0wNVQxNDowMzo0MC4xMTdaIn0"
}Recorre todas las páginas
Una página puede traer menos objetos que limit, incluso ninguno, aunque has_more siga en true. Cada solicitud lee un tramo acotado del índice, y así los filtros siguen siendo rápidos con millones de leads. Basa siempre el bucle en has_more y next_cursor, nunca en el número de objetos.
- Mantén los mismos filtros y el mismo
orderen todas las páginas. Un cursor solo funciona con los filtros para los que se creó, de lo contrario la respuesta es 400cursor_invalid. - Los cursores son opacos. Nunca construyas ni modifiques uno.
- Los objetos siguen el orden de la lista, con los empates resueltos por ID, así que una página nunca repite un objeto de la anterior.
- Para decenas de miles de leads, una exportación es más rápida que paginar.
curl -G https://gemlead.ai/api/v1/leads \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-d hot=true \
-d limit=100
# The next page, with the next_cursor of the one before
curl -G https://gemlead.ai/api/v1/leads \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-d hot=true \
-d limit=100 \
-d cursor=eyJzIjoiMjAyNi0xMS0wNVQxNDowMzo0MC4xMTdaIn0