100 free credits - no credit card required

X Scraper API

X API: 15 endpoints for public X data through the SocialQuery response format. One x-api-key header, generated docs, and normalized JSON alongside 67 other platforms.

TL;DR

The X API by SocialQuery returns public X data as structured JSON through 15 endpoints with one shared response envelope.

Live demo

Try the X API in your browser

Type a public X handle, URL, or query, run a real request, and inspect the JSON SocialQuery returns.

Try the X Profile API

See real data before writing a single line

GET/v1/twitter/profile
Endpoints

What data does the X API return?

Every X endpoint returns structured JSON with request metadata, credit usage, cache information, and normalized fields.

/ Twitter X (Twitter) Profilestandard

Twitter profile. Availability depends on the configured provider route.

/ Twitter X (Twitter) User Tweetsstandard

Twitter user tweets. Availability depends on the configured provider route.

/ Twitter X (Twitter) Tweetstandard

Twitter tweet. Availability depends on the configured provider route.

/ Twitter X (Twitter) Communitystandard

Twitter community. Availability depends on the configured provider route.

/ Twitter X (Twitter) Community Tweetsstandard

Twitter community tweets. Availability depends on the configured provider route.

/ Twitter X (Twitter) Tweet Transcriptpremium

Twitter tweet transcript. Availability depends on the configured provider route.

/ Twitter X (Twitter) Ai Searchadvanced

Twitter ai search. Availability depends on the configured provider route.

/ Twitter X (Twitter) Search Tweetsstandard

Twitter search tweets. Availability depends on the configured provider route.

/ Twitter X (Twitter) Tweet Repliesstandard

Twitter tweet replies. Availability depends on the configured provider route.

/ Twitter X (Twitter) User Mediastandard

Twitter user media. Availability depends on the configured provider route.

/ Twitter X (Twitter) User Followersstandard

Twitter user followers. Availability depends on the configured provider route.

/ Twitter X (Twitter) User Followingstandard

Twitter user following. Availability depends on the configured provider route.

/ Twitter X (Twitter) Tweet Retweetersstandard

Twitter tweet retweeters. Availability depends on the configured provider route.

/ Twitter X (Twitter) Search Usersstandard

Twitter search users. Availability depends on the configured provider route.

/ Twitter X (Twitter) Profile Fulladvanced

Twitter profile full. Availability depends on the configured provider route.

Developer First

How do you scrape X data in seconds?

Scrape public X data without maintaining source-specific routing, parsing, retries, or response adapters.

One schema, every platform

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

Computed fields, not just scraped

Every response includes engagement, content, cache, and request metadata ready for dashboards.

See your data before you code

Run browser demos, copy request snippets, and inspect JSON before moving into production.

import requests

response = requests.get(
    'https://socialquery.dev/v1/tiktok/profile',
    params={'handle': 'charlidamelio'},
    headers={'x-api-key': 'sq_YOUR_API_KEY'}
)
data = response.json()
const response = await fetch(
  'https://socialquery.dev/v1/tiktok/profile?handle=charlidamelio',
  {
    headers: {
      'x-api-key': 'sq_YOUR_API_KEY'
    }
  }
);

const data = await response.json();
curl 'https://socialquery.dev/v1/tiktok/profile?handle=charlidamelio' \
  -H 'x-api-key: sq_YOUR_API_KEY'
import requests

response = requests.get(
    'https://socialquery.dev/v1/instagram/profile',
    params={'handle': 'mkbhd'},
    headers={'x-api-key': 'sq_YOUR_API_KEY'}
)
data = response.json()
const response = await fetch(
  'https://socialquery.dev/v1/instagram/profile?handle=mkbhd',
  {
    headers: {
      'x-api-key': 'sq_YOUR_API_KEY'
    }
  }
);

const data = await response.json();
curl 'https://socialquery.dev/v1/instagram/profile?handle=mkbhd' \
  -H 'x-api-key: sq_YOUR_API_KEY'
import requests

response = requests.get(
    'https://socialquery.dev/v1/youtube/channel',
    params={'handle': '@mkbhd'},
    headers={'x-api-key': 'sq_YOUR_API_KEY'}
)
data = response.json()
const response = await fetch(
  'https://socialquery.dev/v1/youtube/channel?handle=@mkbhd',
  {
    headers: {
      'x-api-key': 'sq_YOUR_API_KEY'
    }
  }
);

const data = await response.json();
curl 'https://socialquery.dev/v1/youtube/channel?handle=@mkbhd' \
  -H 'x-api-key: sq_YOUR_API_KEY'
import requests

response = requests.get(
    'https://socialquery.dev/v1/reddit/subreddit',
    params={'name': 'saas'},
    headers={'x-api-key': 'sq_YOUR_API_KEY'}
)
data = response.json()
const response = await fetch(
  'https://socialquery.dev/v1/reddit/subreddit?name=saas',
  {
    headers: {
      'x-api-key': 'sq_YOUR_API_KEY'
    }
  }
);

const data = await response.json();
curl 'https://socialquery.dev/v1/reddit/subreddit?name=saas' \
  -H 'x-api-key: sq_YOUR_API_KEY'
[ .JSON ]
{
  "success": true,
  "platform": "tiktok",
  "data": {
    "author": {
      "username": "charlidamelio",
      "followers": 152400000
    },
    "engagement": {
      "likes": 12400000000,
      "engagement_rate": 0.087
    },
    "metadata": {
      "language": "en",
      "content_category": "lifestyle"
    }
  }
}
{
  "success": true,
  "platform": "instagram",
  "data": {
    "author": {
      "username": "mkbhd",
      "followers": 5240000
    },
    "engagement": {
      "likes": 178000,
      "engagement_rate": 0.034
    },
    "metadata": {
      "language": "en",
      "content_category": "tech"
    }
  }
}
{
  "success": true,
  "platform": "youtube",
  "data": {
    "channel": {
      "handle": "@mkbhd",
      "subscribers": 19400000
    },
    "engagement": {
      "avg_views": 4200000,
      "engagement_rate": 0.062
    },
    "metadata": {
      "language": "en",
      "content_category": "tech"
    }
  }
}
{
  "success": true,
  "platform": "reddit",
  "data": {
    "subreddit": {
      "name": "saas",
      "subscribers": 412000
    },
    "engagement": {
      "posts_24h": 47,
      "top_post_upvotes": 1240
    },
    "metadata": {
      "language": "en",
      "content_category": "business"
    }
  }
}
+ 68 platforms
One API, 68 platforms

How does SocialQuery handle 68 different platforms?

X has its own URLs, naming, pagination, freshness, and response quirks. SocialQuery turns those details into one API contract.

One schema, every platform

Write once, query them all.

68 platforms return different JSON shapes. SocialQuery normalizes each response into one consistent structure.

success: true
platform: unified
credits_used: 1
Metrics ready before you parse

Fields ready for products.

Every response carries request ids, cache state, credit usage, computed metadata, and source-specific fields in one envelope.

success: true
platform: unified
credits_used: 1
One key, every platform

One auth, every source.

Keep a single server-side key and route public-data workflows across social, reviews, search, commerce, and developer platforms.

success: true
platform: unified
credits_used: 1
Pagination handled

Batch, enrich, and scale.

Endpoint docs expose cost, cache, params, and pagination behavior before a request runs.

success: true
platform: unified
credits_used: 1
X API15 endpoints supported
View docs
GET/v1/twitter/profile?handle=elonmusk
curl -X GET 'https://socialquery.dev/v1/twitter/profile?handle=elonmusk' \
  -H "x-api-key: $SOCIALQUERY_API_KEY"
- · idle
// Edit the params above and hit "Try it" to run a live request against the API
Compare

How does SocialQuery compare to official X API for X data?

SocialQuery is built for teams that need X data through one key, one schema, generated docs, and cross-platform workflows.

FeatureSocialQueryOfficial API
AuthenticationOne x-api-key headerOAuth, app scopes, review, and rate tiers
Setup requiredSign up and call an endpointDeveloper app registration and product approval
Data accessPublic X workflows, normalized fieldsPlatform-specific permitted endpoints
Response schemaUnified across platformsNative source-specific JSON
PricingPay per successful API callOften quota, review, or contract dependent
MaintenanceSchema docs update with API changesYour team owns adapters and normalization

How much does X scraping cost?

Most standard endpoints start at 1 credit per successful call. Endpoint pages list the exact credit cost, cache window, and parameters before you run a request.

Is X scraping legal?

Use public data, respect source rules, and design retention and downstream processing around your jurisdiction and customer-approved use case.

FAQ

Have a question? We got answers

Find answers to commonly asked questions about this SocialQuery API, pricing, and production use.

How do I scrape X data with an API?
Create a key, choose one of the X endpoint pages, pass the required parameters, and read the normalized SocialQuery response envelope.
What does the SocialQuery X API cover?
This page exposes 15 generated endpoint pages for public X workflows.
How much does the X API cost?
Each endpoint card and API reference operation lists the live-call credit cost and cache window before you run a request.
Is scraping X data legal?
Legality depends on source rules, jurisdiction, and use case. Build around public data, responsible retention, and documented customer authorization.
Can I use the X API in production?
Provider coverage is rolling out during preview. Test your required endpoint before integrating it into a production workflow.
What is the best X scraper API?
For teams that need normalized public data across many platforms, SocialQuery gives one API contract instead of separate source-specific scrapers.
Live data & statistics

Live data & statistics

Public X API stats and cost details are generated from the current SocialQuery catalog.

15

X endpoints

1

starting credits

30 minutes

sample cache

Ready to start scraping X data?

Get your API key and start with 100 free credits. Try live endpoints in under 60 seconds.

Dashboard