API Documentation

Social Intel API

Download datasets, access samples, and integrate social data into your workflow.

Base URLhttps://api.socialintel.io

Quickstart

Start downloading data in under 2 minutes.

1

Register & get your API key

Create a free account at socialintel.io/register. Your API key is shown in your dashboard.

bash
export SOCIALINTEL_API_KEY="your_api_key_here"
2

Download a free sample

No auth needed for samples — try before you buy.

bash
curl "https://api.socialintel.io/api/datasets/sample/reddit-discussions?format=csv" \
  -o reddit-discussions-sample.csv
3

Download a full dataset (requires purchase)

bash
curl "https://api.socialintel.io/api/datasets/download/reddit-discussions?format=csv" \
  -H "X-API-Key: $SOCIALINTEL_API_KEY" \
  -o reddit-discussions.csv
4

Python example

python
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.

bash
# 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

GET/api/datasets/catalog

Returns all available datasets with metadata.

Response

json
[
  {
    "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"
  },
  ...
]
GET/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

json
# Returns file download (CSV or JSON)
GET/api/datasets/download/{slug} Auth required

Download the full dataset. Requires a valid API key and prior purchase (or Pro plan).

Parameters

slugpathrequiredDataset slug
formatquerycsv or json (default: csv)

Response

json
# Returns file download (CSV or JSON)
# 401 if API key missing or invalid
# 403 if dataset not purchased
GET/api/auth/me Auth required

Returns the authenticated user's profile and plan.

Response

json
{
  "id": "usr_abc123",
  "email": "you@example.com",
  "full_name": "Your Name",
  "plan": "free",
  "created_at": "2026-01-15T10:00:00Z"
}
POST/api/auth/register

Create a new account.

Parameters

emailbodyrequiredEmail address
passwordbodyrequiredPassword (min 8 chars)
full_namebodyDisplay name

Response

json
{
  "api_key": "sk_live_...",
  "user": { "id": "...", "email": "...", "plan": "free" }
}
POST/api/auth/login

Log in and retrieve your API key.

Parameters

emailbodyrequiredEmail address
passwordbodyrequiredPassword

Response

json
{
  "api_key": "sk_live_...",
  "user": { "id": "...", "email": "...", "plan": "free" }
}
POST/api/payments/checkout Auth required

Initiate a PayHere payment for a dataset or Pro plan.

Parameters

dataset_slugbodySlug of dataset to purchase (omit for Pro plan)
planbody"pro" for Pro subscription

Response

json
{
  "payment_url": "https://sandbox.payhere.lk/pay/checkout?...",
  "order_id": "SI-1234567890"
}

Available Datasets

Use these slugs in API requests.

SlugPlatformRecordsUpdatesPrice
financial-sentimentReddit1,000Daily$9
tiktok-trendingTikTok529Daily$9
job-market-intelligenceReddit1,000Daily$9
ai-training-qaReddit1,000Weekly$9
brand-mention-monitoringReddit1,000Daily$9
reddit-discussionsReddit3,600Daily$9
youtube-channelsYouTube2,100Weekly$9

Error Codes

All errors return JSON with a detail field.

StatusMeaning
200OK — request succeeded
400Bad Request — invalid parameters
401Unauthorized — missing or invalid API key
403Forbidden — dataset not purchased
404Not Found — dataset slug does not exist
422Unprocessable — validation error (see detail)
429Rate Limited — slow down requests
500Server Error — contact support

Need Help?

Questions about the API or your integration? We respond within 24 hours.