Komparatore APIkomparatore.it ↗
Retrieve Italian mobile SIM plan comparisons from komparatore.it. Filter by operator, 5G, data, minutes, and cost. Two endpoints, structured JSON.
What is the Komparatore API?
The komparatore.it API exposes two endpoints that return Italian mobile SIM plan data from komparatore.it/tariffe-cellulari, including over a dozen fields per plan such as monthly price in EUR, included data in GB, voice minutes, SMS counts, network generation, and activation links. The list_sim_offers endpoint returns the full comparison set in a single response with filters for operator, 5G availability, data floor, minutes floor, and monthly cost band. The get_sim_offer endpoint returns the complete detail record for one plan by its operator and offer slugs.
curl -X GET 'https://api.parse.bot/scraper/8cf8f8ad-cf97-4bc3-9011-b7ea856c9e3e/list_sim_offers?operator=iliad' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns every mobile SIM plan currently compared on komparatore.it that matches the given filters, in one round trip (the site renders the whole comparison on a single page, no pagination). Each row is one plan with monthly price in EUR, included data/minutes/SMS (numeric value plus an *_unlimited flag and the site's raw label, since 'Illimitati' means unlimited), network generation, promotional notes, plain-text description, whether it is a sponsored placement, the operator's activation link when online activation is offered, and the (operator_slug, offer_slug) pair accepted by get_sim_offer. The response also carries the site's operator list with per-operator counts for the current filter (the source of valid operator slugs), the site's 'last updated' date label, and the filters that were applied. An unknown operator slug yields an empty offers list, as on the site. Default order is lowest monthly price first.
| Param | Type | Description |
|---|---|---|
| sort | string | Ordering of the returned plans. |
| only_5g | boolean | When true, only plans on the 5G network are returned. |
| min_data | string | Minimum included monthly data. Omitted = no data filter. |
| operator | string | Operator slug as returned in operators[*].operator_slug (one shape: iliad). Omitted = all operators. |
| new_number | boolean | When true, only plans available for a brand-new number are returned; when false the site's default (keep your current number / portability) applies. |
| min_minutes | string | Minimum included voice minutes. Omitted = no minutes filter. |
| max_monthly_cost | string | Monthly cost band (EUR range) the plan must fall in. Omitted = no cost filter. |
{
"type": "object",
"fields": {
"total": "number of plans returned (matches the site's 'Offerte confrontate' count for the filter)",
"offers": "array of plan records matching the filters, in the requested order",
"filters": "echo of the filters applied",
"operators": "site operator list with operator_name, operator_slug and offers_count for the current filter",
"last_updated": "site's last-update date label (Italian, e.g. '12 ottobre 2026')",
"offers[].sms": "included SMS, null when unlimited (see sms_unlimited / sms_label)",
"offers[].notes": "short promotional notes shown on the card",
"offers[].data_gb": "included monthly data in GB, null when unlimited or not numeric (see data_unlimited / data_label)",
"offers[].minutes": "included voice minutes, null when unlimited (see minutes_unlimited / minutes_label)",
"offers[].network": "network generation label as shown by the site (e.g. 4G, 4.5G, 5G)",
"offers[].offer_id": "integer site id of the plan",
"offers[].sponsored": "true when the site marks the plan as a sponsored/featured placement",
"offers[].offer_slug": "slug accepted by get_sim_offer together with operator_slug",
"offers[].description": "plain-text long description, null when the site has none",
"offers[].detail_path": "site path of the plan detail page",
"offers[].activation_url": "operator/affiliate activation link, null when activation is by call-back only",
"offers[].monthly_price_eur": "monthly price in EUR (number)",
"offers[].online_activation": "true when the plan can be activated online through activation_url",
"offers[].contract_duration_months": "contract duration in months as published by the site, 0 = no commitment",
"offers[].portability_operator_count": "number of origin operators the plan accepts portability from"
},
"sample": {
"data": {
"total": 2,
"offers": [
{
"sms": null,
"name": "Creami WeBack",
"is_5g": false,
"notes": [
"Hotspot incluso",
"Roaming UE incluso",
"Costo SIM 20€ con 10€ di traffico incluso"
],
"data_gb": 50,
"minutes": null,
"network": "4G",
"offer_id": 57,
"sms_label": "Illimitati",
"sponsored": false,
"data_label": "50",
"offer_slug": "creami-weback",
"description": "L’UNICA TARIFFA CHE TI RICARICA PER I GIGA NON UTILIZZATI \nOgni mese ricevi 1€ di ricarica telefonica bonus ogni 10GB non utilizzati.",
"detail_path": "/tariffe-cellulari/poste-mobile/creami-weback",
"minutes_label": "Illimitati",
"operator_name": "Poste Mobile",
"operator_slug": "poste-mobile",
"sms_unlimited": true,
"activation_url": null,
"data_unlimited": false,
"minutes_unlimited": true,
"monthly_price_eur": 9.99,
"online_activation": false,
"contract_duration_months": 0,
"portability_operator_count": 0
}
],
"filters": {
"sort": "price-asc",
"only_5g": false,
"min_data": null,
"operator": "poste-mobile",
"new_number": false,
"min_minutes": null,
"max_monthly_cost": null
},
"operators": [
{
"offers_count": 6,
"operator_name": "Iliad",
"operator_slug": "iliad"
},
{
"offers_count": 2,
"operator_name": "Poste Mobile",
"operator_slug": "poste-mobile"
}
],
"last_updated": "12 ottobre 2026"
},
"status": "success"
}
}About the Komparatore API
What the API returns
Both endpoints return plan records with a consistent field set: data_gb (numeric GB, null when unlimited), minutes, sms, network (e.g. 4G, 4.5G, 5G), notes, and monthly price in EUR. Unlimited quantities are signalled by companion boolean flags (data_unlimited, minutes_unlimited, sms_unlimited) and human-readable label fields (data_label, minutes_label, sms_label), so you never have to parse Italian prose to distinguish "100 GB" from "illimitati".
list_sim_offers
list_sim_offers returns all matching plans in one response — no pagination — along with a total count, a last_updated date label in Italian (e.g. 12 ottobre 2026), and an operators array containing each operator's operator_name, operator_slug, and offers_count for the active filter. Filter parameters include operator (slug from the operators array), only_5g (boolean), min_data, min_minutes, max_monthly_cost, new_number, and sort. The filters field in the response echoes back whatever combination you passed in.
get_sim_offer
get_sim_offer accepts operator_slug and offer_slug — both emitted by list_sim_offers — and returns the plan's full record including offer_id (integer site ID), description (plain-text long description, null when absent), detail_path (the site's relative path for the plan page), and activation_url (the operator or affiliate activation link, null when activation is handled by callback only). This makes it straightforward to build a detail view or deep-link users directly to the operator's sign-up flow.
The Komparatore API is a managed, monitored endpoint for komparatore.it — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when komparatore.it 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 komparatore.it 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 price-alert system that monitors monthly cost changes across Italian mobile operators using
list_sim_offerssorted by price - Filter only 5G-capable plans with
only_5g: trueand group results by operator using theoperators[].offers_countfield - Generate a comparison table for consumers showing data allowance, minutes, SMS, and network generation side-by-side
- Fetch
activation_urlfromget_sim_offerto deep-link users directly to an operator's sign-up page - Track how many plans each operator lists over time using
operators[].offers_countfrom repeatedlist_sim_offerscalls - Filter plans by
new_number: trueto surface only offers available without number portability - Populate a mobile plan recommendation tool that filters by
min_data,min_minutes, andmax_monthly_costsimultaneously
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does komparatore.it have an official developer API?+
How does `list_sim_offers` handle plans that advertise unlimited data or unlimited minutes?+
null in the numeric fields (data_gb, minutes, sms). Each of those fields has a paired boolean flag — data_unlimited, minutes_unlimited, sms_unlimited — and a human-readable label field (data_label, minutes_label, sms_label) that carries the Italian text shown on the site, so you can display the correct label without parsing free-form strings yourself.Does the API cover broadband or fixed-line offers from komparatore.it, not just mobile SIM plans?+
Is there pagination in `list_sim_offers`?+
total field tells you how many records are included. If you need to narrow the result set, use the available filter parameters: operator, only_5g, min_data, min_minutes, max_monthly_cost, and new_number.