Social Intel API
Download datasets, access samples, and integrate social data into your workflow.
https://api.socialintel.ioQuickstart
Start downloading data in under 2 minutes.
Register & get your API key
Create a free account at socialintel.io/register. Your API key is shown in your dashboard.
export SOCIALINTEL_API_KEY="your_api_key_here"
Download a free sample
No auth needed for samples — try before you buy.
curl "https://api.socialintel.io/api/datasets/sample/reddit-discussions?format=csv" \ -o reddit-discussions-sample.csv
Download a full dataset (requires purchase)
curl "https://api.socialintel.io/api/datasets/download/reddit-discussions?format=csv" \ -H "X-API-Key: $SOCIALINTEL_API_KEY" \ -o reddit-discussions.csv
Python example
import requests
API_KEY = "your_api_key_here"
BASE_URL = "https://api.socialintel.io"
headers = {"X-API-Key": API_KEY}
# List all available datasets
catalog = requests.get(f"{BASE_URL}/api/datasets/catalog").json()
for dataset in catalog:
print(dataset["name"], "-", dataset["record_count"], "records")
# Download a dataset you've purchased
response = requests.get(
f"{BASE_URL}/api/datasets/download/reddit-discussions",
headers=headers,
params={"format": "csv"},
)
with open("reddit-discussions.csv", "wb") as f:
f.write(response.content)
print("Downloaded successfully")Authentication
Pass your API key in the X-API-Key header on all authenticated requests. Sample endpoints are public and require no authentication.
# Authenticated request curl -H "X-API-Key: your_api_key_here" \ "https://api.socialintel.io/api/datasets/download/tiktok-trending?format=csv" # Public request (no auth needed) curl "https://api.socialintel.io/api/datasets/sample/tiktok-trending?format=csv"
API Endpoints
/api/datasets/catalogReturns all available datasets with metadata.
Response
[
{
"id": 1,
"slug": "reddit-discussions",
"name": "Reddit Discussions Dataset",
"platform": "reddit",
"description": "Posts and comments across communities",
"record_count": 3600,
"price_monthly": 9,
"update_frequency": "daily",
"formats": ["csv", "json"],
"status": "active"
},
...
]/api/datasets/sample/{slug}Download a 100-row sample of any dataset. No authentication required.
Parameters
slugpathrequiredDataset slug (e.g. reddit-discussions)formatquerycsv or json (default: csv)Response
# Returns file download (CSV or JSON)
/api/datasets/download/{slug} Auth requiredDownload the full dataset. Requires a valid API key and prior purchase (or Pro plan).
Parameters
slugpathrequiredDataset slugformatquerycsv or json (default: csv)Response
# Returns file download (CSV or JSON) # 401 if API key missing or invalid # 403 if dataset not purchased
/api/auth/me Auth requiredReturns the authenticated user's profile and plan.
Response
{
"id": "usr_abc123",
"email": "you@example.com",
"full_name": "Your Name",
"plan": "free",
"created_at": "2026-01-15T10:00:00Z"
}/api/auth/registerCreate a new account.
Parameters
emailbodyrequiredEmail addresspasswordbodyrequiredPassword (min 8 chars)full_namebodyDisplay nameResponse
{
"api_key": "sk_live_...",
"user": { "id": "...", "email": "...", "plan": "free" }
}/api/auth/loginLog in and retrieve your API key.
Parameters
emailbodyrequiredEmail addresspasswordbodyrequiredPasswordResponse
{
"api_key": "sk_live_...",
"user": { "id": "...", "email": "...", "plan": "free" }
}/api/payments/checkout Auth requiredInitiate a PayHere payment for a dataset or Pro plan.
Parameters
dataset_slugbodySlug of dataset to purchase (omit for Pro plan)planbody"pro" for Pro subscriptionResponse
{
"payment_url": "https://sandbox.payhere.lk/pay/checkout?...",
"order_id": "SI-1234567890"
}Available Datasets
Use these slugs in API requests.
| Slug | Platform | Records | Updates | Price |
|---|---|---|---|---|
financial-sentiment | 1,000 | Daily | $9 | |
tiktok-trending | TikTok | 529 | Daily | $9 |
job-market-intelligence | 1,000 | Daily | $9 | |
ai-training-qa | 1,000 | Weekly | $9 | |
brand-mention-monitoring | 1,000 | Daily | $9 | |
reddit-discussions | 3,600 | Daily | $9 | |
youtube-channels | YouTube | 2,100 | Weekly | $9 |
Error Codes
All errors return JSON with a detail field.
| Status | Meaning |
|---|---|
200 | OK — request succeeded |
400 | Bad Request — invalid parameters |
401 | Unauthorized — missing or invalid API key |
403 | Forbidden — dataset not purchased |
404 | Not Found — dataset slug does not exist |
422 | Unprocessable — validation error (see detail) |
429 | Rate Limited — slow down requests |
500 | Server Error — contact support |
Need Help?
Questions about the API or your integration? We respond within 24 hours.