Skip to content

Pricing

FirmaDB charges per verified result — a 2xx response containing a real company record. Search is free. 404s are free.

If we can't find it, we don't charge for it.

Tiers

Tier Monthly Included results Overage rate Best for
Free €0 1,000 / month, hard cap — (no overage; cap is hard) Evaluation, demo, hobby
Solo €29 10,000 €0.005 / result Indie dev, single workflow
Team €99 50,000 €0.004 / result Fintech, B2B sales tools
Scale €399 250,000 €0.003 / result Platforms, high-volume integrations
Custom From €2,000 Negotiated Negotiated Enterprise, govtech, banks

Free tier is a hard cap

Once you hit 1,000 results in a calendar month, all lookup and batch requests return 429 quota_exhausted until the quota resets at the start of the next month. Search keeps working (search itself doesn't consume results), but resolving a search hit to a full record does.

What's billable, what's free

Operation Billable result(s)
Exact lookup — found 1
Exact lookup — not found (404) 0
Search request 0 (search is free; search results count only against rate limits)
Batch row — found 1
Batch row — not found 0
Countries / coverage / health 0

A "verified result" = a 2xx response carrying at least name + country + registry_id + status. Empty search result sets are not billable. Empty batches (when every row 404s) are not billable.

Rate limits per tier

Tier Lookup / min Search / min Cross-country search / min Batch rows / request Concurrent batches
Free 60 10 3 100 1
Solo 120 30 10 100 2
Team 300 60 20 100 3
Scale 600 120 40 100 5

Rate limits are returned on every response via the ratelimit-limit, ratelimit-remaining, and ratelimit-reset headers — not just 429s. See Rate Limits & Caching for header semantics and Retry-After handling.

Cross-country search costs 10× rate-limit units

A search without a country parameter scans all 19 country partitions. It uses 10× the rate budget of a country-scoped search and is capped at 10 results. Always pass country when you can.

Data licensing

How long you can cache results, whether attribution is required, and what kinds of redistribution are permitted depend on your tier:

Tier Cache window Attribution required Bulk re-exposure Redistribution
Free 24 hours Yes ("Powered by FirmaDB" + link) No No
Solo 7 days Yes (in-app, visible) Customer's own app only No
Team 30 days Optional Yes, within Customer's product No
Scale 90 days No Yes, within Customer's product No without amendment
Custom Negotiated Negotiated Negotiated Negotiated

Cache window = how long you may serve a record from your own cache without re-fetching from FirmaDB. Beyond the window, refresh the record before serving it.

Choosing a tier

  • Building an internal CRM enrichment for ≤1,000 lookups/month? Free.
  • One product workflow with steady demand and ~10K lookups/month? Solo.
  • B2B sales tool or fintech with daily batches? Team.
  • Platform exposing FirmaDB-derived insights to thousands of end users? Scale or Custom.
  • Bank, govtech, regulated workflow needing custom terms or DPA? Contact us for Custom.

Upgrade path

Hitting your quota? The 429 quota_exhausted response includes a price block with a direct upgrade URL:

"price": {
  "next_tier": "solo",
  "monthly_fee_eur": 29,
  "included_results": 10000,
  "upgrade_url": "https://firmadb.com/upgrade"
}

Upgrades take effect immediately — included results scale up, and the next billable result counts against the new tier.

Estimating cost before you spend

Use firmadb_estimate_cost (MCP) or call GET /v1/account/usage plus the rate table above. For agents, the MCP tool returns:

  • min_billable_results, max_billable_results
  • cost_per_result_eur for your tier
  • would_exceed_quota boolean
  • human_approval_recommended (true when estimate exceeds €10 or 50% of remaining quota)

See the Cost Estimation guide for end-to-end examples.