Rate Limits & Errors
Rate limits, error codes, and HTTP status responses for the Fiscal.ai API. Understand usage tiers and troubleshoot integration issues.
Rate Limits
The limits below apply only to free-plan API keys. Paid and commercial customers are not subject to them — your plan runs on the generous limits defined in your terms of sale.
On a paid or commercial plan?:
The numbers on this page do not apply to you. Your rate limits are set generously in your agreement (terms of sale) and sized to your use case — see Paid Plans.
Free Plan
These limits apply to free-plan keys only:
| Limit | Value |
|---|---|
| Burst requests | 50 requests/minute |
| Daily requests | 250 requests/day |
| Company-level data access | 45 companies on the free plan |
When you exceed the short burst limit, the API returns a 429 status code:
{
"error": "Rate limit exceeded for free trial."
}
When you exceed the daily limit, the API returns a 429 status code:
{
"error": "Daily request limit exceeded for free trial"
}
Your limit resets at midnight UTC each day.
Paid Plans
Paid and commercial plans run on generous rate limits defined in your terms of sale — far above the free-plan figures above and sized to your use case. The 50/minute and 250/day limits shown above do not apply. For the specifics of your plan, refer to your agreement or contact our sales team.
HTTP Status Codes
The API uses standard HTTP status codes to indicate the success or failure of requests.
Success Codes
| Code | Description |
|---|---|
200 OK | Request succeeded |
Error Codes
| Code | Description |
|---|---|
400 Bad Request | Missing or invalid parameters |
401 Unauthorized | Missing or invalid API key |
403 Forbidden | Access denied to this resource or feature |
404 Not Found | Company or resource not found |
429 Too Many Requests | Rate limit exceeded |
500 Internal Server Error | Server error (please retry) |
Error Response Format
All error responses follow this format:
{
"error": "Error message describing what went wrong"
}
Common Error Messages
Authentication Errors (401)
{
"error": "Invalid API key"
}
Missing Parameters (400)
{
"error": "Missing required parameters: either Company Key, CUSIP, ISIN, FIGI, or Ticker + Exchange"
}
Company Not Found (404)
{
"error": "Company not found"
}
Feature Access (403)
{
"error": "You do not have access to this feature"
}
{
"error": "This company is not available for the free trial."
}
CUSIP/ISIN License (403)
{
"error": "CUSIP/ISIN license is required, please contact sales at https://fiscal.ai/contact-sales"
}
Rate Limit Exceeded (429)
{
"error": "Daily request limit exceeded for free trial"
}
Best Practices
-
Cache responses - Financial data doesn't change frequently. Cache responses to reduce API calls.
-
Handle 429 errors gracefully - Implement exponential backoff when you hit rate limits.
-
Check for errors first - Always check the HTTP status code before parsing the response body.
-
Use company keys - Using
companyKeydirectly is faster than looking up by ticker/exchange.
API Status
Check our live API status and subscribe to incident notifications:
status.fiscal.ai