API-Referenz

Quellen

Quellen bestimmen, wo Gemlead nach den Leads einer Persona sucht. Eine Quelle ist ein X-Konto, dessen gefolgte Konten oder Follower gelesen werden. Eine Keyword-Suche findet die Autoren passender Beiträge. Ein Konkurrenzkonto bringt die Leute, die seine Beiträge kommentieren.

Jede zeigt ihre gefundenen, bewerteten und heißen Leads, so behältst du, was funktioniert. Schlage vorher ein X-Profil nach, um zu sehen, wie gut es sich als Quelle eignet.

Das Quellenobjekt

Ein X-Konto, dessen Netzwerk Gemlead liest, um die Leads einer Persona zu finden. Gemlead liest die Konten, denen es folgt, seine Follower oder beides.

Attribute

  • idstring
    Eindeutige Kennung der Quelle.
  • objectstring
    Immer source.
  • persona_idstring
    Die Persona, für die Leads gefunden werden.
  • methodstring
    competitor_followers, wenn nur die Follower des Kontos gelesen werden, sonst following.
    followingcompetitor_followers
  • profileobject
    Das X-Profil der Quelle.
  • statusstring
    Der Stand des Einlesens.
    pendingscrapingscoringdonefailedskipped
  • pausedboolean
    Ob du sie pausiert hast.
  • errorstring oder null
    Warum das Lesen fehlgeschlagen ist, falls ja.
  • read_followingboolean
    Ob die Konten gelesen werden, denen das Konto folgt.
  • read_followersboolean
    Ob die Follower des Kontos gelesen werden.
  • score_selfboolean
    Ob das Konto der Quelle selbst auch als Lead bewertet wird.
  • self_lead_idstring oder null
    Der Lead zum Konto der Quelle selbst, sobald er bewertet ist.
  • origin_lead_idstring oder null
    Der Lead, aus dem sie entstand, wenn du sie mit Lead zur Quelle machen erstellt hast.
  • statsobject
    Was sie bisher gebracht hat.
  • last_activity_atstring oder null
    Wann sie zuletzt einen Lead gebracht hat, ISO 8601.
  • last_scraped_atstring oder null
    Wann sie zuletzt gelesen wurde, ISO 8601.
  • created_atstring
    Wann sie hinzugefügt wurde, ISO 8601.
Das Quellenobjekt
{
  "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"
}

Quellen auflisten

GET/v1/personas/:persona_id/sourcesScope readMCPlist_sources

Gibt die Quellen der Persona mit ihren Statistiken zurück.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.

Query-Parameter

  • pausedboolean
    true nur für pausierte Quellen, false für laufende.
  • limitinteger
    Wie viele Objekte zurückgegeben werden, von 1 bis 100. Standardmäßig 25.
  • cursorstring
    Der next_cursor der vorherigen Seite, um die nächste Seite abzurufen. Siehe Paginierung.

Rückgabe

Eine Liste von Quellenobjekten.

Fehler

  • Keine Persona mit dieser ID im Konto des Schlüssels.
  • Ein Parameter hat einen Wert, den die API nicht akzeptiert. param nennt ihn.
GET/v1/personas/:persona_id/sources
curl https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Antwort200
{
  "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
}

Quelle abrufen

GET/v1/personas/:persona_id/sources/:source_idScope readMCPlist_sources

Gibt eine Quelle mit ihren Statistiken zurück.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.
  • source_idstringErforderlich
    Die ID der Quelle.

Rückgabe

Ein Quellenobjekt.

Fehler

GET/v1/personas/:persona_id/sources/:source_id
curl \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/sources/s2HvN8qLtB \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Antwort200
{
  "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"
}

Quelle hinzufügen

POST/v1/personas/:persona_id/sourcesScope writeMCPadd_source

Fügt ein X-Konto als Quelle hinzu. Am besten sind Leute, die deinen Käufern ähneln, denn sie folgen vielen ihresgleichen. Die Follower eines Konkurrenten interessieren sich schon für Produkte wie deins.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.

Body-Parameter

  • usernamestringErforderlich
    Ein X-Nutzername, 1 bis 15 Buchstaben, Ziffern oder _, mit oder ohne @.
  • read_followingboolean
    Die Konten lesen, denen es folgt, also Leute, die ihm ähneln. Standardmäßig true.
  • read_followersboolean
    Seine Follower lesen, zum Beispiel das Publikum eines Konkurrenten. Standardmäßig false.
  • score_selfboolean
    Das Konto der Quelle selbst auch als Lead bewerten. Standardmäßig true.

Rückgabe

Das neue Quellenobjekt.

Fehler

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
  }'
Antwort200
{
  "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"
}

Quelle ändern

PATCH/v1/personas/:persona_id/sources/:source_idScope writeMCPupdate_source

Ändert, was Gemlead bei der Quelle liest.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.
  • source_idstringErforderlich
    Die ID der Quelle.

Body-Parameter

  • read_followingboolean
    Die Konten lesen, denen es folgt, also Leute, die ihm ähneln.
  • read_followersboolean
    Seine Follower lesen, zum Beispiel das Publikum eines Konkurrenten.
  • score_selfboolean
    Das Konto der Quelle selbst auch als Lead bewerten.

Rückgabe

Das aktualisierte Quellenobjekt.

Fehler

  • Keine Quelle mit dieser ID im Konto des Schlüssels.
  • Ein Parameter hat einen Wert, den die API nicht akzeptiert. param nennt ihn.
  • Der Body enthält ein Feld, das dieser Endpoint nicht akzeptiert.
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
  }'
Antwort200
{
  "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"
}

Quelle pausieren

POST/v1/personas/:persona_id/sources/:source_id/pauseScope writeMCPupdate_source

Liest die Quelle vorerst nicht mehr. Ihre Leads bleiben.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.
  • source_idstringErforderlich
    Die ID der Quelle.

Rückgabe

Das Quellenobjekt.

Fehler

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"
Antwort200
{
  "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"
}

Quelle fortsetzen

POST/v1/personas/:persona_id/sources/:source_id/resumeScope writeMCPupdate_source

Nimmt das Lesen einer pausierten Quelle wieder auf.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.
  • source_idstringErforderlich
    Die ID der Quelle.

Rückgabe

Das Quellenobjekt.

Fehler

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"
Antwort200
{
  "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"
}

Quelle überspringen

POST/v1/personas/:persona_id/sources/:source_id/skipScope writeMCPupdate_source

Stoppt eine Quelle endgültig und markiert sie als erledigt, wenn sie die falschen Leute bringt.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.
  • source_idstringErforderlich
    Die ID der Quelle.

Rückgabe

Das Quellenobjekt.

Fehler

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"
Antwort200
{
  "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"
}

Quelle aktualisieren

POST/v1/personas/:persona_id/sources/:source_id/refreshScope writeMCPupdate_source

Liest das X-Profil der Quelle neu ein, für einen neuen Namen, ein neues Foto oder eine neue Followerzahl.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.
  • source_idstringErforderlich
    Die ID der Quelle.

Rückgabe

Das Quellenobjekt.

Fehler

  • Keine Quelle mit dieser ID im Konto des Schlüssels.
  • Die Sitzung des X-Kontos ist abgelaufen. Verbinde es in der App neu und versuche es dann noch einmal.
  • X oder ein Gemlead-Dienst hat nicht geantwortet. Nichts wurde geändert, versuche es in einer Minute erneut.
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"
Antwort200
{
  "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"
}

Quelle bewerten

POST/v1/personas/:persona_id/sources/:source_id/scoreScope writeMCPupdate_source

Bewertet das eigene X-Konto der Quelle als Lead der Persona. Kostet bis zu 2 Credits pro Lead: 1 für den ersten Durchgang, 1 weiterer für den Deep Score, wenn der Lead ihn besteht.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.
  • source_idstringErforderlich
    Die ID der Quelle.

Rückgabe

Das Quellenobjekt.

Fehler

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"
Antwort200
{
  "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"
}

Quelle löschen

DELETE/v1/personas/:persona_id/sources/:source_idScope writeMCPdelete_source

Entfernt eine Quelle und die von ihr gefundenen Leads, die keine Kampagne bearbeitet hat.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.
  • source_idstringErforderlich
    Die ID der Quelle.

Rückgabe

Ein Objekt mit der id der Quelle, dem Wert true in deleted und der Anzahl in deleted_leads.

Fehler

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"
Antwort200
{
  "id": "s2HvN8qLtB",
  "object": "source",
  "deleted": true,
  "deleted_leads": 972
}

Leads einer Quelle auflisten

GET/v1/personas/:persona_id/sources/:source_id/leadsScope readMCPlist_source_leads

Gibt die Leads zurück, die eine Quelle gefunden hat, mit dem besten Score zuerst.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.
  • source_idstringErforderlich
    Die ID der Quelle.

Query-Parameter

  • orderstring
    -score zeigt die besten Leads zuerst, score die schwächsten. Standardmäßig -score.
    -scorescore
  • limitinteger
    Wie viele Objekte zurückgegeben werden, von 1 bis 100. Standardmäßig 25.
  • cursorstring
    Der next_cursor der vorherigen Seite, um die nächste Seite abzurufen. Siehe Paginierung.

Rückgabe

Eine Liste von Lead-Objekten, mit total_count.

Fehler

  • Keine Quelle mit dieser ID im Konto des Schlüssels.
  • Ein Parameter hat einen Wert, den die API nicht akzeptiert. param nennt ihn.
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
Antwort200
{
  "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
}

Das Keyword-Suchobjekt

Eine Suche, die Gemlead für eine Persona auf X ausführt. Die Autoren der gefundenen Beiträge werden als Leads bewertet.

Attribute

  • objectstring
    Immer search_query.
  • querystring
    Die Suche, so wie du sie auf X eingeben würdest.
  • persona_idstring
    Die Persona, für die Leads gefunden werden.
  • statsobject
    Was sie bisher gebracht hat.
  • first_found_atstring oder null
    Wann der erste Lead gefunden wurde, ISO 8601.
Das Keyword-Suchobjekt
{
  "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"
}

Keyword-Suchen auflisten

GET/v1/personas/:persona_id/search_queriesScope readMCPlist_persona_items

Gibt die Keyword-Suchen der Persona zurück, jeweils mit ihren gefundenen, bewerteten und heißen Leads.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.

Rückgabe

Eine Liste von Keyword-Suchobjekten.

Fehler

GET/v1/personas/:persona_id/search_queries
curl \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/search_queries \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Antwort200
{
  "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
}

Keyword-Suchen hinzufügen

POST/v1/personas/:persona_id/search_queriesScope writeMCPedit_persona_items

Fügt einer Persona Keyword-Suchen hinzu. Gemlead sucht auf X nach passenden Beiträgen und bewertet ihre Autoren.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.

Body-Parameter

  • queriesArray von stringsErforderlich
    1 bis 50 Keyword-Suchen zum Hinzufügen, insgesamt 500 pro Persona. Jede so, wie du sie auf X eingeben würdest, 2 bis 200 Zeichen.

Rückgabe

Die Keyword-Suchen der Persona, eine Liste von Keyword-Suchobjekten.

Fehler

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"]
  }'
Antwort200
{
  "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
}

Keyword-Suchen entfernen

POST/v1/personas/:persona_id/search_queries/removeScope writeMCPedit_persona_items

Entfernt Keyword-Suchen aus einer Persona. Die gefundenen Leads bleiben.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.

Body-Parameter

  • queriesArray von stringsErforderlich
    Die zu entfernenden Keyword-Suchen, so wie sie aufgelistet sind.

Rückgabe

Die verbleibenden Keyword-Suchen der Persona, eine Liste von Keyword-Suchobjekten.

Fehler

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"]
  }'
Antwort200
{
  "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
}

Leads einer Keyword-Suche auflisten

GET/v1/personas/:persona_id/search_queries/leadsScope readMCPlist_item_leads

Gibt die Leads zurück, die eine Keyword-Suche gefunden hat, mit dem besten Score zuerst.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.

Query-Parameter

  • querystringErforderlich
    Die Keyword-Suche, so wie sie aufgelistet ist.
  • orderstring
    -score zeigt die besten Leads zuerst, score die schwächsten. Standardmäßig -score.
    -scorescore
  • limitinteger
    Wie viele Objekte zurückgegeben werden, von 1 bis 100. Standardmäßig 25.
  • cursorstring
    Der next_cursor der vorherigen Seite, um die nächste Seite abzurufen. Siehe Paginierung.

Rückgabe

Eine Liste von Lead-Objekten, mit total_count.

Fehler

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
Antwort200
{
  "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
}

Das Konkurrenzkonto-Objekt

Das X-Konto eines Konkurrenten. Gemlead liest, wer seine Beiträge kommentiert, und bewertet diese Leute als Leads.

Attribute

  • objectstring
    Immer competitor_account.
  • usernamestring
    Der X-Nutzername, ohne @.
  • persona_idstring
    Die Persona, für die Leads gefunden werden.
  • statsobject
    Was sie bisher gebracht hat.
  • first_found_atstring oder null
    Wann der erste Lead gefunden wurde, ISO 8601.
Das Konkurrenzkonto-Objekt
{
  "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"
}

Konkurrenzkonten auflisten

GET/v1/personas/:persona_id/competitor_accountsScope readMCPlist_persona_items

Gibt die Konkurrenzkonten der Persona zurück, jeweils mit ihren gefundenen, bewerteten und heißen Leads.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.

Rückgabe

Eine Liste von Konkurrenzkonto-Objekten.

Fehler

GET/v1/personas/:persona_id/competitor_accounts
curl \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/competitor_accounts \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Antwort200
{
  "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
}

Konkurrenzkonten hinzufügen

POST/v1/personas/:persona_id/competitor_accountsScope writeMCPedit_persona_items

Fügt einer Persona Konkurrenzkonten hinzu. Gemlead liest, wer ihre Beiträge kommentiert, und bewertet diese Leute.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.

Body-Parameter

  • usernamesArray von stringsErforderlich
    1 bis 50 Konkurrenzkonten zum Hinzufügen, insgesamt 100 pro Persona. Jedes ein X-Nutzername, mit oder ohne @.

Rückgabe

Die Konkurrenzkonten der Persona, eine Liste von Konkurrenzkonto-Objekten.

Fehler

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"]
  }'
Antwort200
{
  "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
}

Konkurrenzkonten entfernen

POST/v1/personas/:persona_id/competitor_accounts/removeScope writeMCPedit_persona_items

Entfernt Konkurrenzkonten aus einer Persona. Die gefundenen Leads bleiben.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.

Body-Parameter

  • usernamesArray von stringsErforderlich
    Die zu entfernenden Konkurrenzkonten, so wie sie aufgelistet sind.

Rückgabe

Die verbleibenden Konkurrenzkonten der Persona, eine Liste von Konkurrenzkonto-Objekten.

Fehler

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"]
  }'
Antwort200
{
  "object": "list",
  "data": [],
  "has_more": false,
  "next_cursor": null
}

Leads eines Konkurrenzkontos auflisten

GET/v1/personas/:persona_id/competitor_accounts/leadsScope readMCPlist_item_leads

Gibt die Leads zurück, die ein Konkurrenzkonto gebracht hat, mit dem besten Score zuerst.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.

Query-Parameter

  • usernamestringErforderlich
    Der X-Nutzername des Konkurrenten, so wie er aufgelistet ist.
  • orderstring
    -score zeigt die besten Leads zuerst, score die schwächsten. Standardmäßig -score.
    -scorescore
  • limitinteger
    Wie viele Objekte zurückgegeben werden, von 1 bis 100. Standardmäßig 25.
  • cursorstring
    Der next_cursor der vorherigen Seite, um die nächste Seite abzurufen. Siehe Paginierung.

Rückgabe

Eine Liste von Lead-Objekten, mit total_count.

Fehler

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
Antwort200
{
  "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
}

Das Vorschlagsobjekt

Ein X-Konto, das die KI als Quelle für eine Persona ausgewählt hat, mit Begründung und der Art, wie es gelesen werden soll.

Attribute

  • objectstring
    Immer source_suggestion.
  • profileobject
    Sein X-Profil, wie im X-Profil-Objekt.
  • methodstring
    Was davon gelesen werden soll.
    followingcompetitor_followers
  • reasonstring oder null
    Warum die KI es ausgewählt hat.
  • seed_adviceobject oder null
    Die eigene Prüfung des Kontos durch Gemlead.
Das Vorschlagsobjekt
{
  "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"
  }
}

Quellen vorschlagen lassen

GET/v1/personas/:persona_id/source_suggestionsScope readMCPsuggest_sources

Fragt die KI nach X-Konten, die du als Quellen hinzufügen kannst, ausgewählt anhand der Beschreibung, der Keywords und der Konkurrenten der Persona.

Pfadparameter

  • persona_idstringErforderlich
    Die ID der Persona.

Rückgabe

Eine Liste von Vorschlagsobjekten.

Fehler

  • Keine Persona mit dieser ID im Konto des Schlüssels.
  • X oder ein Gemlead-Dienst hat nicht geantwortet. Nichts wurde geändert, versuche es in einer Minute erneut.
GET/v1/personas/:persona_id/source_suggestions
curl \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/source_suggestions \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Antwort200
{
  "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
}

Das X-Profil-Objekt

Ein X-Konto, live mit deiner X-Sitzung gelesen, bevor du es als Quelle oder Konkurrenzkonto hinzufügst.

Attribute

  • objectstring
    Immer x_profile.
  • x_user_idstring
    Die numerische ID des X-Kontos, als String.
  • usernamestring
    Das X-Handle, ohne @.
  • namestring
    Der Anzeigename.
  • biostring
    Die Bio des Profils.
  • followers_countinteger
    Follower auf X.
  • following_countinteger
    Gefolgte Konten auf X.
  • locationstring
    Der Standort, der im Profil steht.
  • websitestring
    Die Website im Profil.
  • profile_image_urlstring
    Die URL des Profilbilds.
  • verifiedboolean
    Ob das Konto verifiziert ist.
  • urlstring
    Die URL des Profils auf X.
  • can_dmboolean oder null
    Ob dein Konto ihm eine DM schicken kann, sofern X das angibt.
  • joined_atstring oder null
    Wann das Konto auf X erstellt wurde, ISO 8601.
  • seed_adviceobject
    Nur mit dem Parameter persona. Wie gut es sich als Quelle eignet, einmal für jede Art, es auszulesen.
Das X-Profil-Objekt
{
  "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-Profil nachschlagen

GET/v1/x_profiles/:usernameScope readMCPlookup_x_profile

Liest ein X-Profil live mit deiner X-Sitzung. Mit persona zeigt es auch, wie gut sich das Konto als Quelle für diese Persona eignet.

Pfadparameter

  • usernamestringErforderlich
    Der X-Nutzername, mit oder ohne @.

Query-Parameter

  • personastring
    Eine Persona-ID, um seed_advice für sie zu bekommen.

Rückgabe

Ein X-Profil-Objekt.

Fehler

  • X hat unter diesem Nutzernamen kein lesbares Profil.
  • Die Sitzung des X-Kontos ist abgelaufen. Verbinde es in der App neu und versuche es dann noch einmal.
  • X oder ein Gemlead-Dienst hat nicht geantwortet. Nichts wurde geändert, versuche es in einer Minute erneut.
GET/v1/x_profiles/:username
curl -G https://gemlead.ai/api/v1/x_profiles/pickswithmike \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -d persona=lvWBPnytpS
Antwort200
{
  "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"
    }
  }
}