Why SocialRouter
One endpoint per service
POST /v1/extract/{platform}/{service}. The contract is the service, not the vendor, so switching sources changes nothing in your code.Automatic failover
When an offer errors, rate-limits or stalls, SocialRouter retries the next one implementing the same service, inside the same call.
Pay per record
No subscriptions. Every offer’s price per record is public, and you are billed for the one that succeeded.
How it works
1
Get your API key
Sign up and create an API key from the dashboard.
2
Pick a service
Browse
GET /v1/services. It lists every callable platform/service, the input it takes, the options it accepts, and the offers behind it with their prices and batch caps.3
POST to its endpoint
POST /v1/extract/{platform}/{service} with urls (or queries). Leave provider out and the router routes.4
Read normalized data
Same response shape whichever offer served it.
served_by names the offer that answered.Supported platforms
Service names are idiomatic to their platform. A subreddit is not a “group”, a YouTube channel is not a “profile”, and a published name is frozen. Coverage is derived from the live registry, so query
GET /v1/services for the authoritative list, or browse it at socialrouter.io/services. A machine-readable spec is served at /v1/openapi.json, one path per service.Next steps
Quickstart
Make your first call in under 2 minutes.
API reference
Full endpoint documentation with interactive playground.