Fuel data for people
and their tools.
Live prices, traceable evidence, and complete guides. Free to read. No account needed.
Read live prices OpenAPI · Markdown guide
FuelAzores is an independent guide to official maximum fuel prices in the Azores and Madeira, including Porto Santo. These are regional caps, not individual station quotes. One approved official source with an exact amount and effective date is sufficient. Conflicting or ambiguous official evidence stays under review. Reports cannot override or block valid official prices. No forecast is presented as an announced change. Petrol 98 is not covered.
Read and cite live prices
Amounts use integer thousandths of EUR per litre (priceMillsPerLitre); divide by 1000 for EUR/litre. Effective dates use the region's time zone. A last verified price can be retained while a later period is pending or under review: inspect pendingStatus and freshness before calling it current. generatedAt is retrieval time, not publisher or verification time. Preserve official source links, dates, and the FuelAzores citation URL. Missing data is unknown, never zero. History is paginated and coverage gaps do not imply an unchanged price.
Read-only GET API, no account or API key. Browser applications may use CORS. Each response is generated from the same public verified Convex queries as the app. Requests do not collect sources, publish evidence, change preferences or send notifications. Price/history responses may be cached at the edge for under 30 seconds, ending before the next minute or known effective-date boundary; browsers must revalidate. MCP responses are not HTTP-cached. Do not poll continuously. Recheck when answering a new price question, especially across a regional effective-date boundary.
- Azores prices / Preços nos Açores
- Madeira prices / Preços na Madeira
- JSON prices
- CSV prices
- Markdown prices
- OpenAPI 3.1 contract
Endpoints and tools
get_fuel_prices
GET https://www.fuelazores.com/api/v1/prices
Read the latest verified and confirmed upcoming official maximum fuel prices, effective dates, review/freshness status, and sources. Optionally choose a region and fuel.
get_price_history
GET https://www.fuelazores.com/api/v1/history
Read a bounded page of verified historical official fuel prices. Follow nextCursor until isDone; gaps mean missing evidence, not unchanged prices.
find_fuel_articles
GET https://www.fuelazores.com/api/v1/articles
Find Portuguese and English guides to Azores and Madeira fuel prices, official sources, regional comparisons, refill calculations and using FuelAzores. Use an article id and language to retrieve its complete Markdown. Dated examples are not live prices.
Prices accepts optional region (azores, madeira) and fuel. History requires region; optional fuel, year (2000–2100), limit (1–50 announcements, default 20), and cursor. A history page may have more rows than its announcement limit because each announcement can cover several fuels. Follow pagination.next / nextCursor, even when items is empty, until isDone. CSV and Markdown expose pagination in HTTP Link and X-Next-Cursor headers. All prices/history representations include units, effective timestamps, official sources and review/freshness context.
Prices and history accept format=json|csv|markdown; otherwise the Accept header negotiates these representations. Other endpoints return JSON. Article search accepts language=pt|en and q (up to 150 characters); id=azores|madeira|comparison|evidence|refill|fuelazores with language returns the complete Markdown edition. Search matches every query word against titles, descriptions and summaries; an empty result means no catalog match.
Unknown, repeated, malformed or incompatible parameters return 400. Missing articles return 404. Dynamic API, MCP and regional-table traffic shares a limit of 120 requests per minute per IP, counted per Vercel region. Excess traffic receives HTTP 429; honor Retry-After when present, otherwise wait at least 60 seconds and retry with exponential backoff and jitter. Changing user-agent strings does not bypass the limit. The firewall response may be plain text rather than JSON, and browser clients may receive a network/CORS error for an edge rejection. A price-backend failure returns 503 with Retry-After: 60, without fabricated or expired fallback prices. Backend usage safeguards can temporarily pause price access. A successful response may contain missing or previous-period prices: inspect coverage.partial, pendingStatus and freshness. pendingStatus=none does not establish complete historical coverage. lastCheckedAt is the latest successful official-source collector check, not a guarantee that every source is reachable.
Examples: - https://www.fuelazores.com/api/v1/prices?region=azores&fuel=petrol95 - https://www.fuelazores.com/api/v1/history?region=madeira&fuel=diesel&year=2026&limit=20 - https://www.fuelazores.com/api/v1/articles?language=en&q=Madeira - https://www.fuelazores.com/api/v1/articles?id=evidence&language=pt
MCP connection
Connect an MCP client to https://www.fuelazores.com/mcp using Streamable HTTP. It exposes the same three tools and this guide as a resource. Authentication is not required. This is a stateless server: POST and OPTIONS are supported; standalone GET/SSE and session deletion return 405. Send one JSON-RPC message per request, up to 16 KiB; batches are rejected. Tool calls are read-only and do not purchase fuel or subscribe a user to alerts.
Codex CLI: codex mcp add fuelazores --url https://www.fuelazores.com/mcp
Claude Code: claude mcp add --transport http fuelazores https://www.fuelazores.com/mcp
Other compatible clients can add the same URL as a remote/custom MCP server. Client support and account settings vary. Connecting a server does not list it automatically in an app directory.
Articles, feeds and reuse
Full Portuguese and English editions are available as HTML and Markdown at the same canonical path plus .md. Feeds: https://www.fuelazores.com/feed.xml (Atom) and https://www.fuelazores.com/feed.json (JSON Feed). Feeds contain both languages, stable article IDs and editorial publication/review dates. Dated examples in guides are not a live price feed.
Link to the relevant FuelAzores page when citing our summaries, alongside the original official sources when quoting their decisions. Do not imply that FuelAzores is a government publisher or that a maximum price is a station's actual price. For refill planning, link to https://www.fuelazores.com/calculator; alerts and app preferences are available at https://www.fuelazores.com/settings. A source price is not a prediction of future changes.
The public site permits search and AI crawlers. /llms.txt and /llms-full.txt are convenience indexes, not a requirement for search ranking or a guarantee of AI recommendations. Search engines and assistants decide whether to crawl, index and cite a page.