SocialCrawl

SocialCrawl API Documentation

One API key and one JSON shape for public data from every platform SocialCrawl covers. Your first call is on this page and takes under a second.

SocialCrawl returns public data from 65 platforms through 575 endpoints. Every request uses one x-api-key header, and every response comes back in the same JSON shape, so one parser covers every platform.

You do not need an account to try it. Press Run below. If you are signed in, your own API key is already filled into every sample on this page.

Make your first call

All platforms
curl "https://www.socialcrawl.dev/v1/tiktok/profile?handle=charlidamelio" \  -H "x-api-key: YOUR_API_KEY"

Replace YOUR_API_KEY with your key, or press Run to try it with a shared demo key (5 runs a day).

Three things just happened. You sent one GET request with one header. The platform answered in well under a second on a normal connection. The call cost 1 credit, and your balance came back in the same response, so you always know where you stand.

Same call, different platform

Change one path segment and the same request reads a different platform. Same header, same handle parameter, same response shape.

cURL
curl "https://www.socialcrawl.dev/v1/tiktok/profile?handle=nasa" \
  -H "x-api-key: YOUR_API_KEY"

curl "https://www.socialcrawl.dev/v1/instagram/profile?handle=nasa" \
  -H "x-api-key: YOUR_API_KEY"

curl "https://www.socialcrawl.dev/v1/youtube/channel?handle=nasa" \
  -H "x-api-key: YOUR_API_KEY"

curl "https://www.socialcrawl.dev/v1/twitter/profile?handle=nasa" \
  -H "x-api-key: YOUR_API_KEY"

You do not learn four APIs. Field coverage differs where the platforms differ, and each endpoint's exact response shape is one free call away (see below).

Read the response

Every response, success or failure, has the same top level. The platform data is always under data.

Response
{
  "success": true,
  "platform": "tiktok",
  "endpoint": "/v1/tiktok/profile",
  "data": {
    "author": { "username": "nasa", "followers": 3900000 }
  },
  "credits_used": 1,
  "credits_remaining": 99,
  "request_id": "req-abc123",
  "cached": false
}
FieldWhat to do with it
successBranch on this first. When it is false, error.type says what went wrong.
dataThe platform payload. Profile calls return author, list calls return items.
credits_usedThe net charge for this call. Cache hits and failures are 0.
credits_remainingYour balance after this call. No separate balance call needed.
request_idQuote it to support and we can see exactly what happened.

List endpoints add a pagination block. Send next_cursor back as cursor and stop when has_more is false. That rule is the same on every list endpoint. See Pagination and Response schema.

When an endpoint supports a computed field and the required source inputs are present, the response also carries it under computed, for example engagement_rate. A field that cannot be computed is null, never a guess. See Computed fields.

Explore the catalogue for free

Every /v1/utility/* endpoint and /v1/credits/balance cost 0 credits. They answer in about 150 ms and are generated from the endpoint registry at request time, so they cannot drift from what is callable. Use them instead of reading 575 reference pages.

cURL
# Everything you need for a first call, in one JSON document
curl "https://www.socialcrawl.dev/v1/utility/quickstart?platform=instagram" \
  -H "x-api-key: YOUR_API_KEY"

# Search every endpoint by keyword. Try "comments", "reviews", "transcript"
curl "https://www.socialcrawl.dev/v1/utility/endpoints?search=comments" \
  -H "x-api-key: YOUR_API_KEY"

# The full guide for one endpoint: parameters, cost, paging, an example call
curl "https://www.socialcrawl.dev/v1/utility/endpoint?id=youtube/channel" \
  -H "x-api-key: YOUR_API_KEY"

# Your balance
curl "https://www.socialcrawl.dev/v1/credits/balance" \
  -H "x-api-key: YOUR_API_KEY"

Hand it to your AI agent

If Claude, Cursor, ChatGPT, or another agent writes your code, give it the same catalogue. The MCP server and the Agent Skill both call it before every request, so the agent never guesses a path or a parameter. The Using an AI agent page has a prompt you can paste as it is.

cURL
# Claude Code (hosted MCP, nothing to install)
claude mcp add --transport http socialcrawl https://mcp.socialcrawl.dev/mcp \
  --header "Authorization: Bearer YOUR_API_KEY"

# Any MCP client, local package
npx -y socialcrawl-mcp

Every docs page is also plain Markdown: append .md to its URL. The machine index is at /llms.txt, the per-platform context is at /v1/utility/llms?platform=tiktok, and the full spec is at /v1/openapi.json. See AI agents and Skills and MCP.

What a call costs

New accounts start with 100 credits and no card. Most endpoints cost 1 credit. Cache hits cost 0. Failed calls and empty results are refunded automatically. Invalid parameters are rejected before billing.

TierCostEndpointsTypical use
Standard1 credit258Profiles, posts, comments, basic search
Advanced5 credits166Trending feeds, ad libraries, audience analytics
Premium10 credits19Video transcripts, LinkedIn people/job search

A small set of endpoints has a flat or metered price instead of a tier. The exact figure for every endpoint is in Endpoint pricing and in the credits field of /v1/utility/endpoints. Rate limits are 600 requests per minute and 50 in flight per key. See Credits and Rate limits.

When something goes wrong

Errors use the same JSON shape with success: false. Branch on error.type, never on the message text. Every error carries a doc_url that links to the fix.

error.typeHTTPMeaning and fix
MISSING_API_KEY401No x-api-key header reached us. Add it, and check that a proxy is not stripping it.
INVALID_API_KEY401The key is malformed, revoked, or unknown. Copy it again from the dashboard.
INVALID_REQUEST400A required parameter is missing or invalid. Never billed. The message names the field.
INSUFFICIENT_CREDITS402Your balance is below the endpoint's cost. Top up, or wait for a cache hit.
ENDPOINT_NOT_FOUND404SocialCrawl does not have that platform or resource. Search the catalogue.
RESOURCE_NOT_FOUND404The platform does not have that item. This is a real answer, and it is refunded.
CONCURRENCY_LIMIT429More than 50 requests in flight on one key. Honor Retry-After, then continue.

ENDPOINT_NOT_FOUND means we do not have it. RESOURCE_NOT_FOUND means the platform does not have it. The full table, with which codes are safe to retry, is in Errors.

Next

You made a call. The Quickstart walks you through your first 100 calls: your own key, several platforms in one script, one search across every platform, and the free catalogue from your terminal.

Which platforms does SocialCrawl support?

Frequently asked questions

How do I authenticate with the SocialCrawl API?

Pass your API key in the x-api-key header on every request. Sign up at socialcrawl.dev, open Dashboard → API Keys, and create a key. There is no OAuth flow, token exchange, or session to manage.

Which platforms does the SocialCrawl API support?

SocialCrawl covers 65 platforms through 575 endpoints (including TikTok, Instagram, YouTube, Facebook, Twitter/X, LinkedIn, Reddit, Threads, Pinterest, and Twitch) plus research sources like GitHub, Hacker News, Tavily, and Perplexity.

What does the SocialCrawl response envelope look like?

Every response (success or error) uses the same JSON envelope: success, platform, endpoint, data, credits_used, credits_remaining, request_id, and cached. List responses return data as { items, next_cursor }, and computed fields like engagement_rate arrive pre-calculated on every author and post.

How do I use SocialCrawl with Claude, Cursor, or other MCP clients?

Install the MCP server with npx -y socialcrawl-mcp. In Claude Code, run: claude mcp add --scope user socialcrawl -- npx -y socialcrawl-mcp. In Claude Desktop, Cursor, VS Code, or Windsurf, add socialcrawl-mcp to your mcpServers config with your SOCIALCRAWL_API_KEY.

How many free credits do I get when I sign up?

Every new account receives 100 welcome credits automatically on signup. Standard endpoints cost 1 credit per request, so that is up to 100 free requests to evaluate the API, and cache hits cost 0 credits.