Developer docs

    Creator Search API Documentation & Hosted MCP Server

    Janney AI's 180M+ creator database as a REST API and a hosted, drop-in MCP server. Search creators, find lookalikes, extract verified emails, and pull audience demographics — from your own code or straight inside an AI agent.

    Included with Growth ($299/month) and Custom plans. Create and manage keys in the app.

    What it is

    A REST API and MCP server for programmatic creator discovery across TikTok, Instagram, and YouTube.

    What it returns

    Creator profiles, lookalikes, verified emails, audience demographics, and remaining API credits.

    Who should use it

    Teams building agency dashboards, CRMs, data pipelines, marketplaces, or AI agents around creator search.

    Authentication

    All requests go to the base URL https://backend.janney.ai and carry your API key. Send it as an x-api-key header, or as Authorization: Bearer <key>. Create a key on the API & MCP page in the app.

    two ways to authenticate
    # header
    curl https://backend.janney.ai/api/v1/credits -H "x-api-key: YOUR_API_KEY"
    
    # bearer
    curl https://backend.janney.ai/api/v1/credits -H "Authorization: Bearer YOUR_API_KEY"

    Requests without a valid key return 401. Accounts without the required plan return 403.

    Endpoints

    POST/api/v1/similar
    0.01 credit / creator returned

    Find similar creators

    Return lookalike creators similar to a given one.

    Body parameters

    FieldTypeRequiredDescription
    platformstringrequiredinstagram | tiktok | youtube.
    usernamestringrequiredThe seed creator's handle.
    limitintegeroptional1–100, default 20.
    filtersobjectoptionalOptional structured filters to narrow the lookalikes.

    Response

    FieldTypeDescription
    resultsCreator[]Similar creators (Creator object). Emails not included.
    countintegerNumber returned.
    has_morebooleanWhether another page of lookalikes exists.

    Request

    curl
    curl -X POST https://backend.janney.ai/api/v1/similar \
      -H "x-api-key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"platform": "instagram", "username": "timmyunleashed", "limit": 10}'

    Example response

    200 OK
    {
      "count": 10,
      "has_more": true,
      "results": [
        {
          "platform": "tiktok",
          "username": "flytyfitness",
          "display_name": "Flyty Fitness",
          "followers": 52140,
          "engagement_rate": 3.8,
          "verified": false,
          "country": "US",
          "gender": "male",
          "niche_tags": ["fitness", "wellness"],
          "profile_url": "https://www.tiktok.com/@flytyfitness",
          "bio": "Fitness creator and coach."
        }
      ]
    }
    POST/api/v1/enrich/email
    1 credit / email found (misses are free)

    Extract verified emails

    Authoritative email extraction — bio de-obfuscation + external links + contact page + linktree. Charges only for emails actually found.

    Body parameters

    FieldTypeRequiredDescription
    creators{platform, username}[]requiredUp to 200 creators to extract emails for. (Or send platform + username for a single creator.)

    Response

    FieldTypeDescription
    resultsobject[]Per creator: { platform, username, email (string | null), confidence (string | null) }.
    foundintegerNumber of creators for which an email was found.
    requestedintegerNumber of creators requested.

    Request

    curl
    curl -X POST https://backend.janney.ai/api/v1/enrich/email \
      -H "x-api-key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"creators": [{"platform": "instagram", "username": "timmyunleashed"}]}'

    Example response

    200 OK
    {
      "requested": 1,
      "found": 1,
      "results": [
        { "platform": "instagram", "username": "timmyunleashed", "email": "tim@example.com", "confidence": "high" }
      ]
    }
    POST/api/v1/audience
    1 credit / creator

    Audience demographics

    Audience breakdowns for a creator — age, gender, top countries and languages. Charged only on a hit; a creator with no audience data returns { error, platform, username } and costs nothing. These figures are estimates modelled from a sample of the creator's followers, not a census — age is the roughest of them and is best read as directional, while gender and country are firmer.

    Body parameters

    FieldTypeRequiredDescription
    platformstringrequiredinstagram | tiktok | youtube.
    usernamestringrequiredThe creator's handle.
    refreshbooleanoptionalForce a fresh compute instead of a cached result.

    Response

    FieldTypeDescription
    platformstringEchoes the platform you asked about.
    usernamestringEchoes the creator you asked about.
    audience_ageobjectPercent by bracket: under_25, 25_34, 35_plus.
    audience_genderobjectPercent split, e.g. { female: 86, male: 14 }.
    audience_geo_countriesobject[][{ code, pct }] — top countries by share.
    audience_languagesobject[][{ lang, pct, region }] — top languages.

    Request

    curl
    curl -X POST https://backend.janney.ai/api/v1/audience \
      -H "x-api-key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"platform": "instagram", "username": "timmyunleashed"}'

    Example response

    200 OK
    {
      "platform": "instagram",
      "username": "timmyunleashed",
      "audience_gender": { "female": 86, "male": 14 },
      "audience_age": { "under_25": 18, "25_34": 45, "35_plus": 36 },
      "audience_geo_countries": [
        { "code": "US", "pct": 59.0 },
        { "code": "PH", "pct": 6.9 },
        { "code": "GB", "pct": 4.9 }
      ],
      "audience_languages": [
        { "lang": "en", "pct": 100.0, "region": "US/UK/Global" }
      ]
    }
    GET/api/v1/credits
    free

    Remaining credits

    Check how many API credits are left on your account. Also available at /api/v1/me. Free — never charged.

    Response

    FieldTypeDescription
    available_creditnumberCredits remaining this billing period.
    used_creditnumberCredits used.
    ledger_balancenumberGranted balance.

    Request

    curl
    curl https://backend.janney.ai/api/v1/credits \
      -H "x-api-key: YOUR_API_KEY"

    Example response

    200 OK
    { "available_credit": 882.9, "used_credit": 197.1, "ledger_balance": 1080 }

    The Creator object

    Returned by /search and /similar. Both endpoints return the same 11-field Creator object: username, platform, display_name, followers, engagement_rate, verified, country, niche_tags, profile_url, bio, and gender. Contact emails are intentionally excluded; use /enrich/email.

    FieldTypeDescription
    platformstringinstagram | tiktok | youtube.
    usernamestringThe creator's handle.
    display_namestringDisplay name.
    followersintegerFollower count.
    engagement_ratenumberEngagement rate (%).
    verifiedbooleanPlatform-verified badge.
    countrystringISO-2 country code, where known.
    genderstringInferred gender, where known.
    niche_tagsstring[]Niche / category tags.
    profile_urlstringCanonical link to the creator's profile.
    biostringProfile bio text.

    MCP server

    The same data as a hosted, standards-compliant MCP server — drop it into any MCP client and your AI agent can call it directly. One config works everywhere; swap YOUR_API_KEY for a key from the app.

    mcp config · json
    {
      "mcpServers": {
        "janney": {
          "command": "npx",
          "args": [
            "mcp-remote",
            "https://backend.janney.ai/mcp",
            "--header",
            "Authorization: Bearer YOUR_API_KEY"
          ]
        }
      }
    }
    Tools:search_creatorsfind_similar_creatorsenrich_emailbulk_enrich_startbulk_enrich_statuscreator_audienceget_remaining_credits

    Credits & rate limits

    Your plan's credits are shared across the app, REST API, and MCP, not separate quotas. In the SaaS app, search, pagination, similar creators, and profile viewing are free; credits are spent only when a contact address is successfully found, or on metered API/MCP actions. API search costs 0.01 credit per creator returned; verified email extraction costs 1 credit per email found. Growth includes 900 monthly credits, enough for up to 90,000 API search results or 900 verified emails before renewal. Check the balance anytime with GET /api/v1/credits (or the get_remaining_credits MCP tool).

    Cost per call

    • /search · /similar0.01 / creator
    • /enrich/email1 / email found
    • /audience1 / creator
    • /credits · /mefree

    Rate limits (per key)

    • search / similar120 / min
    • email / audience30 / min
    • credits / me300 / min

    Over the limit returns 429 with a Retry-After header.

    If the shared credit balance is exhausted, API requests return 402 and in-app credit-gated actions return 401 until the plan renews or you upgrade/contact sales. Credits roll over while a subscription remains active and expire when it ends. Self-serve one-time credit packs are discontinued.

    Related developer and campaign resources

    Use these pages to connect the API documentation with Janney AI's marketplace listings, SaaS workflow, Growth developer access, and free creator search positioning.

    Get started

    The API and hosted MCP are included with Growth ($299/month) and Custom plans. Subscribe, then create your key on the API & MCP page in the app.