Visual Crossing Weather
Historical and forecast weather data API with CSV and JSON output, supporting 40+ years of history and 15-day forecasts.
🔴 Offline · 415 ms
0%
1,000 records/day, free key, no credit card
API key
Free alternatives (live ranking)
- NOAA National Weather Service — 🟢 Online · Unlimited (US only), no key, no credit card
- Weatherstack — 🟢 Online · 100 calls/month, free key, no credit card
- 7Timer! — 🟢 Online · Unlimited, no key, no credit card
Compare Visual Crossing Weather with…
- Visual Crossing Weather vs NOAA National Weather Service — Unlimited (US only), no key, no credit card
- Visual Crossing Weather vs Weatherstack — 100 calls/month, free key, no credit card
- Visual Crossing Weather vs 7Timer! — Unlimited, no key, no credit card
Paid alternatives
- Visual Crossing Pro — from $35/mo
Frequently Asked Questions
Does Visual Crossing Weather require an API key?
Yes, Visual Crossing Weather requires a free API key. You can sign up via https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/.
What is Visual Crossing Weather's free tier?
1,000 records/day, free key, no credit card
Is Visual Crossing Weather currently online?
We check Visual Crossing Weather every hour. The current status is shown at the top of this page. You can also see the 30-day uptime history in the chart above.
Implementation notes
When to use Visual Crossing Weather
Visual Crossing is the strongest free option in 2026 for historical weather analysis and climate research. The archive goes back to 1970 for most global locations with hourly granularity and returns data in either JSON or CSV — a nice touch for data science workflows piping directly into pandas, R, or Excel. Choose Visual Crossing over Open-Meteo when your primary need is deep historical analysis (climate trend detection, backtesting weather-sensitive strategies, ML training datasets), CSV output for offline analysis, or business licensing clarity for commercial projects. Choose Open-Meteo for real-time forecasts and general-purpose use.
Common pitfalls
- Visual Crossing counts a 'record' differently from an 'API call'. One call requesting 30 days of daily data returns 30 records and uses 30 of your 1,000 daily free allocation. A 15-day forecast costs 15 records. If you are requesting hourly data, one week costs 168 records (7 days × 24 hours).
- The timeline endpoint accepts both city names and coordinates, but city name resolution sometimes returns a different location than expected for small towns. Use coordinates from a geocoder for precision.
- Sunrise/sunset and moon phase fields are included in the default response at no extra record cost, but UV index and soil temperature require the `elements` parameter to be explicitly listed.
- The free plan restricts data to your account's registration country by IP in some edge cases. If you see 403 errors for foreign locations from a restricted network, test from a different IP.
- The response format changes based on whether you request one day or a range. Single-day queries return a top-level object; multi-day queries return an array under `days`. Code that handles only the single-day shape will crash silently when a user queries a range.
Quick start (bash)
curl "https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/London/2024-01-01/2024-01-07?unitGroup=metric&key=YOUR_KEY&contentType=json" From our monitoring
Visual Crossing has been remarkably consistent in our monitoring — 99.8% uptime and sub-500ms response times globally. The CSV output format is a genuinely nice feature that saves ~30 minutes of pandas parsing per analysis notebook. The 1,000-record daily free tier is honest and refill happens at 00:00 UTC. Their support team responds within a day on the free tier which is unusual for a paid-tier-oriented API.
Production integration patterns
Historical batch download pipeline
For climate analysis or ML training datasets, batch-download years of historical data once, cache to Parquet or CSV, and iterate offline. Visual Crossing's `timeline` endpoint accepts date ranges of up to a year in a single call. Two years for one city at daily granularity = 730 records (still within a daily 1,000 budget). Ten cities × 20 years × daily = 73,000 records over 73 days of batched calls. Perfectly feasible for a weekend project.
Storm event backtracking
When a customer reports an outage due to weather, developers often need to answer 'was there actually a storm at their location on that date?' Visual Crossing's precision on historical extremes is better than Open-Meteo's ERA5 reanalysis for point-in-time queries. Pattern: on incident report, fetch the specific date's hourly data for the customer coordinates, check for wind speed > 60 mph or precipitation > 25mm in any hour. One call, one record cost, immediate answer.
Compared to the closest paid alternatives
vs Open-Meteo Historical (archive-api) — Free: 10k calls/day non-commercial · Commercial: €29/month
Open-Meteo's archive covers 1940-present (deeper than Visual Crossing's 1970 start) and is completely free with generous rate limits. The trade-off: Open-Meteo uses ERA5 reanalysis which is smoother than raw station data — great for climatology, less good for exact-day precision at specific points. For deep historical trend analysis Open-Meteo wins on cost; for point-in-time incident forensics Visual Crossing wins on precision.
vs Meteomatics — No free tier · Enterprise: $200+/month
Meteomatics is the enterprise choice for historical weather with a paid-only model ($200+/month for meaningful volume). It has the cleanest API design of any weather provider and offers grid-point access without geocoding, but there's no useful free tier. Only relevant if you're building B2B products with weather-critical decisions (insurance underwriting, energy trading).
Embed this badge
Add a live status badge to your README, docs, or website.
Markdown
[](https://freeapi.watch/visual-crossing) HTML
<a href="https://freeapi.watch/visual-crossing"><img src="https://freeapi-builder.a10ayassine.workers.dev/badge/visual-crossing.svg" alt="Visual Crossing Weather Status"/></a>