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:

LimitValue
Burst requests50 requests/minute
Daily requests250 requests/day
Company-level data access45 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 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

CodeDescription
200 OKRequest succeeded

Error Codes

CodeDescription
400 Bad RequestMissing or invalid parameters
401 UnauthorizedMissing or invalid API key
403 ForbiddenAccess denied to this resource or feature
404 Not FoundCompany or resource not found
429 Too Many RequestsRate limit exceeded
500 Internal Server ErrorServer 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

  1. Cache responses - Financial data doesn't change frequently. Cache responses to reduce API calls.

  2. Handle 429 errors gracefully - Implement exponential backoff when you hit rate limits.

  3. Check for errors first - Always check the HTTP status code before parsing the response body.

  4. Use company keys - Using companyKey directly is faster than looking up by ticker/exchange.


API Status

Check our live API status and subscribe to incident notifications:

status.fiscal.ai