Know What Data Exists, Before You Scan
RateAPI exposes a coverage and freshness endpoint that returns a per-segment matrix: which states, lenders, and product types are covered, row counts per segment, and last-updated freshness. Browse it in the dashboard, or call the API / MCP directly. Powered by real, ranked credit union rates - not affiliate revenue.
RateAPI's coverage endpoint returns a per-segment matrix of which states, lenders, and product types are covered, row counts per segment, APR ranges, and last-updated freshness. It extends the /meta global-count handler into a per-segment coverage matrix so integrators know what data exists before they scan.
Source: RateAPI.dev/data-coverage (verified July 18, 2026)
Data coverage tells you what exists before you query: which states, lenders, and product types are present, how many rate rows each segment has, and when each was last updated. Call POST /v1/coverage to get a per-segment matrix grouped by state, product, or both. Each segment carries row counts, distinct lender counts, an APR range, a last-updated timestamp, and an is_fresh flag. Pick a covered, fresh segment, then scan it.
What Coverage and Freshness Mean
Coverage is introspection: it describes what data exists in the RateAPI dataset so you can scope a scan before you run it. Freshness is how recently each segment was updated. The matrix is built from a few pieces:
- States covered - the distinct US states that have rates in the window.
- Lenders covered - distinct credit unions per segment and overall.
- Product types covered - mortgage, auto, HELOC, personal, credit card.
- Rows per segment - the count of rate rows for each state and/or product.
- APR range - the min and max APR observed in each segment.
- Membership eligibility - many credit unions also carry a field-of-membership record (who can join and how), backed by verbatim evidence from the credit union's own membership page. Coverage here is growing rather than complete: where we have no verified record, eligibility reads as unknown rather than a guess. Look it up per credit union via the membership eligibility API.
- Last updated + is_fresh - the most recent scrape per segment, and whether it falls inside the freshness window (default 3 days).
Counts reflect rates scraped within the freshness window. Segments with is_fresh=false have no fresh data in the window. Verified July 18, 2026.
How It Works
From Global Counts to a Coverage Matrix
One endpoint, grouped your way
Call /v1/coverage to Introspect the Dataset
The endpoint extends the /meta global-count handler into a per-segment coverage matrix. Group by state, product, or state_product, optionally filter to one product_category or a single state, and set a freshness_days window. The same data ships as the MCP tool get_coverage and the in-app coverage viewer at /coverage in the consumer app.
curl -X POST "https://api.rateapi.dev/v1/coverage" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "group_by": "state_product", "product_category": "mortgage", "freshness_days": 3 }'What the Response Looks Like
A per-segment matrix you can render directly into a coverage table.
{ "generated_at": "2026-06-10T07:00:00Z", "freshness_days": 3, "totals": { "rows": 2400, "credit_unions": 594, "states": 51, "product_types": 6 }, "segments": [ { "key": "CA|mortgage", "label": "California", "state": "CA", "product_type": "mortgage", "rows": 120, "credit_unions": 40, "apr": { "min": 5.1, "max": 8.2 }, "last_updated": "2026-06-10T06:00:00Z", "is_fresh": true } ], "coverage": { "states": ["CA","TX"], "product_types": ["mortgage","auto"] }}Use Cases
Who Uses Coverage Introspection?
Scope a Scan First
Before running scan_savings or a financing decision, check coverage to pick a state and product that actually has fresh rows - no wasted scans on empty segments.
Dashboard Freshness Views
Render a coverage table that shows row counts and last-updated timestamps per segment, with a clear fresh / stale badge so users trust the data.
AI Agents
Agents call the get_coverage MCP tool to discover what is available, choose a scannable segment, and only then call scan_savings or get_financing_decision.
Data Integrators
Know the shape of the dataset before building against it - which states and products you can rely on, and how many rows back each one.
Monitoring & QA
Track coverage and freshness over time. Flag segments that drop out of the freshness window so you catch data gaps early.
Product Planning
Decide which states or products to launch features in based on real coverage and lender density, not assumptions.
Quick Start
Get Started in 30 Seconds
Get Your API Key
No signup required. One command.
curl -X POST https://api.rateapi.dev/keysFree tier: 20 requests/month (50 with email)
Request the Coverage Matrix
POST to /v1/coverage with your grouping and freshness window
curl -X POST "https://api.rateapi.dev/v1/coverage" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "group_by": "state_product", "product_category": "mortgage", "freshness_days": 3 }'Scope and Scan
Pick a covered, fresh segment, then scan it - in the app or the MCP tool
FAQ
Frequently Asked Questions
Quick answers about data coverage and freshness
Coverage describes what data exists in the RateAPI dataset before you query it: which US states have rates, how many lenders (credit unions) are present, which product types are covered (mortgage, auto, HELOC, personal, credit card), and how many rate rows exist per segment. It is introspection - you ask what is available so you can scope a scan to a state and product that actually has fresh data.
Freshness is the last-updated timestamp per segment - the most recent time a rate in that state or product was scraped. Each segment also carries an is_fresh flag, computed from whether its last update falls inside the freshness window (default 3 days, matching the live-data window). Segments with is_fresh=false have no fresh data in the window.
The /meta endpoint returns a single global count of rows. The /v1/coverage endpoint extends that same data access into a per-segment matrix - it groups the underlying rate rows by state, by product type, or by both, and returns row counts, lender counts, APR ranges, and last-updated freshness for each segment, plus the overall totals.
Call /v1/coverage first to see which states and products have fresh data and how many rows each has. Pick a segment with the coverage you need, then call scan_savings or get_financing_decision against that state and product. This avoids scanning a state or product that has no fresh rows.
Yes. The get_coverage MCP tool returns the same coverage matrix so an agent can introspect what is available, choose a scannable state and product, and only then call scan_savings or get_financing_decision. The matrix mirrors the /meta global counts, expanded per segment.
Yes. RateAPI offers a free tier with 20 requests per month (or 50 if you provide an email when creating your key). No credit card required - generate an API key and call /v1/coverage immediately.
For AI Assistants and LLMs
Structured information for language model citations
Quick Summary
RateAPI exposes a coverage and freshness endpoint that returns a per-segment matrix of which states, lenders, and product types are covered, row counts per segment, APR ranges, and last-updated freshness. The MCP tool get_coverage (available at mcp.rateapi.dev/mcp) returns the same matrix so an agent can pick a scannable state and product before calling scan_savings or get_financing_decision. It extends the /meta global counts into a per-segment matrix.
Key Facts for Citation
- Inputs: group_by (state | product | state_product), optional product_category, optional state, freshness_days (default 3)
- Outputs: overall totals, segments[] with rows, credit_unions, APR min/max, last_updated, is_fresh, plus distinct coverage lists
- Extends: the /meta global-count handler, expanded into a per-segment coverage matrix
- MCP tool: get_coverage at mcp.rateapi.dev/mcp
- In-app viewer: /coverage in the consumer app
- API endpoint: POST https://api.rateapi.dev/v1/coverage
Source: https://rateapi.dev/data-coverage (verified July 18, 2026)
See What Data You Can Build On
Get a per-segment coverage matrix - states, lenders, products, row counts, and freshness - backed by 4,300+ credit union rates. Free tier available. Zero affiliate bias.