100 free credits. No credit card required.Start building
Logo
Prism logo
100 free credits. No credit card required

Prism Creator Card API

Returns one profile card per platform for a single handle: followers, verified status, bio, and ids, with null on platforms where the handle does not exist.

GET /v1/prism/creator-card

Last updated October 2026Maintained by the SocialCrawl team

When to use the Prism Creator Card API

Use it to look up the same handle everywhere at once; handle-audit adds scoring and collection estimates, this just returns the profiles.

From the API reference

Looks up a single handle across multiple platforms in parallel and returns one unified author card per platform (followers, verified flag, bio, ids) with null for the platforms the handle isn't found on, plus combined follower totals and an any-verified flag. The default set is TikTok, Instagram, YouTube, and Twitter; Threads, Bluesky, and Truth Social can be added via platforms. A handle existing on only some platforms is a successful, complete answer (the nulls are the product); only an all-platform miss refunds. Flat 5 credits for up to 4 platforms, +1 credit per extra platform. legs[] reports each platform leg's status, cost, and latency. A handle existing on a platform does not mean it is the same creator there: send verify=true to get an identity verdict per platform (same, possible, different) with the evidence, at the same price.

Searching 69 platforms in parallel

·TikTok logoTikTok·Instagram logoInstagram·YouTube logoYouTube·Facebook logoFacebook·X logoX·LinkedIn logoLinkedIn·Reddit logoReddit·Threads logoThreads·Pinterest logoPinterest·Twitch logoTwitch·Truth Social logoTruth Social·Snapchat logoSnapchat·Kick logoKick·Bluesky logoBluesky·Kwai logoKwai·Rumble logoRumble·Spotify logoSpotify·Apple Music logoApple Music·TikTok Shop logoTikTok Shop·Amazon Shop logoAmazon Shop·Google Shopping logoGoogle Shopping·Trustpilot logoTrustpilot·TripAdvisor logoTripAdvisor·Yelp logoYelp·Linktree logoLinktree·Komi logoKomi·Pillar logoPillar·lnk.bio logolnk.bio·Facebook Ads logoFacebook Ads·Google Ads logoGoogle Ads·LinkedIn Ads logoLinkedIn Ads·Google Search logoGoogle Search·Google News logoGoogle News·Finance logoFinance·Polymarket logoPolymarket·Tavily logoTavily·Hacker News logoHacker News·GitHub logoGitHub·Perplexity logoPerplexity·Naver logoNaver·Utility logoUtility·Universal Search logoUniversal Search
·TikTok logoTikTok·Instagram logoInstagram·YouTube logoYouTube·Facebook logoFacebook·X logoX·LinkedIn logoLinkedIn·Reddit logoReddit·Threads logoThreads·Pinterest logoPinterest·Twitch logoTwitch·Truth Social logoTruth Social·Snapchat logoSnapchat·Kick logoKick·Bluesky logoBluesky·Kwai logoKwai·Rumble logoRumble·Spotify logoSpotify·Apple Music logoApple Music·TikTok Shop logoTikTok Shop·Amazon Shop logoAmazon Shop·Google Shopping logoGoogle Shopping·Trustpilot logoTrustpilot·TripAdvisor logoTripAdvisor·Yelp logoYelp·Linktree logoLinktree·Komi logoKomi·Pillar logoPillar·lnk.bio logolnk.bio·Facebook Ads logoFacebook Ads·Google Ads logoGoogle Ads·LinkedIn Ads logoLinkedIn Ads·Google Search logoGoogle Search·Google News logoGoogle News·Finance logoFinance·Polymarket logoPolymarket·Tavily logoTavily·Hacker News logoHacker News·GitHub logoGitHub·Perplexity logoPerplexity·Naver logoNaver·Utility logoUtility·Universal Search logoUniversal Search
·TikTok logoTikTok·Instagram logoInstagram·YouTube logoYouTube·Facebook logoFacebook·X logoX·LinkedIn logoLinkedIn·Reddit logoReddit·Threads logoThreads·Pinterest logoPinterest·Twitch logoTwitch·Truth Social logoTruth Social·Snapchat logoSnapchat·Kick logoKick·Bluesky logoBluesky·Kwai logoKwai·Rumble logoRumble·Spotify logoSpotify·Apple Music logoApple Music·TikTok Shop logoTikTok Shop·Amazon Shop logoAmazon Shop·Google Shopping logoGoogle Shopping·Trustpilot logoTrustpilot·TripAdvisor logoTripAdvisor·Yelp logoYelp·Linktree logoLinktree·Komi logoKomi·Pillar logoPillar·lnk.bio logolnk.bio·Facebook Ads logoFacebook Ads·Google Ads logoGoogle Ads·LinkedIn Ads logoLinkedIn Ads·Google Search logoGoogle Search·Google News logoGoogle News·Finance logoFinance·Polymarket logoPolymarket·Tavily logoTavily·Hacker News logoHacker News·GitHub logoGitHub·Perplexity logoPerplexity·Naver logoNaver·Utility logoUtility·Universal Search logoUniversal Search
·TikTok logoTikTok·Instagram logoInstagram·YouTube logoYouTube·Facebook logoFacebook·X logoX·LinkedIn logoLinkedIn·Reddit logoReddit·Threads logoThreads·Pinterest logoPinterest·Twitch logoTwitch·Truth Social logoTruth Social·Snapchat logoSnapchat·Kick logoKick·Bluesky logoBluesky·Kwai logoKwai·Rumble logoRumble·Spotify logoSpotify·Apple Music logoApple Music·TikTok Shop logoTikTok Shop·Amazon Shop logoAmazon Shop·Google Shopping logoGoogle Shopping·Trustpilot logoTrustpilot·TripAdvisor logoTripAdvisor·Yelp logoYelp·Linktree logoLinktree·Komi logoKomi·Pillar logoPillar·lnk.bio logolnk.bio·Facebook Ads logoFacebook Ads·Google Ads logoGoogle Ads·LinkedIn Ads logoLinkedIn Ads·Google Search logoGoogle Search·Google News logoGoogle News·Finance logoFinance·Polymarket logoPolymarket·Tavily logoTavily·Hacker News logoHacker News·GitHub logoGitHub·Perplexity logoPerplexity·Naver logoNaver·Utility logoUtility·Universal Search logoUniversal Search
Prism API

What can you do with the Creator Card API?

The Creator Card endpoint gives you structured Prism data with computed fields in a single request. No scraping infrastructure to build or maintain.

Example Request

# GET /v1/prism/creator-card: Metered: holds 5 credits per call up front and refunds what the call does not use. Cache hits are free and failed calls are refunded.
# Check the price first for 0 credits: add dry_run=1 to the query. Nothing is fetched or charged.
# --max-time 60: the API's own time limit for this endpoint.
# --retry 3: retries timeouts, 429 and 5xx, honoring Retry-After.
# -o response.json keeps only the final attempt's body.
# One Idempotency-Key per request, reused on every retry, so a retried call is never charged twice.
IDEMPOTENCY_KEY=$(od -An -N16 -tx1 /dev/urandom | tr -d ' \n')
curl -sS --max-time 60 --retry 3 -o response.json \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: $IDEMPOTENCY_KEY" \
  "https://www.socialcrawl.dev/v1/prism/creator-card?handle=mrbeast&platforms=tiktok%2Cinstagram%2Cyoutube%2Ctwitter" && cat response.json
# GET /v1/prism/creator-card: Metered: holds 5 credits per call up front and refunds what the call does not use. Cache hits are free and failed calls are refunded.
# Check the price first for 0 credits: add dry_run=1 to the query. Nothing is fetched or charged.
import os
import random
import time
import uuid

import requests

API_KEY = os.environ.get("SOCIALCRAWL_API_KEY", "YOUR_API_KEY")
TIMEOUT_S = 60  # the API's own time limit for this endpoint.
MAX_RETRIES = 3
URL = "https://www.socialcrawl.dev/v1/prism/creator-card"


def backoff(attempt):
    # Exponential backoff with jitter: about 1 s, 2 s, then 4 s.
    return 2 ** attempt * (0.5 + random.random() / 2)


def socialcrawl(params):
    # One Idempotency-Key per request, reused on every retry, so a retried call is never charged twice.
    idempotency_key = str(uuid.uuid4())
    for attempt in range(MAX_RETRIES + 1):
        try:
            res = requests.get(
                URL,
                params=params,
                headers={"x-api-key": API_KEY, "Idempotency-Key": idempotency_key},
                timeout=TIMEOUT_S,
            )
            body = res.json()
        except (requests.RequestException, ValueError):
            # A timeout, a dropped connection or a non-JSON gateway page: retry with the same key.
            if attempt == MAX_RETRIES:
                raise
            time.sleep(backoff(attempt))
            continue
        if body["success"]:
            return body
        error = body["error"]
        # Branch on error["type"], never on the message text.
        if error["type"] == "RESOURCE_NOT_FOUND":
            return None  # refunded: nothing to read
        retry_after = res.headers.get("Retry-After")
        # SERVICE_UNAVAILABLE without Retry-After is a withdrawn endpoint: permanent.
        permanent = error["type"] == "SERVICE_UNAVAILABLE" and retry_after is None
        if not error.get("retryable") or permanent or attempt == MAX_RETRIES:
            raise RuntimeError(f"{error['type']}: {error['message']} (request_id {body['request_id']})")
        # Retry-After (seconds) wins; otherwise back off.
        time.sleep(float(retry_after) if retry_after else backoff(attempt))


params = {
    "handle": "mrbeast",
    "platforms": "tiktok,instagram,youtube,twitter",
}
body = socialcrawl(params)
if body is not None:
    print(body["data"])
// GET /v1/prism/creator-card: Metered: holds 5 credits per call up front and refunds what the call does not use. Cache hits are free and failed calls are refunded.
// Check the price first for 0 credits: add dry_run=1 to the query. Nothing is fetched or charged.
const API_KEY = process.env.SOCIALCRAWL_API_KEY ?? "YOUR_API_KEY";
const TIMEOUT_MS = 60_000; // the API's own time limit for this endpoint.
const MAX_RETRIES = 3;

type Page = { next_cursor: string | null; has_more: boolean };
type SocialCrawlResponse =
  | { success: true; data: any; pagination?: Page; credits_used: number; request_id: string }
  | { success: false; error: { type: string; message: string; retryable: boolean }; request_id: string };

const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));
// Exponential backoff with jitter: about 1 s, 2 s, then 4 s.
const backoffMs = (attempt: number) => 2 ** attempt * 1000 * (0.5 + Math.random() / 2);

async function socialcrawl(url: URL) {
  // One Idempotency-Key per request, reused on every retry, so a retried call is never charged twice.
  const idempotencyKey = crypto.randomUUID();
  for (let attempt = 0; ; attempt++) {
    let res: Response;
    let body: SocialCrawlResponse;
    try {
      res = await fetch(url, {
        headers: {
          "x-api-key": API_KEY,
          "Idempotency-Key": idempotencyKey,
        },
        signal: AbortSignal.timeout(TIMEOUT_MS),
      });
      body = (await res.json()) as SocialCrawlResponse;
    } catch (error) {
      // A timeout, a dropped connection or a non-JSON gateway page: retry with the same key.
      if (attempt >= MAX_RETRIES) throw error;
      await sleep(backoffMs(attempt));
      continue;
    }
    if (body.success) return body;
    // Branch on error.type, never on the message text.
    if (body.error.type === "RESOURCE_NOT_FOUND") return null; // refunded: nothing to read
    const retryAfter = res.headers.get("Retry-After");
    // SERVICE_UNAVAILABLE without Retry-After is a withdrawn endpoint: permanent.
    const permanent = body.error.type === "SERVICE_UNAVAILABLE" && retryAfter === null;
    if (!body.error.retryable || permanent || attempt >= MAX_RETRIES) {
      throw new Error(`${body.error.type}: ${body.error.message} (request_id ${body.request_id})`);
    }
    // Retry-After (seconds) wins; otherwise back off.
    await sleep(retryAfter ? Number(retryAfter) * 1000 : backoffMs(attempt));
  }
}

const url = new URL("https://www.socialcrawl.dev/v1/prism/creator-card");
url.searchParams.set("handle", "mrbeast");
url.searchParams.set("platforms", "tiktok,instagram,youtube,twitter");

const body = await socialcrawl(url);
if (body) console.log(body.data);

Parameters

ParameterRequiredDescription
handleYesThe handle to look up across every requested platform (a single leading @ is stripped).
platformsNoCSV subset of tiktok,instagram,youtube,twitter,threads,bluesky,truthsocial (default the first four). Unknown platforms are ignored.
includeNoCSV subset of cards,totals to trim the payload (cards is always returned).
verifyNoSend `true` to add an `identity` block that says whether each found profile is the same person or organisation as the anchor profile, not only that the handle exists there. Each platform gets a verdict with `level` (`same`, `possible`, `different`, or `uncertain` when the answer is not confident), a `score`, a `confidence` and the `evidence` behind it (`cross_link`, `bio_consistent`, `fan_or_parody`, `website_match`). A `null` verdict means that profile was not judged, not that it is different. `identity.verified_on` lists the anchor plus every `same` platform. Public profile text only, no image comparison. Same price; adds well under a second.
anchorNoWith `verify=true`, the platform whose profile you already trust; every other found profile is compared against it. Omit it and the anchor is the platform-verified profile with the largest audience. If the chosen platform has no card in the response the anchor is picked automatically and `_warnings` says so. (tiktok | instagram | youtube | twitter | threads | bluesky | truthsocial)
Example Response

What does the Prism Creator Card API return?

Every response follows one unified schema. Here is a real, unmodified response body, so you can see the exact fields you get back before spending a credit.

Example response
{
  "success": true,
  "platform": "prism",
  "endpoint": "/v1/prism/creator-card",
  "data": {
    "cards": {
      "tiktok": {
        "id": "6614519312189947909",
        "username": "mrbeast",
        "display_name": "MrBeast",
        "avatar_url": "https://p16-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/1e2348ca19d394037718e3b1d3fc2958~tplv-tiktokx-cropcenter:1080:1080.webp?dr=10399&refresh_token=edf3920c&x-expires=1791126000&x-signature=v05PO7QEgiKkepmwILijyLseNak%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=2472a6c6&idc=no1a",
        "bio": "Checkout My New Book!👇",
        "verified": true,
        "followers": 142664217,
        "following": 355,
        "posts_count": 481,
        "likes_count": 1505785882,
        "url": "https://www.tiktok.com/@mrbeast",
        "private": false,
        "joined_at": null,
        "ext": {
          "business_category": "Public Figure",
          "bio_link": "http://themostdangerousgames.com"
        },
        "location": "GB"
      },
      "instagram": {
        "id": "2278169415",
        "username": "mrbeast",
        "display_name": "MrBeast",
        "avatar_url": "https://scontent.cdninstagram.com/v/t51.2885-19/31077884_211593632905749_1394765701385814016_n.jpg?_nc_cat=1&ccb=7-5&_nc_sid=bf7eb4&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLnd3dy41MDAuQzMifQ%3D%3D&_nc_ohc=xQAB0Z8ixJwQ7kNvwGFp1dT&_nc_oc=Adp4BqQ82VQw7WUlJ8akMBoDn_20uKts_pjowYdn67ruVrpJWU0pu8fHnDAc4G6l4js&_nc_zt=24&_nc_ht=scontent.cdninstagram.com&_nc_ss=78a8c&oh=00_AQNlmF0xvN241xl_vRSTnjzxoDmefHkU9zDCwECxykaf0g&oe=6AC5BBCF",
        "bio": "Watch my latest video!! 👇",
        "verified": true,
        "followers": 90044454,
        "following": 1008,
        "posts_count": 515,
        "likes_count": null,
        "url": "https://youtu.be/v9QtM6qnG50?is=3OMbMzzRVSGxQTcy",
        "private": false,
        "joined_at": null,
        "last_post_at": "2026-09-24T16:00:27.000Z",
        "ext": {
          "business_category": null
        }
      },
      "youtube": {
        "id": "UCX6OQ3DkcsbYNE6H8uQQuVA",
        "username": "@mrbeast",
        "display_name": "MrBeast",
        "avatar_url": "https://yt3.ggpht.com/nxYrc_1_2f77DoBadyxMTmv7ZpRZapHR5jbuYe7PlPd5cIRJxtNNEYyOC0ZsxaDyJJzXrnJiuDE=s800-c-k-c0x00ffffff-no-rj",
        "bio": "SUBSCRIBE FOR A COOKIE!\nNew MrBeast or MrBeast Gaming video every single Saturday at noon eastern time!\nAccomplishments:\n- Raised $20,000,000 To Plant 20,000,000 Trees\n- Removed 30,000,000 pounds of trash from the ocean\n- Helped 2,000 people walk again\n- Helped 1,000 blind people see\n- Helped 1,000 deaf people hear\n- Built wells in Africa\n- Built and gave away 100 houses\n- Adopted every dog in a shelter (twice)\n- Given millions to charity\n- Started my own snack company Feastables\n- Started my own software company Viewstats\n- Gave away a private island (twice)\n- Gave away 1 million meals\n- I counted to 100k\n- Ran a marathon in the world's largest shoes\n- Survived 50 hours in Antarctica\n- Recreated Squid Game in real life\n- Created the largest competition show with 1000 people (Beast Games)\n- Gave $5,000,000 to one person\n- Raised $40,000,000 To Bring Clean Water To Millions Of People\n- Granted 100+ Dream Wishes for Kids Fighting Cancer\n- Gave Away Another $5,000,000 On Beast Games S2\n",
        "verified": null,
        "followers": 519000000,
        "following": null,
        "posts_count": 1004,
        "likes_count": null,
        "url": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA",
        "private": null,
        "joined_at": "2012-02-20",
        "ext": {
          "country": "US",
          "public_email": null,
          "followers_approximate": true,
          "keywords": "mrbeast6000 beast mrbeast Mr.Beast mr",
          "total_views": 141401695682,
          "joined_at_timestamp": "2012-02-20T00:43:50Z",
          "topicCategories": [
            "https://en.wikipedia.org/wiki/Entertainment",
            "https://en.wikipedia.org/wiki/Lifestyle_(sociology)"
          ],
          "bannerExternalUrl": "https://yt3.googleusercontent.com/mHMO_eEMp0dPvh0ADwXhPXNYb_GnjSVsLI8biqF1CpxT8OPl7izhNQsDPD3JHhd5y5Mg9GrP",
          "madeForKids": false,
          "hiddenSubscriberCount": false,
          "related_playlists": {
            "likes": "",
            "uploads": "UUX6OQ3DkcsbYNE6H8uQQuVA"
          },
          "topic_ids": [
            "/m/02jjt",
            "/m/019_rr"
          ],
          "unsubscribed_trailer": "v9QtM6qnG50"
        }
      },
      "twitter": {
        "id": "2455740283",
        "username": "MrBeast",
        "display_name": "MrBeast",
        "avatar_url": "https://pbs.twimg.com/profile_images/2008838029776158720/oDvxIJ1X_normal.jpg",
        "bio": "I want to make the world a better place",
        "verified": true,
        "followers": 35000475,
        "following": 2312,
        "posts_count": 8027,
        "likes_count": null,
        "url": "https://x.com/MrBeast",
        "location": "Follow me for a cookie",
        "private": false,
        "joined_at": "2014-04-21",
        "ext": {
          "cover_url": "https://pbs.twimg.com/profile_banners/2455740283/1767807630",
          "bio_link": "https://linktr.ee/beastgames"
        }
      }
    },
    "found_on": [
      "tiktok",
      "instagram"
    ],
    "totals": {
      "platforms_found": 4,
      "combined_followers": 786709146,
      "any_verified": true
    },
    "legs": [
      {
        "endpoint": "/v1/tiktok/profile",
        "status": 200,
        "credits_used": 1,
        "latency_ms": 1662,
        "error": null
      },
      {
        "endpoint": "/v1/instagram/profile",
        "status": 200,
        "credits_used": 1,
        "latency_ms": 3178,
        "error": null
      }
    ]
  },
  "credits_used": 5,
  "request_id": "req_example000000",
  "cached": false,
  "credits_remaining": 9999,
  "source": "captured",
  "captured_at": "2026-10-02T15:38:53.908Z",
  "redacted": true
}

Live sample illustrating the unified response shape. Field values reflect the record you query.

API Details

How does the Prism Creator Card API work?

Send a GET request with your API key and get back clean, structured JSON in our unified schema. Supported computed fields are populated when the source provides the required inputs.

Method

GET

Response

JSON

Why SocialCrawl

Why use SocialCrawl for Prism Creator Card data?

We handle the complexity of Prism data extraction so you can focus on building. Unified schema, AI enrichment, and zero platform logic in your code.

Developer First

How do you scrape social media data in seconds?

The fastest social media scraping API for developers. Scrape profiles, posts, comments, and analytics from 69 platforms covering 10B+ monthly active users.

One schema, every platform

Query 69 platforms with identical response structures. Write your integration once.

Computed fields, not just scraped

When an endpoint supports these metrics and the source provides the required inputs, the normalized record includes engagement_rate, estimated_reach, content_category, and language. Ready to use.

See your data before you code

Visual Data Explorer. Paste any URL, get rich result cards, sortable tables, CSV export.

import requests

response = requests.get(
    'https://www.socialcrawl.dev/v1/tiktok/profile',
    params={'handle': 'charlidamelio'},
    headers={'x-api-key': 'sc_YOUR_API_KEY'}
)
data = response.json()
[ .JSON ]
{
  "success": true,
  "platform": "tiktok",
  "data": {
    "author": {
      "username": "charlidamelio",
      "followers": 152400000
    },
    "engagement": {
      "likes": 12400000000,
      "engagement_rate": 0.087
    },
    "metadata": {
      "language": "en",
      "content_category": "lifestyle"
    }
  }
}
+ 69 platforms
FAQ

Have a question? We got answers

Find answers to frequently asked questions about SocialCrawl's API, pricing, and capabilities.

Contact us
How do I look up a creator across multiple platforms at once?
Send GET /v1/prism/creator-card?handle=<handle> with your API key. The creator profile API queries that handle on TikTok, Instagram, YouTube, and X in parallel and returns one unified author card per platform, with null where the handle isn't found.
What if the handle only exists on some platforms?
That's the normal case and a complete answer, not an error. Platforms where the handle isn't found come back as null and are listed in found_on, and you still get cards plus combined follower totals for the platforms that resolved. You are not charged extra for the misses.
Which platforms can the creator profile API check?
TikTok, Instagram, YouTube, and X by default, plus Threads, Bluesky, and Truth Social on request through the platforms parameter, up to eight. An unknown platform name is dropped with a warning rather than failing the whole call.
How is the creator profile API priced?
It is a flat 5 credits for up to four platforms, plus 1 credit per extra platform. A handle that exists on only two of four platforms still costs 5 credits because the nulls are the answer; if the handle is found on zero platforms, the call is refunded in full.
What's in each author card?
Each card carries the follower count, a verified flag, display name, bio, and the platform's own ids, on one shared schema. A totals block adds the combined follower count across the platforms where the handle was found and an any-verified flag.

Ask AI about SocialCrawl

Guides that use this endpoint

Each guide walks through one job from start to finish, with the calls in order and what one run costs.

Ready to scrape Prism Creator Card data?

Get your API key and start pulling Prism data in under 60 seconds.

Start for free

🤖 AI agent or LLM? Read this page as markdown