Справочник API

Источники

Источники определяют, где Gemlead ищет лидов персоны. Источником служит аккаунт X, у которого читаются подписки или подписчики. Поиск по ключевым словам находит авторов подходящих постов. Аккаунт конкурента приводит людей, которые комментируют его посты.

У каждого видно, сколько лидов он нашёл, оценил и сколько из них горячих, поэтому легко оставить то, что работает. Перед добавлением посмотрите профиль X, чтобы понять, насколько хорошим источником он будет.

Объект источника

Аккаунт X, чью сеть Gemlead читает, чтобы находить лидов персоны. Gemlead читает аккаунты, на которые он подписан, его подписчиков или и то, и другое.

Атрибуты

  • idstring
    Уникальный идентификатор источника.
  • objectstring
    Всегда source.
  • persona_idstring
    Персона, для которой он находит лидов.
  • methodstring
    competitor_followers, если читаются только его подписчики, иначе following.
    followingcompetitor_followers
  • profileobject
    Профиль источника в X.
  • statusstring
    Статус чтения источника.
    pendingscrapingscoringdonefailedskipped
  • pausedboolean
    Приостановили ли вы его.
  • errorstring или null
    Причина ошибки чтения, если она была.
  • read_followingboolean
    Читаются ли аккаунты, на которые он подписан.
  • read_followersboolean
    Читаются ли его подписчики.
  • score_selfboolean
    Оценивается ли и собственный аккаунт источника как лид.
  • self_lead_idstring или null
    Лид собственного аккаунта источника, после оценки.
  • origin_lead_idstring или null
    Лид, из которого он получен, если вы создали его запросом Превращение лида в источник.
  • statsobject
    Результаты источника на текущий момент.
  • last_activity_atstring или null
    Когда он в последний раз принёс лида, ISO 8601.
  • last_scraped_atstring или null
    Время последнего чтения, ISO 8601.
  • created_atstring
    Время добавления, 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"
}

Список источников

GET/v1/personas/:persona_id/sourcesПраво readMCPlist_sources

Возвращает источники персоны с их статистикой.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Параметры запроса

  • pausedboolean
    true только для приостановленных источников, false для работающих.
  • limitinteger
    Сколько объектов вернуть, от 1 до 100. По умолчанию 25.
  • cursorstring
    next_cursor предыдущей страницы, чтобы получить следующую. См. раздел Пагинация.

Возвращает

Список объектов источника.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
  • API не принимает значение параметра. Название параметра указано в param.
GET/v1/personas/:persona_id/sources
curl https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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
}

Получение источника

GET/v1/personas/:persona_id/sources/:source_idПраво readMCPlist_sources

Возвращает один источник с его статистикой.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.
  • source_idstringОбязательно
    ID источника.

Возвращает

Объект источника.

Ошибки

  • В аккаунте ключа нет источника с этим ID.
GET/v1/personas/:persona_id/sources/:source_id
curl \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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"
}

Добавление источника

POST/v1/personas/:persona_id/sourcesПраво writeMCPadd_source

Добавляет аккаунт X как источник. Лучше всего подходят люди, похожие на ваших покупателей, в их подписках полно людей того же круга. Подписчики конкурента уже интересуются продуктами вроде вашего.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Параметры тела

  • usernamestringОбязательно
    Имя пользователя в X, от 1 до 15 букв, цифр или _, с @ или без.
  • read_followingboolean
    Читать аккаунты, на которые он подписан, то есть людей, похожих на него. По умолчанию true.
  • read_followersboolean
    Читать его подписчиков, например аудиторию конкурента. По умолчанию false.
  • score_selfboolean
    Оценивать и собственный аккаунт источника как лида. По умолчанию true.

Возвращает

Новый объект источника.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
  • Отсутствует обязательный параметр. Название параметра указано в param.
  • API не принимает значение параметра. Название параметра указано в param.
  • У персоны уже есть этот аккаунт как источник с этим методом.
  • В X нет доступного профиля с таким именем пользователя.
  • Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
POST/v1/personas/:persona_id/sources
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
  }'
Ответ200
{
  "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"
}

Изменение источника

PATCH/v1/personas/:persona_id/sources/:source_idПраво writeMCPupdate_source

Меняет то, что Gemlead читает в источнике.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.
  • source_idstringОбязательно
    ID источника.

Параметры тела

  • read_followingboolean
    Читать аккаунты, на которые он подписан, то есть людей, похожих на него.
  • read_followersboolean
    Читать его подписчиков, например аудиторию конкурента.
  • score_selfboolean
    Оценивать и собственный аккаунт источника как лида.

Возвращает

Обновлённый объект источника.

Ошибки

  • В аккаунте ключа нет источника с этим ID.
  • API не принимает значение параметра. Название параметра указано в param.
  • В теле есть поле, которое этот эндпоинт не принимает.
PATCH/v1/personas/:persona_id/sources/:source_id
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
  }'
Ответ200
{
  "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"
}

Приостановка источника

POST/v1/personas/:persona_id/sources/:source_id/pauseПраво writeMCPupdate_source

Временно прекращает чтение источника. Его лиды остаются.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.
  • source_idstringОбязательно
    ID источника.

Возвращает

Объект источника.

Ошибки

  • В аккаунте ключа нет источника с этим ID.
POST/v1/personas/:persona_id/sources/:source_id/pause
curl -X POST \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB/pause \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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"
}

Возобновление источника

POST/v1/personas/:persona_id/sources/:source_id/resumeПраво writeMCPupdate_source

Снова начинает читать приостановленный источник.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.
  • source_idstringОбязательно
    ID источника.

Возвращает

Объект источника.

Ошибки

  • В аккаунте ключа нет источника с этим ID.
POST/v1/personas/:persona_id/sources/:source_id/resume
curl -X POST \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB/resume \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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"
}

Пропуск источника

POST/v1/personas/:persona_id/sources/:source_id/skipПраво writeMCPupdate_source

Окончательно останавливает источник и считает его отработанным, если он приводит не тех людей.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.
  • source_idstringОбязательно
    ID источника.

Возвращает

Объект источника.

Ошибки

  • В аккаунте ключа нет источника с этим ID.
POST/v1/personas/:persona_id/sources/:source_id/skip
curl -X POST \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB/skip \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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"
}

Обновление источника

POST/v1/personas/:persona_id/sources/:source_id/refreshПраво writeMCPupdate_source

Заново читает профиль источника в X, чтобы получить новое имя, фото или число подписчиков.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.
  • source_idstringОбязательно
    ID источника.

Возвращает

Объект источника.

Ошибки

  • В аккаунте ключа нет источника с этим ID.
  • Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
  • X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
POST/v1/personas/:persona_id/sources/:source_id/refresh
curl -X POST \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB/refresh \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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"
}

Оценка источника

POST/v1/personas/:persona_id/sources/:source_id/scoreПраво writeMCPupdate_source

Оценивает собственный аккаунт источника в X как лида персоны. Стоит до 2 кредита за лида: 1 за первичный отбор и ещё 1 за глубокую оценку, если лид прошёл отбор.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.
  • source_idstringОбязательно
    ID источника.

Возвращает

Объект источника.

Ошибки

  • В аккаунте ключа нет источника с этим ID.
POST/v1/personas/:persona_id/sources/:source_id/score
curl -X POST \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB/score \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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"
}

Удаление источника

DELETE/v1/personas/:persona_id/sources/:source_idПраво writeMCPdelete_source

Удаляет источник и найденных им лидов, с которыми не работала ни одна кампания.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.
  • source_idstringОбязательно
    ID источника.

Возвращает

Объект с id источника, deleted, равным true, и числом deleted_leads.

Ошибки

  • В аккаунте ключа нет источника с этим ID.
DELETE/v1/personas/:persona_id/sources/:source_id
curl -X DELETE \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "id": "s2HvN8qLtB",
  "object": "source",
  "deleted": true,
  "deleted_leads": 972
}

Лиды источника

GET/v1/personas/:persona_id/sources/:source_id/leadsПраво readMCPlist_source_leads

Возвращает лидов, найденных источником, сначала с лучшей оценкой.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.
  • source_idstringОбязательно
    ID источника.

Параметры запроса

  • orderstring
    -score ставит первыми лучших лидов, score самых слабых. По умолчанию -score.
    -scorescore
  • limitinteger
    Сколько объектов вернуть, от 1 до 100. По умолчанию 25.
  • cursorstring
    next_cursor предыдущей страницы, чтобы получить следующую. См. раздел Пагинация.

Возвращает

Список объектов лида с total_count.

Ошибки

  • В аккаунте ключа нет источника с этим ID.
  • API не принимает значение параметра. Название параметра указано в param.
GET/v1/personas/:persona_id/sources/:source_id/leads
curl -G \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB/leads \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -d limit=10
Ответ200
{
  "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
}

Объект поиска по ключевым словам

Поиск, который Gemlead выполняет в X для персоны. Авторы найденных постов оцениваются как лиды.

Атрибуты

  • objectstring
    Всегда search_query.
  • querystring
    Поисковый запрос в том виде, в каком вы ввели бы его в X.
  • persona_idstring
    Персона, для которой он находит лидов.
  • statsobject
    Результаты источника на текущий момент.
  • first_found_atstring или null
    Когда он нашёл первого лида, 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"
}

Список поисков по ключевым словам

GET/v1/personas/:persona_id/search_queriesПраво readMCPlist_persona_items

Возвращает поиски по ключевым словам персоны, у каждого число найденных, оценённых и горячих лидов.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Возвращает

Список объектов поиска по ключевым словам.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
GET/v1/personas/:persona_id/search_queries
curl \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/search_queries \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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
}

Добавление поисков по ключевым словам

POST/v1/personas/:persona_id/search_queriesПраво writeMCPedit_persona_items

Добавляет персоне поиски по ключевым словам. Gemlead ищет в X посты по ним и оценивает их авторов.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Параметры тела

  • queriesмассив stringsОбязательно
    От 1 до 50 поисков по ключевым словам за раз, всего до 500 на персону. Каждый в виде запроса, как вы ввели бы его в X, от 2 до 200 символов.

Возвращает

Поиски по ключевым словам персоны, список объектов поиска по ключевым словам.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
  • Отсутствует обязательный параметр. Название параметра указано в param.
  • API не принимает значение параметра. Название параметра указано в param.
  • У персоны уже есть такой поиск по ключевым словам.
  • У персоны стало бы больше 500 поисков.
POST/v1/personas/:persona_id/search_queries
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"]
  }'
Ответ200
{
  "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
}

Удаление поисков по ключевым словам

POST/v1/personas/:persona_id/search_queries/removeПраво writeMCPedit_persona_items

Удаляет поиски по ключевым словам у персоны. Найденные ими лиды остаются.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Параметры тела

  • queriesмассив stringsОбязательно
    Поиски по ключевым словам для удаления, в том виде, в каком они указаны в списке.

Возвращает

Оставшиеся поиски по ключевым словам персоны, список объектов поиска по ключевым словам.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
  • Одного из них нет среди поисков по ключевым словам персоны.
  • Отсутствует обязательный параметр. Название параметра указано в param.
POST/v1/personas/:persona_id/search_queries/remove
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"]
  }'
Ответ200
{
  "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
}

Лиды поиска по ключевым словам

GET/v1/personas/:persona_id/search_queries/leadsПраво readMCPlist_item_leads

Возвращает лидов, найденных одним поиском по ключевым словам, сначала с лучшей оценкой.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Параметры запроса

  • querystringОбязательно
    Поиск по ключевым словам в том виде, в каком он указан в списке.
  • orderstring
    -score ставит первыми лучших лидов, score самых слабых. По умолчанию -score.
    -scorescore
  • limitinteger
    Сколько объектов вернуть, от 1 до 100. По умолчанию 25.
  • cursorstring
    next_cursor предыдущей страницы, чтобы получить следующую. См. раздел Пагинация.

Возвращает

Список объектов лида с total_count.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
  • Отсутствует обязательный параметр. Название параметра указано в param.
  • API не принимает значение параметра. Название параметра указано в param.
GET/v1/personas/:persona_id/search_queries/leads
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
Ответ200
{
  "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
}

Объект аккаунта конкурента

Аккаунт конкурента в X. Gemlead читает, кто комментирует его посты, и оценивает этих людей как лидов.

Атрибуты

  • objectstring
    Всегда competitor_account.
  • usernamestring
    Имя пользователя в X, без @.
  • persona_idstring
    Персона, для которой он находит лидов.
  • statsobject
    Результаты источника на текущий момент.
  • first_found_atstring или null
    Когда он нашёл первого лида, 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"
}

Список аккаунтов конкурентов

GET/v1/personas/:persona_id/competitor_accountsПраво readMCPlist_persona_items

Возвращает аккаунты конкурентов персоны, у каждого число найденных, оценённых и горячих лидов.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Возвращает

Список объектов аккаунта конкурента.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
GET/v1/personas/:persona_id/competitor_accounts
curl \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/competitor_accounts \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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
}

Добавление аккаунтов конкурентов

POST/v1/personas/:persona_id/competitor_accountsПраво writeMCPedit_persona_items

Добавляет персоне аккаунты конкурентов. Gemlead читает, кто комментирует их посты, и оценивает этих людей.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Параметры тела

  • usernamesмассив stringsОбязательно
    От 1 до 50 аккаунтов конкурентов за раз, всего до 100 на персону. Каждый в виде имени пользователя в X, с @ или без.

Возвращает

Аккаунты конкурентов персоны, список объектов аккаунта конкурента.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
  • Отсутствует обязательный параметр. Название параметра указано в param.
  • API не принимает значение параметра. Название параметра указано в param.
  • У персоны уже есть этот аккаунт конкурента.
  • У персоны стало бы больше 100 аккаунтов конкурентов.
POST/v1/personas/:persona_id/competitor_accounts
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"]
  }'
Ответ200
{
  "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
}

Удаление аккаунтов конкурентов

POST/v1/personas/:persona_id/competitor_accounts/removeПраво writeMCPedit_persona_items

Удаляет аккаунты конкурентов у персоны. Найденные ими лиды остаются.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Параметры тела

  • usernamesмассив stringsОбязательно
    Аккаунты конкурентов для удаления, в том виде, в каком они указаны в списке.

Возвращает

Оставшиеся аккаунты конкурентов персоны, список объектов аккаунта конкурента.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
  • Одного из них нет среди аккаунтов конкурентов персоны.
  • Отсутствует обязательный параметр. Название параметра указано в param.
POST/v1/personas/:persona_id/competitor_accounts/remove
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"]
  }'
Ответ200
{
  "object": "list",
  "data": [],
  "has_more": false,
  "next_cursor": null
}

Лиды аккаунта конкурента

GET/v1/personas/:persona_id/competitor_accounts/leadsПраво readMCPlist_item_leads

Возвращает лидов, найденных одним аккаунтом конкурента, сначала с лучшей оценкой.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Параметры запроса

  • usernamestringОбязательно
    Имя пользователя конкурента в X, в том виде, в каком оно указано в списке.
  • orderstring
    -score ставит первыми лучших лидов, score самых слабых. По умолчанию -score.
    -scorescore
  • limitinteger
    Сколько объектов вернуть, от 1 до 100. По умолчанию 25.
  • cursorstring
    next_cursor предыдущей страницы, чтобы получить следующую. См. раздел Пагинация.

Возвращает

Список объектов лида с total_count.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
  • Отсутствует обязательный параметр. Название параметра указано в param.
  • API не принимает значение параметра. Название параметра указано в param.
GET/v1/personas/:persona_id/competitor_accounts/leads
curl -G \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/competitor_accounts/leads \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -d username=whop \
  -d limit=10
Ответ200
{
  "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
}

Объект предложенного источника

Аккаунт X, который ИИ выбрал как источник для персоны, с объяснением, почему и как его читать.

Атрибуты

  • objectstring
    Всегда source_suggestion.
  • profileobject
    Его профиль X, как в объекте профиля X.
  • methodstring
    Что в нём читать.
    followingcompetitor_followers
  • reasonstring или null
    Почему ИИ его выбрал.
  • seed_adviceobject или null
    Проверка аккаунта самим Gemlead.
Объект предложенного источника
{
  "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"
  }
}

Предложение источников

GET/v1/personas/:persona_id/source_suggestionsПраво readMCPsuggest_sources

Просит ИИ подобрать аккаунты X для добавления в источники, исходя из описания, ключевых слов и конкурентов персоны.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Возвращает

Список объектов предложенного источника.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
  • X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
GET/v1/personas/:persona_id/source_suggestions
curl \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/source_suggestions \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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
}

Объект профиля X

Аккаунт X, прочитанный в реальном времени через вашу сессию X, до того как вы добавите его как источник или конкурента.

Атрибуты

  • objectstring
    Всегда x_profile.
  • x_user_idstring
    Числовой ID аккаунта X в виде строки.
  • usernamestring
    Имя пользователя в X, без @.
  • namestring
    Отображаемое имя.
  • biostring
    Био профиля.
  • followers_countinteger
    Подписчики в X.
  • following_countinteger
    Подписки в X.
  • locationstring
    Местоположение, указанное в профиле.
  • websitestring
    Сайт, указанный в профиле.
  • profile_image_urlstring
    URL фото профиля.
  • verifiedboolean
    Есть ли у аккаунта значок верификации.
  • urlstring
    URL профиля в X.
  • can_dmboolean или null
    Может ли ваш аккаунт написать ему в DM, если X это сообщает.
  • joined_atstring или null
    Когда аккаунт был создан в X, ISO 8601.
  • seed_adviceobject
    Только с параметром persona. Насколько хорошим источником он будет, отдельно для каждого способа чтения.
Объект профиля X
{
  "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"
}

Поиск профиля X

GET/v1/x_profiles/:usernameПраво readMCPlookup_x_profile

Читает профиль X в реальном времени через вашу сессию X. С persona также показывает, насколько хорошим источником аккаунт будет для неё.

Параметры пути

  • usernamestringОбязательно
    Имя пользователя в X, с @ или без.

Параметры запроса

  • personastring
    ID персоны, чтобы получить для неё seed_advice.

Возвращает

Объект профиля X.

Ошибки

  • В X нет доступного профиля с таким именем пользователя.
  • Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
  • X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
GET/v1/x_profiles/:username
curl -G https://gemlead.ai/api/v1/x_profiles/pickswithmike \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -d persona=lvWBPnytpS
Ответ200
{
  "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"
    }
  }
}