PolicyMe APIpolicyme.com ↗
Access term life and critical illness premium quotes, health & dental plan tiers, sample rate tables, and customer reviews from PolicyMe via 8 REST endpoints.
What is the PolicyMe API?
The PolicyMe API exposes 8 endpoints covering Canadian insurance products from policyme.com, including real-time premium quotes from multiple insurers, health and dental plan tier details, and paginated customer reviews. The get_term_life_quote endpoint accepts parameters like gender, birthdate, coverage_amount, and coverage_length and returns all_quotes — an array of per-insurer pricing objects — alongside the lowest available monthly_premium.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/7c47d927-b501-4c42-8a1c-b88888e70a68/get_insurance_product_list' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace policyme-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""PolicyMe Insurance API — browse products, compare quotes, read reviews."""
from parse_apis.policyme_insurance_api import (
PolicyMe, Gender, SmokerStatus, InputFormatError
)
client = PolicyMe()
# Browse all available insurance products
for product in client.products.list(limit=10):
print(product.name, product.type, product.url)
# Get term life insurance product details
info = client.termlifeproductinfos.get()
print(info.product, info.coverage_range, info.terms)
# Generate a term life quote for a 35-year-old non-smoking male
quote = client.termlifequotes.generate(
gender=Gender.MALE,
smoker=SmokerStatus.NO,
birthdate="15/06/1990",
coverage_amount=500000,
coverage_length=20,
province="ON",
)
print(quote.monthly_premium, quote.term_length, quote.coverage_amount)
for q in quote.all_quotes[:3]:
print(q.company, q.mn_prems, q.yr_prems)
# Generate a critical illness quote
ci_quote = client.criticalillnessquotes.generate(
gender=Gender.FEMALE,
smoker=SmokerStatus.NO,
birthdate="01/03/1985",
coverage_amount=50000,
coverage_length=10,
)
print(ci_quote.monthly_premium, ci_quote.term_length)
# Read the latest customer reviews (auto-paginates)
for review in client.reviews.list(limit=3):
print(review.author, review.rating, review.date, review.verified)
# Handle invalid input gracefully
try:
client.termlifequotes.generate(
gender=Gender.MALE,
smoker=SmokerStatus.YES,
birthdate="invalid-date",
coverage_amount=500000,
coverage_length=20,
)
except InputFormatError as exc:
print(f"Input error: {exc}")
print("exercised: products.list / termlifeproductinfos.get / termlifequotes.generate / criticalillnessquotes.generate / reviews.list")
Retrieve the catalog of insurance products offered by PolicyMe. Returns all available product types with their names, categories, and page URLs. Single-page, no parameters needed.
No input parameters required.
{
"type": "object",
"fields": {
"products": "array of product objects with name, type, and url"
},
"sample": {
"data": {
"products": [
{
"url": "https://www.policyme.com/term-life-insurance",
"name": "Term Life Insurance",
"type": "life"
},
{
"url": "https://www.policyme.com/critical-illness-insurance",
"name": "Critical Illness Insurance",
"type": "critical_illness"
},
{
"url": "https://www.policyme.com/health-and-dental-insurance",
"name": "Health & Dental Insurance",
"type": "health_dental"
},
{
"url": "https://www.policyme.com/travel-insurance",
"name": "Travel Insurance",
"type": "travel"
}
]
},
"status": "success"
}
}About the PolicyMe API
Insurance Products and Quotes
The API covers three core insurance lines: term life, critical illness, and health & dental. For term life, get_term_life_quote accepts gender (M or F), smoker (Y or N), province (Canadian province code), birthdate (DD/MM/YYYY), coverage_amount, and coverage_length (10, 15, 20, 25, or 30 years). It returns an all_quotes array where each object includes company, mn_prems, yr_prems, and a quote_breakdown, plus the scalar monthly_premium for the lowest-priced option. Critical illness quoting works via get_critical_illness_quote with the same demographic inputs and returns a parallel structure.
Plan Details and Sample Rates
get_health_dental_plan_details returns the full tier lineup — each plan object includes name, summary, and a features array — useful for displaying plan comparisons without triggering a live quote. get_term_life_sample_rates_table provides a static reference table of representative non-smoker premiums for $500,000 in 20-year coverage, broken down by age, male_rate, and female_rate. get_term_life_insurance_product_info returns metadata about the product itself: available terms, coverage_range, and key_features.
Reviews and Company Info
get_reviews_and_ratings pulls from PolicyMe's reviews.io integration, returning paginated review objects with rating, review text, author, date, source, and a verified flag, alongside aggregate total_reviews and average_rating. Pagination is controlled via page and per_page inputs. get_about_us_info exposes regulatory and contact fields including underwriter, protection (consumer protection body), address, and founding_story.
The PolicyMe API is a managed, monitored endpoint for policyme.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when policyme.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official policyme.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Canadian term life insurance premium comparison tool using
all_quotesfromget_term_life_quoteacross multiple insurers. - Display a sample rate table on a financial planning site using age-indexed
male_rateandfemale_ratefields fromget_term_life_sample_rates_table. - Render health and dental plan tier comparisons using
name,summary, andfeaturesfromget_health_dental_plan_details. - Aggregate PolicyMe customer sentiment by pulling
rating,author, andverifiedfields fromget_reviews_and_ratings. - Surface critical illness monthly premium estimates in a benefits advisor app using
get_critical_illness_quotewith customcoverage_amountandcoverage_length. - Populate a lead-generation widget with product categories and URLs from
get_insurance_product_list. - Show regulatory trust signals (underwriter name, consumer protection body) using fields from
get_about_us_info.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does PolicyMe have an official public developer API?+
What does `get_term_life_quote` return beyond a single price?+
get_term_life_quote returns an all_quotes array with one object per insurer, each containing company, mn_prems (monthly premiums), yr_prems (annual premiums), and a quote_breakdown. The top-level monthly_premium field isolates the lowest available price across all returned insurers.Does the API cover insurance products outside Canada or provinces other than the major ones?+
province parameter in get_term_life_quote accepts Canadian province codes (e.g. ON, BC, AB, QC). Coverage availability by province reflects what PolicyMe offers and may not include all territories. You can fork this API on Parse and revise it to surface province-specific availability messaging or filter results by province.Can I retrieve individual policy application status or account data for a specific user?+
Are the reviews returned by `get_reviews_and_ratings` filterable by rating or date?+
page and per_page. Filtering by rating value or date range is not currently a supported input parameter. You can fork this API on Parse and revise it to add server-side or client-side rating filters.