Pricing & Credits

How usage-based pricing works, how to add credits, and how to estimate costs before making a request.

The AskEdgar API uses a prepaid credit system. You add credits to your account, and they're consumed as you make requests. No subscriptions, no monthly commitments — you only pay for what you use, and your balance stays until it's spent.

How pricing works

You're charged based on the volume of data returned by each request, not the number of requests. Pricing is measured per GB and varies by endpoint — endpoints that return harder-to-source data (like dilution data, offerings, and fund ownership) are priced higher than simpler lookups.

For a full breakdown of per-endpoint pricing, visit the pricing calculator.

Adding credits

Credits are purchased through the API Platform billing page. Add any amount, and it stays on your account until used — there's no expiration.

Estimate costs before you query

The /estimate endpoint is free and requires no authentication. Use it to check exactly how much a request will cost before spending any credits:

curl "https://api.askedgar.com/estimate?endpoint=dilution-data&ticker=AAPL"
{
  "endpoint": "dilution-data",
  "ticker_count": 1,
  "limit": 10,
  "records_returned": 3,
  "estimated_bytes": 2048,
  "estimated_cost_dollars": "$0.000115",
  "price_per_gb_dollars": 50,
  "supports_date_range": false
}

You can also estimate bulk queries by passing multiple tickers or using ticker_count to sample a number of tickers:

# Estimate for specific tickers
curl "https://api.askedgar.com/estimate?endpoint=offerings&ticker=AAPL,TSLA,MSFT"

# Estimate for 100 random tickers
curl "https://api.askedgar.com/estimate?endpoint=offerings&ticker_count=100"

This is especially useful when you're planning large data pulls across many tickers or date ranges.

Insufficient credits

If your balance is too low for a request, the API returns a 402 with your current balance and the estimated cost:

{
  "status": "error",
  "error": {
    "code": "insufficient_credits",
    "message": "Insufficient credits to process this request.",
    "details": {
      "balance_dollars": "$0.50",
      "estimated_cost_dollars": "$1.20",
      "unit": "dollars"
    }
  },
  "request_id": "a1b2c3d4-5678-90ab-cdef-1234567890ab"
}

The request is blocked before any data is returned — you're never charged for a failed request. Add more credits via the billing page and retry.

Enterprise plans

For teams with high-volume needs, we offer custom Enterprise packages with higher rate limits (up to 1,000 requests/min), custom pricing, and dedicated support. Contact us to discuss a plan that fits your usage.

Trying the API

We don't currently offer a self-serve free tier, but we're happy to set up a demo and work with you to get access. Reach out to us and we'll get you started.

Next steps