Referência da API
Fontes
As fontes definem onde o Gemlead procura os leads de uma persona. Uma fonte é uma conta do X da qual o Gemlead lê quem ela segue ou os seguidores dela. Uma busca por palavra-chave encontra os autores dos posts que correspondem a ela. Uma conta concorrente traz as pessoas que comentam nos posts dela.
Cada uma mostra quantos leads encontrou, quantos foram pontuados e quantos estão quentes, para você manter o que funciona. Consulte um perfil do X antes para ver o quanto ele vale como fonte.
- GET/v1/
personas/ :persona_id/ sources - GET/v1/
personas/ :persona_id/ sources/ :source_id - POST/v1/
personas/ :persona_id/ sources - PATCH/v1/
personas/ :persona_id/ sources/ :source_id - POST/v1/
personas/ :persona_id/ sources/ :source_id/ pause - POST/v1/
personas/ :persona_id/ sources/ :source_id/ resume - POST/v1/
personas/ :persona_id/ sources/ :source_id/ skip - POST/v1/
personas/ :persona_id/ sources/ :source_id/ refresh - POST/v1/
personas/ :persona_id/ sources/ :source_id/ score - DELETE/v1/
personas/ :persona_id/ sources/ :source_id - GET/v1/
personas/ :persona_id/ sources/ :source_id/ leads - GET/v1/
personas/ :persona_id/ search_queries - POST/v1/
personas/ :persona_id/ search_queries - POST/v1/
personas/ :persona_id/ search_queries/ remove - GET/v1/
personas/ :persona_id/ search_queries/ leads - GET/v1/
personas/ :persona_id/ competitor_accounts - POST/v1/
personas/ :persona_id/ competitor_accounts - POST/v1/
personas/ :persona_id/ competitor_accounts/ remove - GET/v1/
personas/ :persona_id/ competitor_accounts/ leads - GET/v1/
personas/ :persona_id/ source_suggestions - GET/v1/
x_profiles/ :username
O objeto source
Uma conta do X cuja rede o Gemlead lê para encontrar os leads de uma persona. Ele lê as contas que ela segue, os seguidores dela ou os dois.
Atributos
- idstringIdentificador único da fonte.
- objectstringSempre
source. - persona_idstringA persona para a qual ela encontra leads.
- methodstring
competitor_followersquando só os seguidores dela são lidos, senãofollowing.followingcompetitor_followers - profileobjectO perfil da fonte no X.
- statusstringEm que ponto está a leitura dela.
pendingscrapingscoringdonefailedskipped - pausedbooleanIndica se você pausou a fonte.
- errorstring ou nullPor que a leitura falhou, quando falhou.
- read_followingbooleanIndica se as contas que ela segue são lidas.
- read_followersbooleanIndica se os seguidores dela são lidos.
- score_selfbooleanIndica se a própria conta da fonte também é pontuada como lead.
- self_lead_idstring ou nullO lead da própria conta da fonte, depois de pontuado.
- origin_lead_idstring ou nullO lead de origem, quando você a criou com Transformar um lead em fonte.
- statsobjectO que ela trouxe até agora.
- last_activity_atstring ou nullQuando ela trouxe um lead pela última vez, em ISO 8601.
- last_scraped_atstring ou nullQuando ela foi lida pela última vez, em ISO 8601.
- created_atstringQuando ela foi adicionada, em ISO 8601.
{
"id": "s2HvN8qLtB",
"object": "source",
"persona_id": "lvWBPnytpS",
"method": "following",
"profile": {
"username": "pickswithmike",
"name": "Mike Picks",
"profile_image_url": "https://pbs.twimg.com/profile_images/1722093311/mike_400x400.jpg",
"followers_count": 8400,
"following_count": 1210,
"url": "https://x.com/pickswithmike"
},
"status": "done",
"paused": false,
"error": null,
"read_following": true,
"read_followers": false,
"score_self": true,
"self_lead_id": "Lp4WqZ7sXe",
"origin_lead_id": null,
"stats": {
"leads": 1184,
"scored_leads": 1160,
"hot_leads": 212,
"avg_score": 44
},
"last_activity_at": "2026-11-05T14:03:40.117Z",
"last_scraped_at": "2026-11-05T14:02:11.482Z",
"created_at": "2026-09-14T09:21:05.300Z"
}Listar fontes
Retorna as fontes da persona com as estatísticas delas.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
Parâmetros de consulta
- pausedboolean
truesó para as fontes pausadas,falsepara as ativas. - limitintegerQuantos objetos retornar, de 1 a 100. O padrão é 25.
- cursorstringO
next_cursorda página anterior, para obter a página seguinte. Veja Paginação.
Retorno
Uma lista de objetos source.
Erros
- Nenhuma persona com este ID na conta da chave.
- Um parâmetro tem um valor que a API não aceita.
paramdiz qual.
curl https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"object": "list",
"data": [
{
"id": "s2HvN8qLtB",
"object": "source",
"persona_id": "lvWBPnytpS",
"method": "following",
"profile": {
"username": "pickswithmike",
"name": "Mike Picks",
"profile_image_url": "https://pbs.twimg.com/profile_images/1722093311/mike_400x400.jpg",
"followers_count": 8400,
"following_count": 1210,
"url": "https://x.com/pickswithmike"
},
"status": "done",
"paused": false,
"error": null,
"read_following": true,
"read_followers": false,
"score_self": true,
"self_lead_id": "Lp4WqZ7sXe",
"origin_lead_id": null,
"stats": {
"leads": 1184,
"scored_leads": 1160,
"hot_leads": 212,
"avg_score": 44
},
"last_activity_at": "2026-11-05T14:03:40.117Z",
"last_scraped_at": "2026-11-05T14:02:11.482Z",
"created_at": "2026-09-14T09:21:05.300Z"
}
],
"has_more": false,
"next_cursor": null
}Obter uma fonte
Retorna uma fonte com as estatísticas dela.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
- source_idstringObrigatórioO ID da fonte.
Retorno
Um objeto source.
Erros
- Nenhuma fonte com este ID na conta da chave.
curl \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "s2HvN8qLtB",
"object": "source",
"persona_id": "lvWBPnytpS",
"method": "following",
"profile": {
"username": "pickswithmike",
"name": "Mike Picks",
"profile_image_url": "https://pbs.twimg.com/profile_images/1722093311/mike_400x400.jpg",
"followers_count": 8400,
"following_count": 1210,
"url": "https://x.com/pickswithmike"
},
"status": "done",
"paused": false,
"error": null,
"read_following": true,
"read_followers": false,
"score_self": true,
"self_lead_id": "Lp4WqZ7sXe",
"origin_lead_id": null,
"stats": {
"leads": 1184,
"scored_leads": 1160,
"hot_leads": 212,
"avg_score": 44
},
"last_activity_at": "2026-11-05T14:03:40.117Z",
"last_scraped_at": "2026-11-05T14:02:11.482Z",
"created_at": "2026-09-14T09:21:05.300Z"
}Adicionar uma fonte
Adiciona uma conta do X como fonte. As melhores são pessoas parecidas com os seus compradores, porque elas seguem muita gente do mesmo perfil. Os seguidores de um concorrente já se interessam por produtos como o seu.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
Parâmetros do corpo
- usernamestringObrigatórioUm username do X, de 1 a 15 letras, dígitos ou
_, com ou sem o @. - read_followingbooleanLê as contas que ela segue, pessoas parecidas com ela. O padrão é
true. - read_followersbooleanLê os seguidores dela, o público de um concorrente, por exemplo. O padrão é
false. - score_selfbooleanPontua também a própria conta da fonte como lead. O padrão é
true.
Retorno
O novo objeto source.
Erros
- Nenhuma persona com este ID na conta da chave.
- Falta um parâmetro obrigatório.
paramdiz qual. - Um parâmetro tem um valor que a API não aceita.
paramdiz qual. - A persona já tem esta conta como fonte com este método.
- O X não tem um perfil que possa ser lido com este username.
- A sessão da conta do X expirou. Reconecte a conta no app e tente de novo.
curl -X POST \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"username": "pickswithmike",
"read_following": true
}'{
"id": "s2HvN8qLtB",
"object": "source",
"persona_id": "lvWBPnytpS",
"method": "following",
"profile": {
"username": "pickswithmike",
"name": "Mike Picks",
"profile_image_url": "https://pbs.twimg.com/profile_images/1722093311/mike_400x400.jpg",
"followers_count": 8400,
"following_count": 1210,
"url": "https://x.com/pickswithmike"
},
"status": "pending",
"paused": false,
"error": null,
"read_following": true,
"read_followers": false,
"score_self": true,
"self_lead_id": "Lp4WqZ7sXe",
"origin_lead_id": null,
"stats": {
"leads": 0,
"scored_leads": 0,
"hot_leads": 0,
"avg_score": 0
},
"last_activity_at": "2026-11-05T14:03:40.117Z",
"last_scraped_at": "2026-11-05T14:02:11.482Z",
"created_at": "2026-09-14T09:21:05.300Z"
}Atualizar uma fonte
Altera o que o Gemlead lê na fonte.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
- source_idstringObrigatórioO ID da fonte.
Parâmetros do corpo
- read_followingbooleanLê as contas que ela segue, pessoas parecidas com ela.
- read_followersbooleanLê os seguidores dela, o público de um concorrente, por exemplo.
- score_selfbooleanPontua também a própria conta da fonte como lead.
Retorno
O objeto source atualizado.
Erros
- Nenhuma fonte com este ID na conta da chave.
- Um parâmetro tem um valor que a API não aceita.
paramdiz qual. - O corpo tem um campo que este endpoint não aceita.
curl -X PATCH \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"read_followers": true
}'{
"id": "s2HvN8qLtB",
"object": "source",
"persona_id": "lvWBPnytpS",
"method": "following",
"profile": {
"username": "pickswithmike",
"name": "Mike Picks",
"profile_image_url": "https://pbs.twimg.com/profile_images/1722093311/mike_400x400.jpg",
"followers_count": 8400,
"following_count": 1210,
"url": "https://x.com/pickswithmike"
},
"status": "done",
"paused": false,
"error": null,
"read_following": true,
"read_followers": true,
"score_self": true,
"self_lead_id": "Lp4WqZ7sXe",
"origin_lead_id": null,
"stats": {
"leads": 1184,
"scored_leads": 1160,
"hot_leads": 212,
"avg_score": 44
},
"last_activity_at": "2026-11-05T14:03:40.117Z",
"last_scraped_at": "2026-11-05T14:02:11.482Z",
"created_at": "2026-09-14T09:21:05.300Z"
}Pausar uma fonte
Para de ler a fonte por enquanto. Os leads dela continuam lá.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
- source_idstringObrigatórioO ID da fonte.
Retorno
Erros
- Nenhuma fonte com este ID na conta da chave.
curl -X POST \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB/pause \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "s2HvN8qLtB",
"object": "source",
"persona_id": "lvWBPnytpS",
"method": "following",
"profile": {
"username": "pickswithmike",
"name": "Mike Picks",
"profile_image_url": "https://pbs.twimg.com/profile_images/1722093311/mike_400x400.jpg",
"followers_count": 8400,
"following_count": 1210,
"url": "https://x.com/pickswithmike"
},
"status": "done",
"paused": true,
"error": null,
"read_following": true,
"read_followers": false,
"score_self": true,
"self_lead_id": "Lp4WqZ7sXe",
"origin_lead_id": null,
"stats": {
"leads": 1184,
"scored_leads": 1160,
"hot_leads": 212,
"avg_score": 44
},
"last_activity_at": "2026-11-05T14:03:40.117Z",
"last_scraped_at": "2026-11-05T14:02:11.482Z",
"created_at": "2026-09-14T09:21:05.300Z"
}Retomar uma fonte
Volta a ler uma fonte pausada.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
- source_idstringObrigatórioO ID da fonte.
Retorno
Erros
- Nenhuma fonte com este ID na conta da chave.
curl -X POST \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB/resume \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "s2HvN8qLtB",
"object": "source",
"persona_id": "lvWBPnytpS",
"method": "following",
"profile": {
"username": "pickswithmike",
"name": "Mike Picks",
"profile_image_url": "https://pbs.twimg.com/profile_images/1722093311/mike_400x400.jpg",
"followers_count": 8400,
"following_count": 1210,
"url": "https://x.com/pickswithmike"
},
"status": "done",
"paused": false,
"error": null,
"read_following": true,
"read_followers": false,
"score_self": true,
"self_lead_id": "Lp4WqZ7sXe",
"origin_lead_id": null,
"stats": {
"leads": 1184,
"scored_leads": 1160,
"hot_leads": 212,
"avg_score": 44
},
"last_activity_at": "2026-11-05T14:03:40.117Z",
"last_scraped_at": "2026-11-05T14:02:11.482Z",
"created_at": "2026-09-14T09:21:05.300Z"
}Pular uma fonte
Encerra uma fonte de vez e a marca como concluída, quando ela traz as pessoas erradas.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
- source_idstringObrigatórioO ID da fonte.
Retorno
Erros
- Nenhuma fonte com este ID na conta da chave.
curl -X POST \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB/skip \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "s2HvN8qLtB",
"object": "source",
"persona_id": "lvWBPnytpS",
"method": "following",
"profile": {
"username": "pickswithmike",
"name": "Mike Picks",
"profile_image_url": "https://pbs.twimg.com/profile_images/1722093311/mike_400x400.jpg",
"followers_count": 8400,
"following_count": 1210,
"url": "https://x.com/pickswithmike"
},
"status": "skipped",
"paused": false,
"error": null,
"read_following": true,
"read_followers": false,
"score_self": true,
"self_lead_id": "Lp4WqZ7sXe",
"origin_lead_id": null,
"stats": {
"leads": 1184,
"scored_leads": 1160,
"hot_leads": 212,
"avg_score": 44
},
"last_activity_at": "2026-11-05T14:03:40.117Z",
"last_scraped_at": "2026-11-05T14:02:11.482Z",
"created_at": "2026-09-14T09:21:05.300Z"
}Recarregar uma fonte
Lê de novo o perfil da fonte no X, para obter um novo nome, foto ou número de seguidores.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
- source_idstringObrigatórioO ID da fonte.
Retorno
Erros
- Nenhuma fonte com este ID na conta da chave.
- A sessão da conta do X expirou. Reconecte a conta no app e tente de novo.
- O X ou um serviço do Gemlead não respondeu. Nada mudou, tente de novo em um minuto.
curl -X POST \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB/refresh \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "s2HvN8qLtB",
"object": "source",
"persona_id": "lvWBPnytpS",
"method": "following",
"profile": {
"username": "pickswithmike",
"name": "Mike Picks",
"profile_image_url": "https://pbs.twimg.com/profile_images/1722093311/mike_400x400.jpg",
"followers_count": 8400,
"following_count": 1210,
"url": "https://x.com/pickswithmike"
},
"status": "done",
"paused": false,
"error": null,
"read_following": true,
"read_followers": false,
"score_self": true,
"self_lead_id": "Lp4WqZ7sXe",
"origin_lead_id": null,
"stats": {
"leads": 1184,
"scored_leads": 1160,
"hot_leads": 212,
"avg_score": 44
},
"last_activity_at": "2026-11-05T14:03:40.117Z",
"last_scraped_at": "2026-11-05T14:02:11.482Z",
"created_at": "2026-09-14T09:21:05.300Z"
}Pontuar uma fonte
Pontua a própria conta do X da fonte como lead da persona. Usa até 2 créditos por lead: 1 pela primeira triagem, mais 1 pelo score aprofundado quando o lead passa.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
- source_idstringObrigatórioO ID da fonte.
Retorno
Erros
- Nenhuma fonte com este ID na conta da chave.
curl -X POST \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB/score \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "s2HvN8qLtB",
"object": "source",
"persona_id": "lvWBPnytpS",
"method": "following",
"profile": {
"username": "pickswithmike",
"name": "Mike Picks",
"profile_image_url": "https://pbs.twimg.com/profile_images/1722093311/mike_400x400.jpg",
"followers_count": 8400,
"following_count": 1210,
"url": "https://x.com/pickswithmike"
},
"status": "done",
"paused": false,
"error": null,
"read_following": true,
"read_followers": false,
"score_self": true,
"self_lead_id": "Lp4WqZ7sXe",
"origin_lead_id": null,
"stats": {
"leads": 1184,
"scored_leads": 1160,
"hot_leads": 212,
"avg_score": 44
},
"last_activity_at": "2026-11-05T14:03:40.117Z",
"last_scraped_at": "2026-11-05T14:02:11.482Z",
"created_at": "2026-09-14T09:21:05.300Z"
}Excluir uma fonte
Remove uma fonte e os leads que ela encontrou e que nenhuma campanha trabalhou.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
- source_idstringObrigatórioO ID da fonte.
Retorno
Um objeto com o id da fonte, deleted igual a true e a contagem de deleted_leads.
Erros
- Nenhuma fonte com este ID na conta da chave.
curl -X DELETE \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "s2HvN8qLtB",
"object": "source",
"deleted": true,
"deleted_leads": 972
}Listar os leads de uma fonte
Retorna os leads que uma fonte encontrou, do maior score para o menor.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
- source_idstringObrigatórioO ID da fonte.
Parâmetros de consulta
- orderstring
-scorecoloca os melhores leads primeiro,scoreos mais baixos. O padrão é-score.-scorescore - limitintegerQuantos objetos retornar, de 1 a 100. O padrão é 25.
- cursorstringO
next_cursorda página anterior, para obter a página seguinte. Veja Paginação.
Retorno
Uma lista de objetos lead, com total_count.
Erros
- Nenhuma fonte com este ID na conta da chave.
- Um parâmetro tem um valor que a API não aceita.
paramdiz qual.
curl -G \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB/leads \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-d limit=10{
"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",
"total_count": 1184
}O objeto keyword search
Uma busca que o Gemlead faz no X para uma persona. Os autores dos posts que ela encontra são pontuados como leads.
Atributos
- objectstringSempre
search_query. - querystringA busca, como você a digitaria no X.
- persona_idstringA persona para a qual ela encontra leads.
- statsobjectO que ela trouxe até agora.
- first_found_atstring ou nullQuando ela encontrou o primeiro lead, em ISO 8601.
{
"object": "search_query",
"query": "paid discord picks",
"persona_id": "lvWBPnytpS",
"stats": {
"leads": 640,
"scored_leads": 618,
"hot_leads": 131,
"avg_score": 47
},
"first_found_at": "2026-10-21T10:04:51.000Z"
}Listar buscas por palavra-chave
Retorna as buscas por palavra-chave da persona, cada uma com os leads encontrados, pontuados e quentes.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
Retorno
Uma lista de objetos keyword search.
Erros
- Nenhuma persona com este ID na conta da chave.
curl \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/search_queries \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"object": "list",
"data": [
{
"object": "search_query",
"query": "paid discord picks",
"persona_id": "lvWBPnytpS",
"stats": {
"leads": 640,
"scored_leads": 618,
"hot_leads": 131,
"avg_score": 47
},
"first_found_at": "2026-10-21T10:04:51.000Z"
}
],
"has_more": false,
"next_cursor": null
}Adicionar buscas por palavra-chave
Adiciona buscas por palavra-chave a uma persona. O Gemlead procura no X posts com esses termos e pontua os autores.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
Parâmetros do corpo
- queriesarray de stringsObrigatórioDe 1 a 50 buscas por palavra-chave a adicionar, 500 no total numa persona. Cada uma é uma busca como você a digitaria no X, de 2 a 200 caracteres.
Retorno
As buscas por palavra-chave da persona, uma lista de objetos keyword search.
Erros
- Nenhuma persona com este ID na conta da chave.
- Falta um parâmetro obrigatório.
paramdiz qual. - Um parâmetro tem um valor que a API não aceita.
paramdiz qual. - A persona já tem esta busca por palavra-chave.
- A persona passaria de 500 no total.
curl -X POST \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/search_queries \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"queries": ["paid discord picks", "vip tips telegram"]
}'{
"object": "list",
"data": [
{
"object": "search_query",
"query": "paid discord picks",
"persona_id": "lvWBPnytpS",
"stats": {
"leads": 640,
"scored_leads": 618,
"hot_leads": 131,
"avg_score": 47
},
"first_found_at": "2026-10-21T10:04:51.000Z"
}
],
"has_more": false,
"next_cursor": null
}Remover buscas por palavra-chave
Remove buscas por palavra-chave de uma persona. Os leads que elas encontraram continuam lá.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
Parâmetros do corpo
- queriesarray de stringsObrigatórioAs buscas por palavra-chave a remover, como aparecem na lista.
Retorno
As buscas por palavra-chave que restam na persona, uma lista de objetos keyword search.
Erros
- Nenhuma persona com este ID na conta da chave.
- Uma delas não está entre as buscas por palavra-chave da persona.
- Falta um parâmetro obrigatório.
paramdiz qual.
curl -X POST \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/search_queries/remove \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"queries": ["vip tips telegram"]
}'{
"object": "list",
"data": [
{
"object": "search_query",
"query": "paid discord picks",
"persona_id": "lvWBPnytpS",
"stats": {
"leads": 640,
"scored_leads": 618,
"hot_leads": 131,
"avg_score": 47
},
"first_found_at": "2026-10-21T10:04:51.000Z"
}
],
"has_more": false,
"next_cursor": null
}Listar os leads de uma busca por palavra-chave
Retorna os leads que uma busca por palavra-chave encontrou, do maior score para o menor.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
Parâmetros de consulta
- querystringObrigatórioA busca por palavra-chave, como aparece na lista.
- orderstring
-scorecoloca os melhores leads primeiro,scoreos mais baixos. O padrão é-score.-scorescore - limitintegerQuantos objetos retornar, de 1 a 100. O padrão é 25.
- cursorstringO
next_cursorda página anterior, para obter a página seguinte. Veja Paginação.
Retorno
Uma lista de objetos lead, com total_count.
Erros
- Nenhuma persona com este ID na conta da chave.
- Falta um parâmetro obrigatório.
paramdiz qual. - Um parâmetro tem um valor que a API não aceita.
paramdiz qual.
curl -G \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/search_queries/leads \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
--data-urlencode "query=paid discord picks" \
-d limit=10{
"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",
"total_count": 640
}O objeto competitor account
A conta do X de um concorrente. O Gemlead lê quem comenta nos posts dela e pontua essas pessoas como leads.
Atributos
- objectstringSempre
competitor_account. - usernamestringO username no X, sem o @.
- persona_idstringA persona para a qual ela encontra leads.
- statsobjectO que ela trouxe até agora.
- first_found_atstring ou nullQuando ela encontrou o primeiro lead, em ISO 8601.
{
"object": "competitor_account",
"username": "whop",
"persona_id": "lvWBPnytpS",
"stats": {
"leads": 905,
"scored_leads": 902,
"hot_leads": 96,
"avg_score": 38
},
"first_found_at": "2026-10-24T16:30:12.000Z"
}Listar contas concorrentes
Retorna as contas concorrentes da persona, cada uma com os leads encontrados, pontuados e quentes.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
Retorno
Uma lista de objetos competitor account.
Erros
- Nenhuma persona com este ID na conta da chave.
curl \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/competitor_accounts \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"object": "list",
"data": [
{
"object": "competitor_account",
"username": "whop",
"persona_id": "lvWBPnytpS",
"stats": {
"leads": 905,
"scored_leads": 902,
"hot_leads": 96,
"avg_score": 38
},
"first_found_at": "2026-10-24T16:30:12.000Z"
}
],
"has_more": false,
"next_cursor": null
}Adicionar contas concorrentes
Adiciona contas concorrentes a uma persona. O Gemlead lê quem comenta nos posts delas e pontua essas pessoas.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
Parâmetros do corpo
- usernamesarray de stringsObrigatórioDe 1 a 50 contas concorrentes a adicionar, 100 no total numa persona. Cada uma é um username do X, com ou sem o @.
Retorno
As contas concorrentes da persona, uma lista de objetos competitor account.
Erros
- Nenhuma persona com este ID na conta da chave.
- Falta um parâmetro obrigatório.
paramdiz qual. - Um parâmetro tem um valor que a API não aceita.
paramdiz qual. - A persona já tem esta conta concorrente.
- A persona passaria de 100 no total.
curl -X POST \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/competitor_accounts \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"usernames": ["whop"]
}'{
"object": "list",
"data": [
{
"object": "competitor_account",
"username": "whop",
"persona_id": "lvWBPnytpS",
"stats": {
"leads": 905,
"scored_leads": 902,
"hot_leads": 96,
"avg_score": 38
},
"first_found_at": "2026-10-24T16:30:12.000Z"
}
],
"has_more": false,
"next_cursor": null
}Remover contas concorrentes
Remove contas concorrentes de uma persona. Os leads que elas encontraram continuam lá.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
Parâmetros do corpo
- usernamesarray de stringsObrigatórioAs contas concorrentes a remover, como aparecem na lista.
Retorno
As contas concorrentes que restam na persona, uma lista de objetos competitor account.
Erros
- Nenhuma persona com este ID na conta da chave.
- Uma delas não está entre as contas concorrentes da persona.
- Falta um parâmetro obrigatório.
paramdiz qual.
curl -X POST \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/competitor_accounts/remove \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"usernames": ["whop"]
}'{
"object": "list",
"data": [],
"has_more": false,
"next_cursor": null
}Listar os leads de uma conta concorrente
Retorna os leads que uma conta concorrente encontrou, do maior score para o menor.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
Parâmetros de consulta
- usernamestringObrigatórioO username do concorrente no X, como aparece na lista.
- orderstring
-scorecoloca os melhores leads primeiro,scoreos mais baixos. O padrão é-score.-scorescore - limitintegerQuantos objetos retornar, de 1 a 100. O padrão é 25.
- cursorstringO
next_cursorda página anterior, para obter a página seguinte. Veja Paginação.
Retorno
Uma lista de objetos lead, com total_count.
Erros
- Nenhuma persona com este ID na conta da chave.
- Falta um parâmetro obrigatório.
paramdiz qual. - Um parâmetro tem um valor que a API não aceita.
paramdiz qual.
curl -G \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/competitor_accounts/leads \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-d username=whop \
-d limit=10{
"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",
"total_count": 905
}O objeto source suggestion
Uma conta do X que a IA escolheu como fonte para uma persona, com o motivo e o que ler nela.
Atributos
- objectstringSempre
source_suggestion. - profileobjectO perfil dela no X, como no objeto X profile.
- methodstringO que ler nela.
followingcompetitor_followers - reasonstring ou nullPor que a IA escolheu essa conta.
- seed_adviceobject ou nullA análise que o próprio Gemlead faz da conta.
{
"object": "source_suggestion",
"profile": {
"x_user_id": "1722093311",
"username": "pickswithmike",
"name": "Mike Picks",
"bio": "NBA and NFL picks. VIP Discord, 61 % last season.",
"followers_count": 8400,
"following_count": 1210,
"profile_image_url": "https://pbs.twimg.com/profile_images/1722093311/mike_400x400.jpg",
"verified": false,
"url": "https://x.com/pickswithmike"
},
"method": "following",
"reason": "Runs a paid picks group and follows dozens of other tipsters.",
"seed_advice": {
"verdict": "good",
"kind": "person",
"reason_code": "peer",
"reason": "A founder-sized account (1k to 15k followers) follows peers who look like your buyers.",
"recommended_method": "following"
}
}Sugerir fontes
Pede à IA contas do X para adicionar como fontes, escolhidas a partir da descrição, das palavras-chave e dos concorrentes da persona.
Parâmetros de caminho
- persona_idstringObrigatórioO ID da persona.
Retorno
Uma lista de objetos source suggestion.
Erros
- Nenhuma persona com este ID na conta da chave.
- O X ou um serviço do Gemlead não respondeu. Nada mudou, tente de novo em um minuto.
curl \
https://gemlead.ai/api/v1/personas/lvWBPnytpS/source_suggestions \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"object": "list",
"data": [
{
"object": "source_suggestion",
"profile": {
"x_user_id": "1722093311",
"username": "pickswithmike",
"name": "Mike Picks",
"bio": "NBA and NFL picks. VIP Discord, 61 % last season.",
"followers_count": 8400,
"following_count": 1210,
"profile_image_url": "https://pbs.twimg.com/profile_images/1722093311/mike_400x400.jpg",
"verified": false,
"url": "https://x.com/pickswithmike"
},
"method": "following",
"reason": "Runs a paid picks group and follows dozens of other tipsters.",
"seed_advice": {
"verdict": "good",
"kind": "person",
"reason_code": "peer",
"reason": "A founder-sized account (1k to 15k followers) follows peers who look like your buyers.",
"recommended_method": "following"
}
}
],
"has_more": false,
"next_cursor": null
}O objeto X profile
Uma conta do X lida ao vivo com a sua sessão do X, antes de você adicioná-la como fonte ou como concorrente.
Atributos
- objectstringSempre
x_profile. - x_user_idstringO ID numérico da conta do X, como string.
- usernamestringO username no X, sem o @.
- namestringO nome de exibição.
- biostringA bio do perfil.
- followers_countintegerSeguidores no X.
- following_countintegerContas que ela segue no X.
- locationstringA localização escrita no perfil.
- websitestringO site que aparece no perfil.
- profile_image_urlstringA URL da foto do perfil.
- verifiedbooleanIndica se a conta tem o selo de verificado.
- urlstringA URL do perfil no X.
- can_dmboolean ou nullIndica se a sua conta pode mandar DM para ela, quando o X informa.
- joined_atstring ou nullQuando a conta foi criada no X, em ISO 8601.
- seed_adviceobjectSó com o parâmetro
persona. O quanto ela vale como fonte, uma vez para cada forma de leitura.
{
"object": "x_profile",
"x_user_id": "1722093311",
"username": "pickswithmike",
"name": "Mike Picks",
"bio": "NBA and NFL picks. VIP Discord, 61 % last season.",
"followers_count": 8400,
"following_count": 1210,
"location": "Las Vegas",
"website": "https://mikepicks.com",
"profile_image_url": "https://pbs.twimg.com/profile_images/1722093311/mike_400x400.jpg",
"verified": false,
"can_dm": true,
"joined_at": "2019-03-02T18:11:40.000Z",
"url": "https://x.com/pickswithmike"
}Consultar um perfil do X
Lê um perfil do X ao vivo com a sua sessão do X. Com persona, também diz o quanto a conta vale como fonte para ela.
Parâmetros de caminho
- usernamestringObrigatórioO username do X, com ou sem o @.
Parâmetros de consulta
- personastringUm ID de persona, para obter o
seed_advicedela.
Retorno
Um objeto X profile.
Erros
- O X não tem um perfil que possa ser lido com este username.
- A sessão da conta do X expirou. Reconecte a conta no app e tente de novo.
- O X ou um serviço do Gemlead não respondeu. Nada mudou, tente de novo em um minuto.
curl -G https://gemlead.ai/api/v1/x_profiles/pickswithmike \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-d persona=lvWBPnytpS{
"object": "x_profile",
"x_user_id": "1722093311",
"username": "pickswithmike",
"name": "Mike Picks",
"bio": "NBA and NFL picks. VIP Discord, 61 % last season.",
"followers_count": 8400,
"following_count": 1210,
"location": "Las Vegas",
"website": "https://mikepicks.com",
"profile_image_url": "https://pbs.twimg.com/profile_images/1722093311/mike_400x400.jpg",
"verified": false,
"can_dm": true,
"joined_at": "2019-03-02T18:11:40.000Z",
"url": "https://x.com/pickswithmike",
"seed_advice": {
"following": {
"verdict": "good",
"kind": "person",
"reason_code": "peer",
"reason": "A founder-sized account (1k to 15k followers) follows peers who look like your buyers.",
"recommended_method": "following"
},
"competitor_followers": {
"verdict": "weak",
"kind": "person",
"reason_code": "followers",
"reason": "Followers lists are mostly passive accounts: few of them score hot. The following of a founder like your buyers works far better.",
"recommended_method": "following"
},
"both": {
"verdict": "weak",
"kind": "person",
"reason_code": "both",
"reason": "Adding the followers drowns a good following in passive accounts. Keep the following only.",
"recommended_method": "following"
}
}
}