StackResolve logoStackResolve

Rate Limits

Free to try, more with a key, governed by your plan.

Reads are open. The primitives that spend money are gated so a public endpoint cannot be abused. How they are gated depends on whether you send a key.

#The two paths

CallerHow metered calls are gated
Anonymous (by IP)A small hourly trial: 8 requests per hour per IP
With an API keyYour plan's included quantity per event type, per billing period

Anonymous callers share one IP bucket across all metered primitives. When the bucket is empty you get 429. Keyed callers do not hit the hourly IP limit; instead each metered call runs a billing entitlement check against your plan. When the included quantity is used up and overage is off, you get 402. See Billing & metering and Errors.

#Which calls are metered

Metered (need a key or fall under the trial):

  • /v1/audit (audit_run)
  • /v1/company, /v1/pricing, /v1/competitors, /v1/compare-companies, /v1/research (workflow_execution)
  • /v1/find-tools (agent_discovery_check)

Open and never rate limited:

  • /v1/registry, /v1/profile/{slug}, /v1/categories, /v1/categories/{slug}
  • /v1/search, /v1/compare
  • /health, /llms.txt, /openapi.json, /badge/{slug}.svg

#Sending your key

Shell
curl "https://api.stackresolve.dev/v1/company?domain=stripe.com" \
  -H "x-api-key: $STACKRESOLVE_API_KEY"

For MCP and CLI, set STACKRESOLVE_API_KEY in the environment (MCP clients send it as the x-api-key header). See Authentication.

#Handling limits

  • On 429 (anonymous), get a free key to move off the IP trial, or back off and retry after the hour rolls over.
  • On 402 (keyed), read the entitlement object to see used versus included, then enable metered billing or wait for the next period.
  • Pass an idempotency-key header on metered requests so a retry is not double-counted.
Note
Free reads (the registry, profiles, categories, search, compare, badges) are never rate limited. Only the money-spending primitives are.