Connect once. Read many platforms.
Create an API key in your dashboard and pass it as a Bearer token. Both REST and MCP use the same prepaid balance.
Authentication
curl "https://posttodata.com/v1/reddit/search?query=coffee&limit=5&format=compact" \
-H "Authorization: Bearer YOUR_API_KEY"MCP
Setup for Claude, ChatGPT, Codex, Antigravity and Geminiclaude mcp add --transport http posttodata https://posttodata.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"{
"mcpServers": {
"posttodata": {
"url": "https://posttodata.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Response formats
format=compact # concise JSON
format=standard # normalized fields
format=full # includes upstream payload
format=markdown # cited text (default for MCP)
limit=1..50
cursor=<page.next_cursor>API field names, code samples and original source content are shown without translation.
Limit the price of each call
REST and MCP accept max_price_usd; REST also accepts the X-Max-Price header. A price above either limit returns 412 before any upstream fetch or charge. Also limit the number of calls to bound the total task cost.
max_price_usd=0.003
X-Max-Price: 0.003Errors and billing
Successful data calls debit your balance. Failed upstream calls are refunded. Requests are limited to 60 per minute per account. Anonymous access is available only through the verified one-time website trial.
Prices differ by action. The API reports the exact price; use dry_run=1 to inspect a price without fetching data.
401 invalid_key / login_required
402 insufficient_balance
403 trial_used / verification_required
412 price_limit_exceeded
429 rate_limited / daily_budget_exhausted
502 upstream_error
503 service_unavailable
504 upstream_timeout