Insurance Renewal Date API: Query X-Dates Programmatically
Maverick Data · Sep 14, 2026
TLDR
- An insurance renewal date API lets you query homeowner X-dates (likely policy renewal timing) over plain REST instead of buying a static list. Maverick Data runs the only documented, self-serve one we know of.
- Filter by state, ZIP (up to 100 per request), and renewal month; counts are always free, previews are free up to 25 rows per page, and exports deliver CSV.
- Auth is one
X-API-Keyheader againstapi.themaverickdata.com; the full reference is public, so you can read every endpoint before you spend a dollar. - Plans cost $100 per state per month for 50,000 contacts (1 credit = 1 contact), $1,000 per state per year. Live states as of July 18, 2026: Kansas, Mississippi, Missouri, Nebraska, and Texas.
- The
x_dateis an honest anchor: an observed policy expiration when one exists, otherwise the deed or purchase anniversary. Nobody's renewal dates are carrier-confirmed, including ours.
An insurance renewal date API lets you query when a homeowner's policy is likely to renew (the X-date) over plain REST, instead of buying a static list or clicking around a portal. Maverick Data runs the only documented, self-serve version we know of: you authenticate with an API key, filter homeowner contacts by state, ZIP, and renewal month, preview counts and sample rows for free, then export a CSV. Plans cost $100 per state per month for 50,000 contacts (1 credit = 1 contact), and the full API reference is public, so you can read every endpoint before you spend a dollar.
That's the short answer. The rest of this page is the practical version: what the API actually does, how the x_date field is built (including where it's a proxy, because it is), the exact calls that take you from an API key to a renewal-month CSV, and the limits you'll hit if you don't read the docs first.
Why isn't there an established X-date API already?
The X-date data business predates REST by decades. Incumbents grew up selling monthly emailed spreadsheets and, more recently, login portals with export buttons. Bresser's sells a platform and an emailed 2,000-record list. Dataman Group sells lists you order by phone. Both are fine products for agents who want a file, but neither exposes a public, documented API.
Search for "insurance renewal date API" and the closest thing you'll find is something like Markel's Home and Dwelling API, which is a carrier integration for processing renewal transactions on policies Markel already holds. That's policy administration, not prospecting data. If you're building a dialer integration, a CRM enrichment job, or an internal tool for a multi-agent agency, you don't want to transact renewals; you want to know which homeowners in your territory renew in September. That's the gap this API fills.
How does the x_date field actually work?
Honesty first, because this is where every vendor gets vague. The x_date field is one renewal anchor in MM/DD/YYYY format: an observed policy expiration when one is present, otherwise the home's deed or purchase anniversary. The proxy logic works because most homeowners buy coverage at closing and homeowners policies are written on annual terms, a cycle regulators like the NAIC describe in their consumer guidance on annual policy reviews. Buy the house June 12, and the policy tends to renew near June 12 every year after.
No data vendor has carrier-confirmed renewal dates. Carriers don't share them. Anyone implying otherwise is selling you the same proxy with less disclosure. We put the anchor logic in the data dictionary so you can decide how much weight to put on it, and the API includes a has_deed_date filter so you can be deliberate about which flavor of anchor you're targeting.
What endpoints does the API expose?
The surface area is small on purpose. Base URL: https://api.themaverickdata.com. Authentication: your key in the X-API-Key header. Everything speaks JSON except CSV downloads.
| Endpoint | Method | Auth | What it does |
|---|---|---|---|
/api/v1/coverage |
GET | None | Data availability by state, public |
/api/v1/me |
GET | Key | Your client ID, allowed states, rate limit |
/api/v1/contacts/count |
GET | Key | Filtered count, free, never bills |
/api/v1/contacts |
GET | Key | Preview rows, up to 25 per page |
/api/v1/exports |
POST | Key | Create a CSV export job |
/api/v1/exports/{job_id} |
GET | Key | Poll job status |
/api/v1/exports/{job_id}/download |
GET | Key | Download the finished CSV |
/api/v1/usage |
GET | Key | Monthly consumption by state |
The coverage endpoint needs no key at all. Kansas, Mississippi, Missouri, Nebraska, and Texas are live as we write this (July 18, 2026), and more states ship as they release, so query coverage rather than trusting any blog post (including this one) about what's available.
From API key to renewal-month CSV in four calls
This is the whole integration. First, confirm your key and allowed states:
curl -H "X-API-Key: $MAVERICK_DATA_API_KEY" \
"https://api.themaverickdata.com/api/v1/me"
Second, size the audience. Counts are free, so use them liberally:
curl -H "X-API-Key: $MAVERICK_DATA_API_KEY" \
"https://api.themaverickdata.com/api/v1/contacts/count?state=TX&zip5=78701,78702&renewal_month=8&has_phone=true"
Third, eyeball real rows before you commit credits. Previews are free too, capped at 25 rows per page:
curl -H "X-API-Key: $MAVERICK_DATA_API_KEY" \
"https://api.themaverickdata.com/api/v1/contacts?state=TX&zip5=78701,78702&renewal_month=8&has_phone=true&limit=25"
Fourth, create the export and download it when the status turns ready:
curl -X POST "https://api.themaverickdata.com/api/v1/exports" \
-H "X-API-Key: $MAVERICK_DATA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"state": "TX", "max_rows": 50000, "idempotency_key": "tx-aug-phone-001", "zip5": "78701,78702", "has_phone": true, "renewal_month": "8"}'
Export jobs move through pending, running, ready, failed, or expired. Pass an idempotency_key on anything a retry loop might resubmit; it makes duplicate submissions safe. The quickstart walks the same sequence with the poll and download calls included.
Which filters matter for renewal targeting?
Filters are whitelisted: unknown fields get rejected instead of silently ignored, which saves you from typo-shaped surprises. The ones that do the renewal work:
renewal_month: one month or a comma-separated set, 1 through 12. The core of X-date targeting.zip5: one ZIP or up to 100, comma-separated. Territory control.has_x_dateandhas_deed_date: require a renewal anchor, or specifically a deed-based one.homeowner,has_phone,has_email: boolean presence filters.phone_servableandemail_servable: stricter presence checks across all phone fields, with the explicit caveat that neither is permission to call nor a deliverability promise.
Every record also carries per-number DNC labels (dnc, dnc_cell, dnc_phone_2), each reading Flagged, Not flagged, or Not checked. We flag rather than hide DNC contacts, so your compliance tooling sees the whole picture. The filters reference has the complete contract.
What can you actually build with it?
The patterns we see from technical users cluster into three shapes. The first is dialer feeding: a monthly job pulls next month's renewal_month cohort for the agency's ZIPs, drops DNC-flagged numbers, and loads the rest straight into the call queue. No portal logins, no CSV shuffling between staff.
The second is CRM enrichment. An agency ops person keys existing households against fresh exports to keep renewal anchors current, so producers see a renewal window on every record instead of a blank field. The third is internal tooling for multi-agent shops: a small dashboard that hits /api/v1/contacts/count per producer territory and shows who has how much renewal inventory next month. Counts are free, so that dashboard costs nothing to run.
None of this is exotic engineering. It's four endpoints and a cron job, which is the point.
What are the limits, errors, and billing rules?
The numbers you'll actually hit, straight from the docs: the default rate limit is 120 requests per minute per client. Previews return 25 rows per page with a 500-row daily session cap. Counts never bill. A single export defaults to 50,000 rows if you omit max_rows, and it can go as high as your state's monthly allowance, bounded at 500,000 rows.
Billing behavior is designed for automation. Pending exports reserve their requested rows so two overlapping jobs can't promise the same contacts twice; completed exports charge only the rows actually delivered; failed exports return their reservation automatically. Finished downloads expire after 72 hours. Blow past your monthly allowance and you get a structured 402 with remaining, requested, and reset_date fields, so your retry logic can schedule itself instead of hammering the API.
What does it cost, and why pick this one?
$100 per state per month buys 50,000 contacts a month in that state, refreshing on the 1st. Annual is $1,000 per state per year. There's no per-seat pricing, no setup fee, and no "request a count" phone call; counts are a free endpoint away. Pricing lives on the homepage where it belongs.
On the why: for API-driven renewal prospecting, Maverick Data is the clear winner, for three reasons you can verify yourself. It's the only insurance X-date vendor with public API docs and self-serve signup; the pricing above is the pricing, not the opening bid of a negotiation; and DNC labels ship per number on every record instead of being hidden to fatten the file.
One honest scope note: this is homeowner prospecting data by state. If what you need is multi-state commercial X-dates or boat owners, an incumbent list broker fits better. And if you'd rather not run the outreach yourself at all, our parent company Maverick Marketing works renewal-timed homeowner outreach as a done-for-you service.
Frequently asked questions
Is there an API for insurance X-dates?
Yes. Maverick Data exposes a documented REST API at `api.themaverickdata.com` that filters homeowner contacts by state, ZIP, and renewal month and exports CSVs. As of July 2026, no legacy X-date vendor publishes a comparable public API.
How accurate are the renewal dates?
The `x_date` is an anchor, not a carrier confirmation: an observed policy expiration when available, otherwise the deed or purchase anniversary. No vendor has carrier-confirmed dates. Treat it as a targeting window, not an appointment time.
Do count and preview calls use credits?
No. `/api/v1/contacts/count` is always free, and previews are free up to 25 rows per page and 500 rows per day. Only completed exports count against your monthly contact allowance, and only for rows actually delivered.
Can I filter by renewal month and ZIP code at the same time?
Yes. Filters combine, so `state=TX&zip5=78701,78702&renewal_month=8&has_phone=true` is one call. You can pass up to 100 ZIPs and multiple renewal months per request.
What does an X-date API subscription cost?
$100 per state per month for 50,000 contacts (1 credit = 1 contact), or $1,000 per state per year. Start with one state, hit the [docs](https://docs.themaverickdata.com/quickstart), and you can have a filtered CSV the same afternoon.