POST
/
v1
/
extract
curl -X POST https://api.socialrouter.io/v1/extract \
  -H "Authorization: Bearer sr_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.linkedin.com/in/satyanadella",
    "type": "profile.info"
  }'
{
  "id": "ext_a1b2c3d4",
  "status": "completed",
  "source": "linkedin",
  "type": "profile.info",
  "url": "https://www.linkedin.com/in/satyanadella",
  "provider": "apify",
  "credits_used": 0.0065,
  "data": [
    {
      "name": "Satya Nadella",
      "title": "Chairman and CEO at Microsoft",
      "company": "Microsoft",
      "location": "Redmond, Washington",
      "profile_url": "https://www.linkedin.com/in/satyanadella",
      "source": "linkedin",
      "extracted_at": "2026-04-10T12:00:00Z"
    }
  ],
  "pagination": {
    "total": 1,
    "returned": 1,
    "next_cursor": null
  },
  "created_at": "2026-04-10T12:00:00Z",
  "completed_at": "2026-04-10T12:00:01Z"
}
url
string
Single social media URL to extract from. Either url or urls is required. See supported platforms for the full list (LinkedIn, Instagram, X, Reddit, Facebook, TikTok, YouTube, Pinterest, Bluesky, Snapchat, Google Maps).
urls
string[]
Array of URLs for batch extraction. Either url or urls is required. Batch size is provider-dependent — non-batch providers process one URL per request.
model
string
Copy-paste-friendly service slug of the form <provider>/<platform>/<type> (e.g. apify/linkedin/post.info). Each row on the providers page exposes one — the slug fully specifies the routing target on its own, so you don’t need to send provider, platform, or type alongside it. If you do send them, the discrete fields take precedence.
type
string
The extraction type. Required unless model is provided. One of: post.likes, post.comments, post.info, profile.info, profile.posts, profile.reels, profile.followers, company.info, company.reviews, group.posts, job.listings, event.info, marketplace.listings, video.info, channel.info, place.info, place.reviews. Not every combination of platform × type is supported — query GET /v1/providers for live coverage.
platform
string
Explicit platform override. One of: linkedin, instagram, x, reddit, facebook, tiktok, youtube, pinterest, bluesky, snapchat, googlemaps. Use this when URL-based detection can’t disambiguate (e.g. query-based extractions). Implied by model if provided.
limit
number
default:"100"
Maximum number of records to return. Capped at 1000.
provider
string
Force a specific provider (e.g., apify, brightdata). If omitted, SocialRouter selects the cheapest available and falls over to the next provider on failure. Pinning a provider disables failover. Implied by model if provided.
curl -X POST https://api.socialrouter.io/v1/extract \
  -H "Authorization: Bearer sr_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.linkedin.com/in/satyanadella",
    "type": "profile.info"
  }'
{
  "id": "ext_a1b2c3d4",
  "status": "completed",
  "source": "linkedin",
  "type": "profile.info",
  "url": "https://www.linkedin.com/in/satyanadella",
  "provider": "apify",
  "credits_used": 0.0065,
  "data": [
    {
      "name": "Satya Nadella",
      "title": "Chairman and CEO at Microsoft",
      "company": "Microsoft",
      "location": "Redmond, Washington",
      "profile_url": "https://www.linkedin.com/in/satyanadella",
      "source": "linkedin",
      "extracted_at": "2026-04-10T12:00:00Z"
    }
  ],
  "pagination": {
    "total": 1,
    "returned": 1,
    "next_cursor": null
  },
  "created_at": "2026-04-10T12:00:00Z",
  "completed_at": "2026-04-10T12:00:01Z"
}