Integrate once. Every platform returns the same shape.

Every platform speaks a different language. SocialQuery normalizes 68+ platforms and 646+ endpoints into one canonical schema, validated on every response.

Before

TikTok aweme_info.statistics.digg_count

Instagram edge_media_preview_like.count

Reddit data.score

Post

{
  "type": "post",
  "metrics": { "likes": 12840, "comments": 312 },
  "computed": { "engagement_rate": 0.043 }
}

The problem

Why is social data so hard to work with?

A developer who wants engagement across platforms normally writes separate integrations and types for each source. The raw data is useful, but the shape is not stable.

TikTok: aweme_info.statistics.digg_count
Instagram: edge_media_preview_like.count
Reddit: data.score

How it works

How does SocialQuery normalize every platform into one shape?

Every raw payload runs through the same five-stage pipeline before it reaches you. Nothing undeclared slips through.

1

Strip the envelope

Unwrap raw provider payloads and normalize lists into a common items and cursor shape.

2

Field map

Rename source fields into the canonical object without carrying vendor noise forward.

3

Enrich hook

Attach deterministic computed values such as language, category, reach, and engagement.

4

Normalize + null backstop

Return stable keys even when a platform omits a field.

5

Validate

Gate the response through the same schema the docs describe.

Zod gate

The same canonical schema validates the response and drives examples, endpoint pages, and generated documentation.

Computed intelligence

What does SocialQuery add on top of the raw data?

Responses carry deterministic computed fields that make results comparable across platforms without forcing your app to recalculate them.

computed block
"computed": {
  "engagement_rate": 0.043,
  "language": "en",
  "content_category": "entertainment",
  "estimated_reach": 128400
}

The proprietary edge

How do you keep the schema and docs from drifting apart?

One canonical schema is the source of truth for endpoint validation, docs, examples, and generated API references.

One source of truth

Canonical object definitions power endpoint validation and docs.

Mechanical cascade

Rename a field once and the schema, examples, OpenAPI output, and docs update together.

Wire validation

Responses are checked before your client sees them, with null-safe fallbacks for missing fields.

One schema, every object

Does the unified schema cover more than social posts?

The same normalization discipline extends across every object SocialQuery returns, from posts and authors to apps, products, places, quotes, and jobs.

PostObject
CommentObject
AuthorObject
ProductObject
ReviewObject
SellerObject
PlaceObject
AppObject
NewsArticleObject
QuoteObject
JobObject

The shape of it

One schema, holding across everything we return.

68+

platforms

646+

validated endpoints

11

canonical objects

1

schema

One key, one schema

SocialQuery versus wiring up scrapers yourself.

CompareSocialQueryScrapers yourself
IntegrationOne key, one schemaN vendors, N schemas
Field namingOne canonical shape across platformsDifferent JSON per platform
PaginationOne cursor modelDifferent pagination behavior everywhere
ValidationChecked before the response leavesYour app discovers mismatches later

Frequently asked questions

Can't find what you're looking for? Talk to our team.

What is a unified social media API schema?

It is one canonical response shape that every endpoint conforms to, so your app reads the same fields across platforms.

Is the normalization done with AI?

No. Field mapping, validation, and computed blocks are deterministic so responses stay predictable.

How do you prevent schema and docs drift?

The schema, endpoint registry, docs, OpenAPI output, and page examples all come from the same catalog.

Which object types are covered?

Posts, comments, authors, apps, products, reviews, sellers, places, news articles, quotes, jobs, and search results share the same discipline.

What happens when a platform changes its API?

Provider-specific changes are absorbed before the response leaves SocialQuery, so the public contract stays stable.

Can I trust the counts and computed fields?

Computed fields are deterministic and returned with source context, so teams can audit how a response was produced.

One schema, every platform

Start free.

Get an API key and see the same validated shape come back from every platform you call.

Copy code
curl https://socialquery.dev/v1/tiktok/profile \
  -G --data-urlencode "handle=nasa" \
  -H "x-api-key: $SQ_KEY"