Catalogue
List sources
The data sources behind the offers, with coverage counts. No authentication required.
GET
/
v1
/
providers
curl https://api.socialrouter.io/v1/providers
const response = await fetch("https://api.socialrouter.io/v1/providers");
const { data } = await response.json();
import requests
response = requests.get("https://api.socialrouter.io/v1/providers")
sources = response.json()["data"]
const sources = await sr.listSources();
{
"data": [
{
"id": "apify",
"name": "Apify",
"description": "Versatile scraping platform with broad social media coverage.",
"status": "active",
"platforms": ["linkedin", "instagram", "reddit", "youtube", "googlemaps"],
"services_count": 31,
"offers_count": 37
},
{
"id": "brightdata",
"name": "Bright Data",
"description": "Enterprise-grade data collection with high volume capacity.",
"status": "active",
"platforms": ["linkedin", "instagram", "facebook", "tiktok", "x"],
"services_count": 14,
"offers_count": 14
}
]
}
This endpoint does not require authentication.
A source is the vendor behind a family of offers:
apify, brightdata. This is the light “who’s behind the data” view, with name, description, status, platforms covered, and how many services and offers it backs. All the detail (which offer serves what, at what price, with what cap) lives on GET /v1/services.
curl https://api.socialrouter.io/v1/providers
const response = await fetch("https://api.socialrouter.io/v1/providers");
const { data } = await response.json();
import requests
response = requests.get("https://api.socialrouter.io/v1/providers")
sources = response.json()["data"]
const sources = await sr.listSources();
{
"data": [
{
"id": "apify",
"name": "Apify",
"description": "Versatile scraping platform with broad social media coverage.",
"status": "active",
"platforms": ["linkedin", "instagram", "reddit", "youtube", "googlemaps"],
"services_count": 31,
"offers_count": 37
},
{
"id": "brightdata",
"name": "Bright Data",
"description": "Enterprise-grade data collection with high volume capacity.",
"status": "active",
"platforms": ["linkedin", "instagram", "facebook", "tiktok", "x"],
"services_count": 14,
"offers_count": 14
}
]
}
Response fields:
id: the source half of every offer id it backs (apify in apify/harshmaur).status: one of active, degraded, down, coming_soon.platforms: platforms with at least one live offer from this source.services_count / offers_count: how many distinct services it serves, and how many offers it backs (a source can implement one service more than once).⌘I
curl https://api.socialrouter.io/v1/providers
const response = await fetch("https://api.socialrouter.io/v1/providers");
const { data } = await response.json();
import requests
response = requests.get("https://api.socialrouter.io/v1/providers")
sources = response.json()["data"]
const sources = await sr.listSources();
{
"data": [
{
"id": "apify",
"name": "Apify",
"description": "Versatile scraping platform with broad social media coverage.",
"status": "active",
"platforms": ["linkedin", "instagram", "reddit", "youtube", "googlemaps"],
"services_count": 31,
"offers_count": 37
},
{
"id": "brightdata",
"name": "Bright Data",
"description": "Enterprise-grade data collection with high volume capacity.",
"status": "active",
"platforms": ["linkedin", "instagram", "facebook", "tiktok", "x"],
"services_count": 14,
"offers_count": 14
}
]
}