Skip to main content gottem  — one API for every scraper.
Weather & Environment
Verified

Weather Underground Scraper

Extract hyperlocal weather data, personal weather station readings, historical records, and community reports from Weather Underground. Built on spider-browser .

Get started Docs
target
wunderground.com
success rate
99.9%
latency
~4ms
Quick start

Extract data in minutes.

weather-underground-scraper.ts
import { SpiderBrowser } from "spider-browser";

const spider = new SpiderBrowser({
  apiKey: process.env.SPIDER_API_KEY!,
});

await spider.connect();
const page = spider.page!;
await page.goto("https://www.wunderground.com/weather/us/ny/new-york-city");
await page.content();

const data = await page.evaluate(`(() => {
  const weather = {};
  weather.temperature = document.querySelector(".current-temp .wu-value")?.textContent?.trim();
  weather.condition = document.querySelector(".condition-icon p")?.textContent?.trim();
  weather.feelsLike = document.querySelector("[data-testid='FeelsLike'] .wu-value")?.textContent?.trim();
  weather.wind = document.querySelector("[data-testid='Wind'] .wu-value")?.textContent?.trim();
  weather.humidity = document.querySelector("[data-testid='Humidity'] .wu-value")?.textContent?.trim();
  weather.pressure = document.querySelector("[data-testid='Pressure'] .wu-value")?.textContent?.trim();
  weather.station = document.querySelector(".station-name")?.textContent?.trim();
  return JSON.stringify(weather);
})()`);

console.log(JSON.parse(data));
await spider.close();
ready to run · spider-browser · TypeScript
Fetch API

One endpoint for wunderground.com.

Structured JSON from wunderground.com with a single POST. AI-resolved selectors, cached on the first call.

POST /fetch/wunderground.com/
TemperatureDew pointHumidityWind speedPressurePrecipitation rate
cURL
curl -X POST https://api.spider.cloud/fetch/wunderground.com/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"return_format": "json"}'
Python
import requests

resp = requests.post(
    "https://api.spider.cloud/fetch/wunderground.com/",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={"return_format": "json"},
)
print(resp.json())
Node.js
const resp = await fetch("https://api.spider.cloud/fetch/wunderground.com/", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ return_format: "json" }),
});
const data = await resp.json();
console.log(data);
Extraction

Fields you can pull.

TemperatureDew pointHumidityWind speedPressurePrecipitation rateStation nameHistory
Data

Weather data capture

Extract forecasts, conditions, and historical weather from wunderground.com.

Rendering

Map & chart handling

Full rendering for interactive weather maps and data visualizations.

Freshness

Real-time updates

Capture frequently updated weather data and environmental readings.

Related

More Weather & Environment scrapers.

Start

Start scraping wunderground.com.

Grab an API key and call the endpoint above. The first request resolves the config; every request after hits cache.