CHECK24 comparison data API
CHECK24 is the consumer Android app of CHECK24 Vergleichsportal GmbH, the Munich comparison portal that lets people in Germany shop insurance, energy, installment credit, current accounts, mobile contracts, travel and tradespeople from one Kundenbereich. Version 2026.40.0 ships product plugins for legal-protection quotes, an energy Homecenter of households and meters, Girokonto fee widgets, SIM-only tariff tiles, and a signed-in contract third-view for policies already taken out through the portal. Households use it to switch tariffs or keep contracts in one place; it sits against Verivox and other German Vergleichsportale on that same comparison shelf.
Legal-protection quotes stamp calculationParameterId on each result page and price every tariff in cents, with resultSizePurchasable and minPrice bounding the list. Live policies in the third-view carry leadId, insuranceNumber, nextCancellationDate and a masked iban on paymentInformation.
Energy Homecenter households expose isPrimary addresses (zipcode, street) and productGroupings, while best-price tiles return saving next to tariffVersionId. Current-account widgets publish monthlyFee; SIM-only recommendations list dataIncluded and dataVolumeAndContractPeriod. Legal-protection switch monitors, household-energy reconciliation jobs, current-account fee screens and telecom-plan shopping feeds consume those fields; openData Studio turns them into callable open data.
Screenshots
API surface
The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.
Search legal-protection tariffs
POST
/v1/quotes/legal/searchopendataRuns a legal-protection (RSV) comparison and returns ranked tariffs with cent prices, purchasability and paging bounds.
Auth: Optional CHECK24 SSO. Public quote searches send app-version and device-id client headers; a signed-in Kundenbereich adds a session-id header.
- zipCode
- birthDate
- employmentStatus
- maritalStatus
- paymentPeriod
- modules
- calculationParameterId
- calculationParameterIndex
- items
- position
- detailUrl
- tariffId
- versionId
- tariffVariation
- name
- isPurchasable
- gradeVisible
- cents
- valueYearly
- originalPrice
- resultSize
- resultSizePurchasable
- minPrice
- maxPrice
POST /v1/quotes/legal/search HTTP/1.1 Content-Type: application/json X-Client-Version: 2026.40.0 X-Device-Id: android-pixel-8 { "zipCode": "80331", "birthDate": "1990-04-12", "employmentStatus": "employee", "maritalStatus": "couple", "paymentPeriod": "year", "modules": { "private": true, "job": true, "traffic": true, "living": false, "rental": false } }{ "calculationParameterId": "9f3a1c7e5b2d4a60b8e1c3d5f7a92b04", "calculationParameterIndex": 0, "items": [ { "position": 1, "detailUrl": "/legal/tariffs/124735", "tariff": { "tariffId": 124735, "versionId": 3696, "tariffVariation": "ft", "name": "Top-Rechtsschutz Komfort + StrafrechtPlus", "isPurchasable": true, "gradeVisible": true, "price": { "value": { "cents": 3411 }, "valueYearly": { "cents": 40932 }, "originalPrice": { "cents": 3890 } } } } ], "paging": { "resultSize": 84, "resultSizePurchasable": 61, "resultSizeNotPurchasable": 23, "minPrice": { "cents": 16977 }, "maxPrice": { "cents": 54000 }, "paymentPeriod": "year" } }Read tariff overview
GET
/v1/quotes/legal/{calculationParameterId}/offers/{tariffVersionId}/{variationId}/summaryopendataLoads the selected RSV tariff's overview: name, cent price, feature bullets and product documents.
Auth: Same comparison session as the search call. A client-version header identifies the Android build.
- calculationParameterId
- tariffVersionId
- variationId
- tariffId
- versionId
- name
- paymentPeriod
- isPurchasable
- gradeVisible
- ctaNote
- cents
- features
- documents
GET /v1/quotes/legal/9f3a1c7e5b2d4a60b8e1c3d5f7a92b04/offers/3696/ft/summary HTTP/1.1 X-Client-Version: 2026.40.0{ "tariffId": 124735, "versionId": 3696, "name": "Top-Rechtsschutz Komfort + StrafrechtPlus", "paymentPeriod": "year", "isPurchasable": true, "gradeVisible": true, "ctaNote": "Online abschließbar", "price": { "cents": 3411 }, "features": [ { "name": "insurancesum_bullet", "label": "Deckungssumme", "value": "unbegrenzt" } ], "documents": [ { "label": "Produktinformationsblatt", "url": "/files/pib/124735.pdf" } ] }Floor prices for a search
POST
/v1/quotes/legal/price-rangeopendataReturns the cheapest and dearest purchasable RSV premiums for the current search filters, without the full tariff list.
Auth: Optional SSO. Same client headers as the search call.
- zipCode
- birthDate
- employmentStatus
- maritalStatus
- minPrice
- maxPrice
- paymentPeriod
- resultSizePurchasable
- cents
POST /v1/quotes/legal/price-range HTTP/1.1 Content-Type: application/json { "zipCode": "80331", "birthDate": "1990-04-12", "employmentStatus": "employee", "maritalStatus": "couple", "paymentPeriod": "year" }{ "minPrice": { "cents": 16977 }, "maxPrice": { "cents": 54000 }, "paymentPeriod": "year", "resultSizePurchasable": 61 }Load signed-in contract third-view
GET
/v1/policies/{leadId}/summaryopenfinanceReturns the signed-in RSV contract: policy number, term dates, cancellation window, masked IBAN and yearly premium history.
Auth: CHECK24 SSO session required, issued at Kundenbereich login; leadId is the portal contract id.
- leadId
- status
- statusText
- insuranceNumber
- startDate
- endDate
- nextCancellationDate
- cashbackPoints
- archivable
- tariffId
- versionId
- name
- cents
- paymentPeriod
- cancellationPeriod
- paymentType
- iban
- firstName
- lastName
- allowTaxDeductible
- priceHistoryYearSummary
GET /v1/policies/51259994/summary HTTP/1.1 X-Session-Id: <sso-session>{ "lead": { "leadId": 51259994, "status": "active", "statusText": "aktiv: seit 25.01.2023", "insuranceNumber": "1235482f", "startDate": "2023-01-25", "endDate": "2024-01-24", "nextCancellationDate": "2024-10-25", "cashbackPoints": 300, "archivable": false }, "tariff": { "tariffId": 2486, "versionId": 2999, "name": "RS Exklusiv für ADAC-Mitglieder", "price": { "cents": 2486 }, "paymentPeriod": "year", "cancellationPeriod": "3 Monate zum Jahresende" }, "paymentInformation": { "paymentType": "debit", "paymentPeriod": "year", "iban": "DE1653****0017" }, "customer": { "firstName": "max", "lastName": "pecu", "title": "Dr." }, "allowTaxDeductible": true, "priceHistoryYearSummary": [ { "year": 2023, "price": 29451 }, { "year": 2024, "price": 32875 } ] }Aggregate claims count
GET
/v1/policies/{leadId}/claims/countopenfinanceReturns how many RSV claims (Schäden) are on file for the contract, used by the third-view claims tile.
Auth: CHECK24 SSO session. Same leadId as the contract overview.
- leadId
- damageCount
GET /v1/policies/51259994/claims/count HTTP/1.1 X-Session-Id: <sso-session>{ "damageCount": 2 }Submit payout IBAN
POST
/v1/policies/{leadId}/payout-accountopenbankingStores the IBAN used for RSV cashback or claim payouts on the contract third-view.
Auth: CHECK24 SSO session. Writes the payout account on the signed-in contract.
- leadId
- iban
POST /v1/policies/51259994/payout-account HTTP/1.1 Content-Type: application/json X-Session-Id: <sso-session> { "iban": "DE89370400440532013000" }{ "ok": true, "leadId": 51259994, "iban": "DE89****3000" }Validate payout IBAN
POST
/v1/banking/iban-checksopenbankingChecks that a German IBAN is well-formed before it is stored on a contract or checkout debit mandate.
Auth: CHECK24 SSO or checkout session. Used before debit mandate and payout IBAN writes.
- iban
- valid
- bankName
POST /v1/banking/iban-checks HTTP/1.1 Content-Type: application/json { "iban": "DE89370400440532013000" }{ "iban": "DE89370400440532013000", "valid": true, "bankName": "Commerzbank" }Pending offer home widget
GET
/v1/offers/pendingopendataLoads the home-screen RSV pending-offer tile: tariff name, cent price and savings copy for an unfinished application.
Auth: CHECK24 SSO session. Empty leadWidget when the user has no unfinished RSV offer.
- leadWidget
- id
- tariffName
- type
- date
- cents
- paymentPeriod
- advantageText
GET /v1/offers/pending HTTP/1.1 X-Session-Id: <sso-session>{ "leadWidget": { "id": 51884881, "tariffName": "Top-Rechtsschutz Komfort + StrafrechtPlus", "type": "pending_offer", "date": "2026-10-12", "price": { "cents": 3411 }, "paymentPeriod": "month", "advantageText": "Preis: bis zu 177 € im Jahr sparen" } }List energy households
GET
/v1/householdsopendataLists Homecenter households with primary flag, German address and electricity/gas product groupings.
Auth: CHECK24 SSO bearer token on the Homecenter household service.
- households
- id
- name
- isPrimary
- firstName
- lastName
- street
- streetNumber
- city
- zipcode
- productGroupings
- identifier
- product
GET /v1/households HTTP/1.1 Authorization: Bearer <sso-token>{ "households": [ { "id": "hh-80331-1", "name": "Hauptwohnung", "isPrimary": true, "address": { "firstName": "Max", "lastName": "Pecu", "street": "Kaufingerstraße", "streetNumber": "12", "city": "München", "zipcode": "80331" }, "productGroupings": [ { "id": 11, "identifier": "strom", "product": "electricity" }, { "id": 12, "identifier": "gas", "product": "gas" } ] } ] }Energy best-price tariffs
POST
/v1/energy/tariffs/lowest-priceopendataReturns the cheapest electricity or gas tariffs for a Homecenter comparison, with euro price, yearly saving and tariff count.
Auth: Optional SSO. Anonymous comparisons send a device-output flag; signed-in calls reuse the energy session token.
- parameters
- position
- productId
- city
- customerType
- page
- pageSize
- sortField
- sortOrder
- isFromTimeout
- tariffs
- title
- name
- calculationParameterId
- tariffVersionId
- tariffVersionVariationKey
- price
- saving
- savingsLabel
- savingYearlyLabel
- tariffCount
- capPrice
POST /v1/energy/tariffs/lowest-price HTTP/1.1 Content-Type: application/json { "parameters": [ { "position": 0, "tariffsRequest": { "productId": "strom", "city": "München", "customerType": "private", "page": 1, "pageSize": 3, "sortField": "price", "sortOrder": "asc" } } ] }{ "isFromTimeout": false, "tariffs": [ { "position": 0, "title": "Günstigster Strom", "name": "Ökostrom Plus", "calculationParameterId": "en-calc-8841", "tariffVersionId": 717736, "tariffVersionVariationKey": "ft", "price": 28.4, "saving": 312.0, "savingsLabel": "312 € sparen", "savingYearlyLabel": "im Jahr", "tariffCount": 184, "capPrice": 40 } ] }Current-account fee widget
GET
/v1/widgets/current-accountopenbankingLoads the home Girokonto comparison tile, including advertised monthlyFee and deep-link into the current-account funnel.
Auth: Widget client token (Basic scheme) plus optional SSO for personalised fees.
- id
- title
- monthlyFee
- text
- hint
- url
- widgetImage
- hideWidgetUrl
GET /v1/widgets/current-account HTTP/1.1 Authorization: Basic <widget-client-token>{ "id": 42, "title": "Girokonto im Vergleich", "monthlyFee": "0,00 €", "text": "Kostenloses Gehaltskonto mit Kreditkarte", "hint": "Aktion gilt für Neukunden", "url": "/current-accounts/compare", "widgetImage": "/assets/giro/widget.png", "hideWidgetUrl": "/v1/widgets/current-account/hide" }Mobile tariff recommendations
GET
/v1/{deviceOutput}/mobile/recommendationsopendataReturns SIM-only home-widget recommendations with included data volume, contract period and starting price.
Auth: Public endpoint. Optional SSO query enriches tiles for returning mobile customers.
- deviceOutput
- title
- tiles
- name
- dataIncluded
- dataVolumeAndContractPeriod
- priceLabel
- url
GET /v1/android/mobile/recommendations HTTP/1.1{ "title": "Top Handytarife", "tiles": [ { "name": "Allnet Flat L", "dataIncluded": "40 GB", "dataVolumeAndContractPeriod": "40 GB / 24 Monate", "priceLabel": "ab 9,99 €", "url": { "href": "/mobile/tariffs/allnet-l" } } ] }
Data categories
- insurance quotes
- insurance contracts
- claims
- bank accounts
- energy households
- energy tariffs
- mobile tariffs
Where teams use this data
Legal-protection switch monitor
A household-finance bot stores calculationParameterId from each RSV search, watches minPrice versus the live contract's cents on LeadTariff, and flags nextCancellationDate so the user can switch before the window closes.
Energy Homecenter reconciliation
Property managers pull households with isPrimary, zipcode and productGroupings, then overlay the best-price saving and tariffVersionId to see which electricity or gas contract is above the portal floor.
Current-account fee screen
Neobank onboarding compares advertised monthlyFee from the Girokonto widget against the user's existing account fee and deep-links url when the CHECK24 offer is cheaper.
Mobile-plan shopping feed
A telecom affiliate renders tiles of name, dataIncluded and dataVolumeAndContractPeriod from the SIM-only recommendation widget without scraping the Handytarife HTML.
Frequently asked questions
What insurance data does the CHECK24 app expose?
The legal-protection flow returns ranked tariffs (tariffId, cents, isPurchasable) from a comparison, then a signed-in policy view with insuranceNumber, term dates, nextCancellationDate, masked iban and damageCount for claims.
Can I read energy contracts and meter households?
Yes. Homecenter lists households with isPrimary, German zipcode/street and productGroupings for electricity and gas. A separate best-price lookup returns tariffVersionId, euro price and yearly saving.
How does CHECK24 authenticate these calls?
Public quote and SIM-widget calls send client-version and device-id headers. Signed-in Kundenbereich, policy, payout IBAN and Homecenter household calls carry a CHECK24 SSO session or bearer token. The Girokonto tile uses a widget client token.
Is this a public developer API?
No. CHECK24 does not run an open partner programme for this data. The endpoints shown are an illustrative surface modelled on the app's data flows, showing the shape of the fields and calls an integration would use.
Apps similar to CHECK24
- Verivox — Verivox is a German price-comparison and contract-brokering portal for electricity, gas, insurance, telecom, loans and bank products, founded in Heidelberg in 1998 and now part of Italy's Moltiply Group.
- Idealo — Idealo is a Berlin price-comparison service, majority-owned by Axel Springer, that lets shoppers compare product prices from retailers in Germany and several other European countries.
- Smava — Smava is a Berlin consumer-credit comparison and brokerage platform that matches German borrowers with installment-loan offers from more than 20 partner banks.
- Clark — Clark is a German digital insurance broker that collects policies in one app, compares tariffs from more than 180 insurers, and lets users manage or switch cover.
- Getsafe — Getsafe is a German app-based insurer that sells liability, contents, legal-protection, health and other policies and handles claims in the app.
- trivago — trivago is a Düsseldorf hotel metasearch that compares room rates from more than 250 booking platforms rather than selling stays itself.
- MyHammer — MyHammer is a Berlin marketplace where households post trade and service jobs and award them to registered Handwerker.
Topics
- CHECK24 API
- Rechtsschutz comparison
- energy Homecenter households
- Girokonto monthlyFee
- Handytarife recommendations
- CHECK24 Kundenbereich
- German comparison portal data
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use