GasBuddy Fuel Prices Scraper avatar

GasBuddy Fuel Prices Scraper

Pricing

$1.35 / 1,000 fuel prices

Go to Apify Store
GasBuddy Fuel Prices Scraper

GasBuddy Fuel Prices Scraper

Collect public US GasBuddy station prices by ZIP, city and state, or exact coordinates. Get reported fuel grades, cash and credit observations, station details, and report times in structured rows.

Pricing

$1.35 / 1,000 fuel prices

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

⛽ GasBuddy fuel prices for local station research

Fuel buyers, fleet teams, and data builders can search public US GasBuddy station data by ZIP or postal code, city and state, or exact coordinates. Get station identity, address, source link, reported prices for every grade GasBuddy reports, cash and credit observations, report times, ratings, offers, payment methods, status, and extraction time in structured dataset rows. Use the rows to compare local prices, map fueling options, or feed a price workflow without copying pages by hand.

Use cases

🧾 Station prices and source details

What you get

The Actor saves one row for each discovered station. A row keeps the station link, address, search location, reported fuel prices, and source details that GasBuddy reports. Optional values stay absent when the source does not report them.

Why it helps

You can compare cash and credit prices, review report times, and keep station context in one dataset. This cuts down on manual page copying while leaving the source values visible for your own checks.

🔎 Search stations by place

How to run

  1. Choose one target type: ZIP or postal codes, city and state, or exact coordinates.
  2. Add one or more values to the matching field. A run uses one target type at a time.
  3. Optionally choose a fuel product to focus the search.
  4. Optionally set a maximum report age or add brand names.
  5. Start the run and open the default dataset.

Result behavior

  • Each saved row is the first eligible match for a station. If another submitted location finds that station later, the later match is ignored.
  • The fuel product focus guides the search. A station row still includes every fuel grade that GasBuddy reports for that station.
  • Cash and credit observations are kept separately, with source report times and contributors when available.

Coverage

GasBuddy data is crowd-sourced. Reports may be old, missing, or different from the price at the pump. The Actor does not promise a current pump price, every grade at every station, or a fixed number of rows. It covers the supported public US GasBuddy search surface.

⚙️ Input

Choose one value for target, then fill in the matching location field. Values in the other location groups are ignored.

Input fields

FieldTypeWhat it does
targetstringRequired. Chooses zip, cityState, or coordinates for the run.
zipCodesarray of stringsOne or more U.S. ZIP or ZIP+4 values, one per line. GasBuddy must resolve each value as a location.
cityStatesarray of stringsOne or more city and state values, such as Austin, TX, one per line.
coordinatesarray of objectsOne or more exact search locations. Each object needs a latitude and longitude.
coordinates[].latitudenumberLatitude for a search location, from -90 to 90.
coordinates[].longitudenumberLongitude for a search location, from -180 to 180.
fuelTypestringOptional focus: regular, midgrade, premium, diesel, e85, or unleaded88. Other reported grades still remain in the row.
maxReportAgeHoursintegerOptional age filter for cash and credit observations. A station is excluded only when neither payment type has an observation within the limit.
brandNamesarray of stringsOptional brand filter. Add one or more brand names, one per line.

Example input

This is copied from the successful current beta default-input run.

{
"target": "zip",
"zipCodes": [
"78701"
]
}

🧾 Output

Run output

FieldTypeWhat it does
datasetUrlstringLinks to all station results in the default dataset view.

The default dataset contains one station row per saved match. The table below covers the complete public dataset shape. Fields marked optional are omitted when the source does not provide them.

Station row fields

FieldTypeWhat it does
stationIdstringStable GasBuddy station ID.
stationNamestringStation name reported by GasBuddy.
brandstring, optionalStation brand when reported.
addressobjectStation street address.
address.streetstringStreet address.
address.citystringStation city.
address.statestringStation state.
address.postalCodestringStation postal code.
stationUrlstringCanonical public GasBuddy station page.
searchLocationobjectThe submitted location value that found the station.
searchLocation.typestringSearch type: zip, cityState, or coordinates.
searchLocation.valuestringSubmitted ZIP, city and state value, or coordinate pair.
distanceMilesnumber, optionalDistance from the search location in miles when GasBuddy reports it.
stationCoordinatesobject, optionalStation latitude and longitude when reported.
stationCoordinates.latitudenumberStation latitude.
stationCoordinates.longitudenumberStation longitude.
pricesarray of objectsFuel grade price records reported for the station.
prices[].fuelTypestringFuel grade, such as regular, midgrade, premium, diesel, e85, or unleaded88.
prices[].cashobject, optionalCash price observation for the grade when reported.
prices[].cash.pricenumberSource-reported cash price in US dollars per gallon.
prices[].cash.reportedAtstring, optionalSource-reported time for the cash price.
prices[].cash.contributorstring, optionalSource-reported contributor for the cash price.
prices[].creditobject, optionalCredit price observation for the grade when reported.
prices[].credit.pricenumberSource-reported credit price in US dollars per gallon.
prices[].credit.reportedAtstring, optionalSource-reported time for the credit price.
prices[].credit.contributorstring, optionalSource-reported contributor for the credit price.
ratingobject, optionalStation rating when reported.
rating.scorenumber, optionalStation rating score when reported.
rating.countinteger, optionalNumber of ratings used for the score when reported.
offersarray of objectsOffers and discounts reported for the station.
offers[].namestring, optionalOffer name.
offers[].detailsstring, optionalOffer details.
offers[].discountstring, optionalDiscount wording reported by GasBuddy.
paymentMethodsarray of strings, optionalPayment methods reported as available at the station.
statusobject, optionalOutage and emergency status when reported.
status.outagestring, optionalOutage status reported by GasBuddy.
status.emergencystring, optionalEmergency status reported by GasBuddy.
extractedAtstringTime when the station row was extracted.

Example station row

This is a complete genuine row from the current beta coordinate run. Optional fields that the source did not return are not added.

{
"stationId": "38761",
"stationName": "Valero",
"address": {
"street": "8538 Research Blvd",
"city": "Austin",
"state": "TX",
"postalCode": "78758"
},
"stationUrl": "https://www.gasbuddy.com/station/38761",
"searchLocation": {
"type": "coordinates",
"value": "30.2672,-97.7431"
},
"prices": [
{
"fuelType": "regular",
"cash": {
"price": 3.69,
"reportedAt": "2026-08-13T14:38:14.517Z",
"contributor": "Valerie0520"
},
"credit": {
"price": 3.69,
"reportedAt": "2026-08-13T14:38:14.517Z",
"contributor": "Valerie0520"
}
},
{
"fuelType": "midgrade",
"cash": {
"price": 4.09,
"reportedAt": "2026-08-13T14:38:14.537Z",
"contributor": "Valerie0520"
},
"credit": {
"price": 4.09,
"reportedAt": "2026-08-13T14:38:14.553Z",
"contributor": "Valerie0520"
}
},
{
"fuelType": "premium",
"cash": {
"price": 4.99,
"reportedAt": "2026-08-13T14:38:14.568Z",
"contributor": "Valerie0520"
},
"credit": {
"price": 4.99,
"reportedAt": "2026-08-13T14:38:14.621Z",
"contributor": "Valerie0520"
}
},
{
"fuelType": "diesel",
"cash": {
"price": 5.09,
"reportedAt": "2026-08-13T14:38:14.636Z",
"contributor": "Valerie0520"
},
"credit": {
"price": 5.09,
"reportedAt": "2026-08-13T14:38:14.652Z",
"contributor": "Valerie0520"
}
}
],
"extractedAt": "2026-08-13T18:28:28.019Z",
"brand": "Valero",
"stationCoordinates": {
"latitude": 30.359933972689,
"longitude": -97.717123031616
},
"rating": {
"score": 3,
"count": 47
},
"offers": [
{
"name": "Flash Deal: Save 2¢ per gallon",
"details": "gasbuddy, strike, sort",
"discount": "Flash Deal: Save 2¢ per gallon"
}
],
"paymentMethods": [
"pay_with_gasbuddy"
]
}

💳 Pricing

How charging works

One event is charged for each station fuel-price row saved to the dataset. The current event price is shown in the Store pricing panel before you run. A row can contain several fuel grades and cash or credit observations.

🔌 Integrations

Dataset and workflow access

Open the default Apify dataset to review the rows. Use the Apify API, schedules, or available dataset integrations to move repeated station searches into your workflow.

Video guide

❓ FAQ

Can I search a city such as Woodlake, Virginia?

Yes. Choose City and state and enter a value such as Woodlake, VA. Results depend on public GasBuddy coverage and the reports available for that location.

Can I submit several locations in one run?

Yes. Choose one target type, then add multiple ZIP codes, city and state values, or coordinate items to its matching field. Values in the other location groups are ignored.

Does the fuel product focus hide other grades?

No. It focuses the search, but each station row still includes every fuel grade that GasBuddy reports for that station.

Can I keep only recent price reports?

Yes. Set maxReportAgeHours. Cash and credit observations are checked separately, and a station is excluded only when neither payment type has an observation within the limit.

Why is a price or station field missing?

GasBuddy may not report every grade, payment type, rating, offer, or status for every station. The Actor keeps available source values and does not invent missing ones.

What happens when two locations find the same station?

The first eligible match is saved. A later match for the same station is ignored, so the saved row keeps the first search location that found it.

Does the Actor guarantee a current pump price or a result count?

No. GasBuddy prices are crowd-sourced and can change after a report. Public coverage, missing grades, and your filters can also change the number of rows.

Do I need a GasBuddy login or API key?

No. The Actor uses public station-search data and does not require a GasBuddy login or private API key.

Which fuel products can I choose?

You can focus on Regular, Midgrade, Premium, Diesel, E85, or Unleaded 88. The row can still include other grades that GasBuddy reports.

📝 Changelog

0.0: Initial release

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré