fittings-eia-fuel-price

Original🇺🇸 English
Translated
1 scripts

The current US retail price per gallon of a fuel grade for a region, from the EIA weekly petroleum price survey, with the preceding weeks of history on request. Called as GET /v1/eia/fuel-price, it takes area, product, weeks and returns found, area, product, latest. Fuel price is an input to mileage reimbursement, freight quoting and cost-of-travel estimates, and it moves every week. A model’s memory of it is wrong the day after training; EIA publishes the current number but only behind a code system - duoarea NUS, product EPMR - that nobody can guess, so this accepts the words a caller actually has. Reading this schema and dry-running the call are free and need no wallet; a real call costs $0.004, paid in USDC on Base over x402.

1installs
Added on

NPX Install

npx skill4agent add fittings-sh/fittings fittings-eia-fuel-price

Tags

Translated version includes tags in frontmatter

US retail gasoline and diesel price

eia.fuel-price
on
https://fittings.sh
. One endpoint, weather and earth.
The current US retail price per gallon of a fuel grade for a region, from the EIA weekly petroleum price survey, with the preceding weeks of history on request.

The call

GET https://fittings.sh/v1/eia/fuel-price
FieldTypeRequiredNotes
area
stringnoEIA area code or published name, e.g. 'NUS', 'California', 'PADD 2'. Default the US average
product
stringnoEIA product code or published name, e.g. 'EPMR', 'Regular Gasoline', 'No 2 Diesel'. Default regular gasoline
weeks
numbernoWeekly observations to return, 1-52, default 1
Example input:
json
{
  "area": "California",
  "product": "Regular Gasoline",
  "weeks": 4
}

Metered

The 402 quotes a ceiling — the price of the declared cap, 52 weeks — and settlement is for what the call actually used. A small request settles for less than it was quoted, so read the quote as an upper bound rather than a price.

Cost and provenance

Price$0.004 per call, metered per weeks
SourceU.S. Energy Information Administration Open Data API v2, weekly retail gasoline and diesel prices - a US federal work in the public domain
Licencepublic-domain
AttributionSource: U.S. Energy Information Administration

Why call it rather than answer from memory

Fuel price is an input to mileage reimbursement, freight quoting and cost-of-travel estimates, and it moves every week. A model’s memory of it is wrong the day after training; EIA publishes the current number but only behind a code system - duoarea NUS, product EPMR - that nobody can guess, so this accepts the words a caller actually has.

Calling it

A skill is loaded on its own, so this document has to be enough by itself. It does not assume the general
fittings
skill is also loaded.
call.mjs
ships alongside this file; if it is missing (this document reached you without the rest of the skill), fetch it once with
curl -sO https://fittings.sh/skill/call.mjs
.
Free, and needs no wallet. Read the schema and see what a call would cost:
bash
curl -s https://fittings.sh/catalog/eia.fuel-price | jq
Paying. The endpoint answers
402 Payment Required
with a signed quote, you sign an authorization, and a facilitator settles it — you never send a transaction and never pay gas. Before it spends anything, the client checks its own hash against the gateway and refuses rather than sign with logic the gateway has moved past:
bash
# Dry run. Prints the quote and pays nothing, because no key is set.
node call.mjs eia.fuel-price area=California product="Regular Gasoline" weeks=4

# For real: a wallet holding USDC on Base, and nothing else.
export FITTINGS_PRIVATE_KEY=0x...
node call.mjs eia.fuel-price area=California product="Regular Gasoline" weeks=4
Spending is never a side effect of curiosity: with no
FITTINGS_PRIVATE_KEY
the client fetches the quote and stops.
FITTINGS_MAX_PRICE
caps what it will pay without asking, and defaults to $0.05.
Use a throwaway wallet holding a few dollars, not a main one. The key sits in plaintext wherever the agent runs, and the whole cost of entry is USDC on Base — no account, no API key, and no ETH, because the payer signs off-chain and the facilitator broadcasts and pays the gas.
Writing your own client instead of using this one?
@x402/core
and
@x402/evm
on npm, and the
fittings
skill records the two things that cost real debugging time: the challenge is in a response header rather than the body, and it must be re-signed from the exact request being retried.
If this is not the right service,
https://fittings.sh/catalog/search?q=...
searches all of them for free.