Discover/ilportaleofferte API
live

ilportaleofferte APIilportaleofferte.it ↗

Query ARERA Portale Offerte for electricity, gas, and dual fuel offer comparisons by municipality and consumption profile. Returns ranked offers with cost breakdowns.

Endpoint health
monitored
compare_dual_fuel_offers
compare_electricity_offers
get_electricity_offer_detail
get_dual_fuel_offer_detail
compare_gas_offers
Checks pendingself-healing
Endpoints
6
Updated
2h ago

What is the ilportaleofferte API?

This API exposes 5 endpoints covering the Italian ARERA Portale Offerte comparison tool, letting you retrieve ranked electricity, gas, and dual fuel offers for any Italian municipality or CAP code. The compare_electricity_offers endpoint returns every electricity offer ordered by estimated annual cost, while get_electricity_offer_detail and its gas and dual-fuel equivalents return itemised cost breakdowns, seller contacts, discounts, payment methods, and official ARERA offer codes.

This call costs2 credits / call— charged only on success
Try it
Supply use: domestic home or other uses. In testing the site returned no dual fuel offers for 'other'.
Annual gas consumption in standard cubic metres (Smc) used for the cost estimate.
Comma-separated gas uses from: cooking, hot_water, heating, technological (e.g. cooking,hot_water,heating). Do NOT pass an array.
Italian comune name (e.g. Roma) or 5-digit CAP (e.g. 20121) of the supply point.
Contracted electricity power in kW. The site's menu offers 1.5, 3, 4.5, 6, 10, 15; any other positive value is passed as a custom power.
Whether the supply point is the customer's residence (domestic use only).
Whether to list fixed-price or variable-price offers.
Electricity pricing scheme: time_bands (three ARERA bands F1/F2/F3) or single (single-rate).
Restrict to a market category of offers.
Only offers with electricity from renewable sources.
Annual electricity consumption in kWh used for the cost estimate.
Gas meter class.
→ api.parse.bot/scraper/4e39250d-e7dd-484d-a0a9-72e091da61eb/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/4e39250d-e7dd-484d-a0a9-72e091da61eb/compare_dual_fuel_offers?location=Roma' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 6 totalmissing one? ·

Runs the Portale Offerte 'Dual Fuel' comparison for an Italian municipality (comune name or 5-digit CAP) and a consumption profile, and returns every dual fuel offer the site lists, ordered by estimated annual cost ascending (the site's default order). Each row is one combined offer with its estimated yearly spend in EUR plus the electricity and gas components. The site returns the whole result set in one page, so there is no pagination; total_found is the site's own count and an empty offers list with total_found 0 is a valid result (seen for usage=other). The location is resolved through the site's municipality lookup: an exact comune-name or CAP match is used, otherwise the first suggestion; an unknown location yields a stale_input error. Three round trips per call. The electricity consumption, when tariff_type is time_bands, is split into the three time bands the same way the site's form does (33%/31%/36% for domestic, 44%/24%/32% otherwise).

Input
ParamTypeDescription
usagestringSupply use: domestic home or other uses. In testing the site returned no dual fuel offers for 'other'.
gas_smcintegerAnnual gas consumption in standard cubic metres (Smc) used for the cost estimate.
gas_usesstringComma-separated gas uses from: cooking, hot_water, heating, technological (e.g. cooking,hot_water,heating). Do NOT pass an array.
locationrequiredstringItalian comune name (e.g. Roma) or 5-digit CAP (e.g. 20121) of the supply point.
power_kwnumberContracted electricity power in kW. The site's menu offers 1.5, 3, 4.5, 6, 10, 15; any other positive value is passed as a custom power.
residentbooleanWhether the supply point is the customer's residence (domestic use only).
price_typestringWhether to list fixed-price or variable-price offers.
tariff_typestringElectricity pricing scheme: time_bands (three ARERA bands F1/F2/F3) or single (single-rate).
offer_categorystringRestrict to a market category of offers.
renewable_onlybooleanOnly offers with electricity from renewable sources.
electricity_kwhintegerAnnual electricity consumption in kWh used for the cost estimate.
gas_meter_classstringGas meter class.
Response
{
  "type": "object",
  "fields": {
    "offers": "array of dual fuel offers ordered by annual_cost_eur ascending",
    "search": "echo of the resolved search profile, including the resolved municipality name and ISTAT code",
    "total_found": "integer, the site's own count of dual fuel offers for this profile",
    "offers[].gas": "gas component: offer_name, valid_from, valid_to, annual_cost_eur",
    "offers[].offer_id": "string numeric site identifier of the combined offer; pass to get_dual_fuel_offer_detail",
    "offers[].valid_to": "ISO date YYYY-MM-DD the offer can be subscribed until",
    "offers[].offer_code": "official ARERA offer code",
    "offers[].valid_from": "ISO date YYYY-MM-DD the offer can be subscribed from",
    "offers[].electricity": "electricity component: offer_name, valid_from, valid_to, annual_cost_eur",
    "offers[].annual_cost_eur": "estimated yearly spend in EUR for the combined offer"
  },
  "sample": {
    "data": {
      "offers": [
        {
          "gas": {
            "valid_to": "2026-10-31",
            "offer_name": "Accendi ECOLOGICA Luce e Gas 24 Mesi",
            "valid_from": "2026-10-01",
            "annual_cost_eur": 2176.42
          },
          "seller": "ALLEANZA LUCE&GAS S.p.A. - in breve ALG S.p.A.",
          "offer_id": "1447658",
          "valid_to": "2026-10-31",
          "offer_code": "023912DSFFL01XXY2610ECOLOGK24BIR",
          "offer_name": "Accendi ECOLOGICA Luce e Gas 24 Mesi",
          "valid_from": "2026-10-01",
          "electricity": {
            "valid_to": "2026-10-31",
            "offer_name": "Accendi ECOLOGICA Luce e Gas 24 Mesi",
            "valid_from": "2026-10-01",
            "annual_cost_eur": 916.22
          },
          "seller_website": "https://www.accendilucegas.it",
          "annual_cost_eur": 3092.64
        }
      ],
      "search": {
        "usage": "domestic",
        "gas_smc": 1400,
        "gas_uses": [
          "cooking",
          "hot_water"
        ],
        "location": "Roma",
        "power_kw": 3,
        "resident": true,
        "istat_code": "058091",
        "price_type": "fixed",
        "tariff_type": "time_bands",
        "offer_category": "all",
        "renewable_only": false,
        "electricity_kwh": 2700,
        "gas_meter_class": 1
      },
      "total_found": 9
    },
    "status": "success"
  }
}

About the ilportaleofferte API

What the API covers

The API mirrors all three comparison modes available on ilportaleofferte.it: electricity-only (compare_electricity_offers), gas-only (compare_gas_offers), and dual fuel (compare_dual_fuel_offers). Each comparison endpoint accepts a location parameter (Italian comune name or 5-digit CAP), an optional price_type to filter fixed vs. variable offers, and consumption-profile inputs such as power_kw (electricity contracted power in kW) and gas_smc (annual gas consumption in standard cubic metres). Results are ordered by annual_cost_eur ascending, matching the site's default sort. Every offer row includes offer_id, offer_code (the official ARERA code), valid_from, valid_to, and discount_summary where the site publishes one.

Detail endpoints

Passing an offer_id from a comparison result to get_electricity_offer_detail, get_dual_fuel_offer_detail, or the gas equivalent returns the full offer record. This includes a cost_breakdown array that itemises each section of the estimated annual spend (section label, total_eur, and individual components with quota, name, value, value_raw). The response also carries attributes (seller phone, website URL, activation channels, payment methods, duration of economic conditions), a discounts array with grouping (always/not-always applicable), and offer_document_url when the seller publishes a document link. description and guarantees are strings that can be null when the seller does not publish them.

Dual fuel specifics

Dual fuel results nest two sub-objects — electricity and gas — each with their own offer_name, valid_from, valid_to, and annual_cost_eur. The top-level annual_cost_eur is the combined estimated yearly spend. During testing the site returned no dual fuel offers when usage is set to other; only the domestic home use case yields results. The gas_uses parameter accepts a comma-separated list from cooking, hot_water, heating, technological and affects the cost estimate accordingly.

Reference rows

Both compare_electricity_offers and compare_gas_offers return a protected_service field alongside the market offers. For electricity this is the regulated Maggior Tutela row; for gas it is the Tutela della Vulnerabilità row. Each contains a name and annual_cost_eur so you can benchmark market offers against the regulated fallback. total_found reflects the site's own count and includes this reference row.

Reliability & maintenance

The ilportaleofferte API is a managed, monitored endpoint for ilportaleofferte.it — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ilportaleofferte.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 ilportaleofferte.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?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a cost-comparison dashboard for Italian households, ranking electricity and gas offers by estimated annual spend for their CAP and consumption profile.
  • Track how market offer prices change over time relative to the regulated Maggior Tutela or Tutela della Vulnerabilità reference rows.
  • Filter dual fuel offers by price_type (fixed vs. variable) and tariff_type (time-banded vs. single-rate) to match a specific household's metering setup.
  • Extract full cost_breakdown sections from offer detail endpoints to show customers exactly which tariff components drive their annual estimate.
  • Alert customers when a currently subscribed offer's valid_to date is approaching, using the date fields returned by comparison endpoints.
  • Aggregate seller attributes data (activation channels, payment methods) across all offers for a location to compare service accessibility.
  • Cross-reference offer_code values against ARERA's published register to verify offer metadata or enrich results with additional regulatory information.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 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.

Frequently asked questions
Does ilportaleofferte.it have an official developer API?+
No. ARERA's Portale Offerte at ilportaleofferte.it does not publish a documented public API for third-party developers. This Parse API provides structured programmatic access to the comparison data the site exposes.
What does compare_gas_offers return that compare_electricity_offers does not?+
compare_gas_offers accepts gas-specific inputs — gas_smc (annual consumption in standard cubic metres), gas_uses (a comma-separated list of use types such as cooking, hot_water, heating, technological), and gas_meter_class — none of which apply to electricity-only comparisons. It also returns a protected_service row representing the Tutela della Vulnerabilità regulated rate rather than the electricity Maggior Tutela row.
Does the API return gas offer detail pages, or only the comparison list?+
The API currently covers comparison lists for gas (compare_gas_offers) and full detail pages for electricity and dual fuel offers via get_electricity_offer_detail and get_dual_fuel_offer_detail. A dedicated get_gas_offer_detail endpoint is not currently included. You can fork this API on Parse and revise it to add that endpoint using the offer_id values already returned by compare_gas_offers.
Does the dual fuel comparison work for non-domestic (business) supply points?+
In practice, no. The site returns no dual fuel offers when usage is set to other (non-domestic). Dual fuel results are only available for the domestic home use case. The electricity-only and gas-only comparison endpoints do accept other as a usage value and return results for that segment.
Are the cost estimates real-time, and how current is the offer data?+
Estimates reflect the consumption profile you supply and the tariff components the site has on record for each offer at the time of the request. Offer validity is bounded by the valid_from and valid_to fields on each result row. The site does not expose a timestamp for when individual offers were last updated by sellers, so there is no guaranteed freshness indicator beyond those subscription-window dates.
Page content last updated . Spec covers 6 endpoints from ilportaleofferte.it.
Related APIs in Government PublicSee all →