Visual Crossing API
Overview
Visual Crossing offers comprehensive historical weather data, current conditions, and forecasts for any location worldwide, making it particularly valuable for data analysis and building weather-driven insights. It supports queries by city name, address, or coordinates and returns data in JSON or CSV format. Beginners appreciate its clear documentation and a free tier that allows up to 1,000 records per day without a credit card.
Beginner Tip
Sign up at visualcrossing.com for a free API key. The timeline endpoint is the most versatile — you can request historical data, forecasts, or both by changing the date range in the URL.
Available Data
Example Response
{
"location": "Tokyo",
"temperature": {
"current": 22,
"feels_like": 24,
"min": 18,
"max": 26
},
"condition": "Partly Cloudy",
"humidity": 65,
"wind": {
"speed": 12,
"direction": "NE"
},
"forecast": [
{
"date": "2025-01-16",
"high": 25,
"low": 17,
"condition": "Sunny"
}
]
} Field Reference
days Array of daily weather objects covering the requested date range days[].datetime Date string in YYYY-MM-DD format for each day days[].tempmax Maximum temperature for the day in the requested unit group days[].tempmin Minimum temperature for the day days[].precip Total precipitation amount in millimeters (or inches for US units) days[].conditions Human-readable summary of weather conditions such as "Partially cloudy" or "Rain, Overcast" Implementation Example
// Get weather timeline for a location
const url = "https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/London,UK?key=YOUR_API_KEY";
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(`Location: ${data.resolvedAddress}`);
console.log(`Timezone: ${data.timezone}`);
console.log(`Current Conditions: ${data.currentConditions.temp}°F, ${data.currentConditions.conditions}`);
console.log(`Days in forecast: ${data.days.length}`);
data.days.slice(0, 3).forEach(day => {
console.log(`${day.datetime}: ${day.tempmax}°F / ${day.tempmin}°F - ${day.conditions}`);
}); What Can You Build?
Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.
Common Errors & Troubleshooting
Matrix Score Breakdown
Partially tested on Apr 5, 2026
Technical Specifications
Alternatives to Visual Crossing
Technical alternatives for different use cases.
Strong historical weather data going back decades
Real-time weather alerts and push notifications
Historical weather analysis and climate research
Similar APIs
View All →OpenWeatherMap
⭐ Beginner's PickOpenWeatherMap is one of the most popular weather APIs, providing current conditions, forecasts, and historical data for millions of locations worldwide.
WeatherAPI
⭐ Beginner's PickWeatherAPI is a feature-rich weather platform that delivers real-time weather, 14-day forecasts, historical data, and extras like astronomy data (sunrise/sunset, moon phases) and geolocation lookups.
Open-Meteo
⭐ Beginner's PickOpen-Meteo is a completely free and open-source weather API for non-commercial use that provides hourly and daily forecasts, historical data, and climate projections for any location worldwide without requiring an API key.
Weatherbit
Weatherbit is a professional-grade weather API offering current observations, hourly and daily forecasts, historical weather, and severe weather alerts sourced from global meteorological stations.
Weatherstack
⭐ Beginner's PickWeatherstack is a real-time and historical weather data API that covers over 200,000 locations worldwide.