Weather Scraper - Forecast, History & Air Quality avatar

Weather Scraper - Forecast, History & Air Quality

Pricing

$1.00 / 1,000 record scrapeds

Go to Apify Store
Weather Scraper - Forecast, History & Air Quality

Weather Scraper - Forecast, History & Air Quality

Give it place names or coordinates and get current conditions, a daily forecast up to 16 days, historical daily records going back years, optional hourly detail and air quality. One row per location per period.

Pricing

$1.00 / 1,000 record scrapeds

Rating

0.0

(0)

Developer

Goutam Soni

Goutam Soni

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

Weather Scraper

Give it place names or coordinates and get current conditions, a daily forecast, historical records and air quality. One row per location per period. No login and no API key.

What it does

  • Place names work directly - enter Singapore or London and the location is matched to a point for you. Exact coordinates are accepted too.
  • Current conditions - temperature, what it feels like, humidity, wind, gusts, cloud cover, pressure and whether it is day or night.
  • Daily forecast up to 16 days - high and low, precipitation total and chance, wind, UV index, sunrise and sunset.
  • Historical records going back years, in the same shape as the forecast, so you can join them.
  • Hourly detail on request, for both forecast and history.
  • Air quality on request - AQI plus the individual pollutant levels.
  • Plain English conditions on every row, not just a numeric code, plus wind direction as a compass point.
  • Metric or imperial, your choice.

Common uses: building a weather history for a location, demand and sales forecasting, travel and logistics planning, agriculture, energy modelling, and adding weather to any dataset that has a place in it.

Input

FieldTypeDescription
locationsarrayPlace names to look up.
coordinatesarrayExact points as latitude,longitude.
modestringforecast, historical or both.
forecastDaysintegerDays ahead, up to 16. Default 7.
startDate / endDatestringHistorical range, YYYY-MM-DD.
includeHourlybooleanAdd one row per hour. Multiplies rows by 24.
includeAirQualitybooleanAdd a current air quality row per location.
unitsstringmetric or imperial.
proxyConfigurationobjectOptional. Enable to spread requests across IPs.

Example input

{
"locations": ["Singapore", "London"],
"mode": "both",
"forecastDays": 14,
"startDate": "2026-06-01",
"endDate": "2026-06-30",
"includeAirQuality": true,
"units": "metric"
}

Output

Rows start with the location and a type, so the four shapes are easy to split.

A forecast or historical day:

{
"location": "Example City, Example Region, Example Country",
"latitude": 1.28967,
"longitude": 103.85007,
"country": "Example Country",
"region": "Example Region",
"timezone": "Asia/Singapore",
"type": "forecast",
"date": "2026-07-20",
"weatherCode": 61,
"conditions": "Slight rain",
"temperatureMax": 32.1,
"temperatureMin": 26.4,
"feelsLikeMax": 38.0,
"feelsLikeMin": 29.2,
"precipitationSum": 12.4,
"rainSum": 12.4,
"snowfallSum": 0.0,
"precipitationHours": 5.0,
"precipitationChance": 68.0,
"windSpeedMax": 14.8,
"windGustsMax": 32.4,
"windDirection": 210.0,
"windCompass": "SSW",
"uvIndexMax": 7.35,
"sunrise": "2026-07-20T07:05",
"sunset": "2026-07-20T19:12"
}

Current conditions use type: "current", hourly rows use type: "hourly", and air quality uses type: "air_quality" with europeanAqi, usAqi, pm10, pm25 and the other pollutants.

Notes

  • No login and no API key. Enter a place and run.
  • Every date and time is in the location's own timezone, which is returned on the row so there is no guessing.
  • The last day of a long forecast can be partial, because the forecast model's horizon runs out. Those rows still carry the date and whatever the model does provide.
  • Historical records are published with a short delay, so the most recent day or two may not be available yet.
  • Locations that cannot be matched to a place are reported and skipped rather than returned as empty rows.

To improve our actors we collect anonymized usage telemetry (run stats and input patterns). No personal account data is collected.