Learn how to integrate GateKey into your applications.
Sign up for a free account and create an API key from the API Keys page.
Use the unified API endpoint to query any provider:
curl -X POST https://api.gatekey.dev/v1/query \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "sec-edgar",
"endpoint": "/search-index",
"params": {
"q": "apple annual report",
"forms": "10-K"
}
}'Responses include the provider's data plus GateKey metadata:
{
"data": {
// Provider-specific response data
"hits": { ... }
},
"meta": {
"request_id": "req_abc123",
"tokens_used": 1250,
"latency_ms": 342,
"provider": "sec-edgar"
}
}All API requests require authentication using a Bearer token. Include your API key in the Authorization header:
Authorization: Bearer gk_live_xxxxxxxxxxxxx
API keys starting with gk_live_ are production keys. Keep them secure and never expose them in client-side code.
Rate limits vary by plan:
| Plan | Requests/min | Monthly tokens |
|---|---|---|
| Free | 60 | 100,000 |
| Starter | 300 | 5,000,000 |
| Pro | 1,000 | 50,000,000 |
| Enterprise | 10,000+ | Custom |
Rate limit headers are included in every response:
X-RateLimit-Limit: 60 X-RateLimit-Remaining: 45 X-RateLimit-Reset: 1699574400
GateKey uses standard HTTP status codes and returns detailed error messages:
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Monthly token limit exceeded",
"request_id": "req_abc123"
}
}| Code | Status | Description |
|---|---|---|
| UNAUTHORIZED | 401 | Invalid or missing API key |
| RATE_LIMIT_EXCEEDED | 429 | Too many requests or token limit reached |
| BAD_GATEWAY | 502 | Provider returned an error |
| GATEWAY_TIMEOUT | 504 | Provider did not respond in time |
GateKey works with any HTTP client. Official SDKs are coming soon to make integration even easier.
Coming soon
Coming soon
Coming soon
Need help? We're here for you: