Discover/OpenWeatherMap API
live

OpenWeatherMap APIopenweathermap.org

Get current weather, 48-hour hourly forecasts, 8-day daily forecasts, and minutely precipitation data for any city or coordinate pair.

Endpoint health
verified 2d ago
get_weather_by_city
get_weather
search_city
3/3 passing latest checkself-healing
Endpoints
3
Updated
26d ago

What is the OpenWeatherMap API?

This API exposes 3 endpoints that cover city search, coordinate-based weather retrieval, and a combined city-to-weather lookup against OpenWeatherMap. The get_weather endpoint returns up to 8 fields of forecast depth — current conditions, minutely precipitation for the next hour, hourly forecasts for 48 hours, and daily forecasts for 8 days — all indexed by latitude and longitude. The get_weather_by_city endpoint collapses city resolution and forecast retrieval into a single call.

Try it
Maximum number of results to return
City name or search query (e.g., 'London', 'Paris, FR')
api.parse.bot/scraper/98c25339-1e3f-49c0-8192-b1448748f87d/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/98c25339-1e3f-49c0-8192-b1448748f87d/search_city?limit=5&query=London' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace openweathermap-org-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: OpenWeather SDK — search cities, fetch forecasts, drill into typed models."""
from parse_apis.openweather_scraper_api import OpenWeather, Units, CityNotFound

client = OpenWeather()

# Search for cities matching a query — limit caps total items fetched.
for city in client.cities.search(query="London", limit=3):
    print(city.name, city.country, city.lat, city.lon)

# Construct a city by name and fetch its full weather report.
report = client.city("Tokyo").weather(units=Units.METRIC)
print(report.timezone, report.current.temp, report.current.humidity)

# Drill into the daily forecast for tomorrow's high/low.
today = report.daily[0]
print(today.summary, today.temp.max, today.temp.min)

# Fetch weather by coordinates directly.
try:
    london_weather = client.weatherreports.get(lat="51.5073", lon="-0.1276", units=Units.IMPERIAL)
    print(london_weather.timezone, london_weather.current.temp, london_weather.current.wind_speed)
except CityNotFound as exc:
    print(f"City not found: {exc.query}")

print("exercised: cities.search / city.weather / weatherreports.get / daily forecast drill-down")
All endpoints · 3 totalmissing one? ·

Search for cities by name and return their coordinates and country details. Returns an array of matching city objects with name, latitude, longitude, country code, state, and local name translations. Use this to resolve a city name to coordinates before calling get_weather.

Input
ParamTypeDescription
limitintegerMaximum number of results to return
queryrequiredstringCity name or search query (e.g., 'London', 'Paris, FR')
Response
{
  "type": "object",
  "fields": {
    "cities": "array of city objects each containing name, lat, lon, country, state, and local_names"
  },
  "sample": {
    "data": {
      "cities": [
        {
          "lat": 51.5073219,
          "lon": -0.1276474,
          "name": "London",
          "state": "England",
          "country": "GB",
          "local_names": {
            "en": "London",
            "fr": "Londres"
          }
        }
      ]
    },
    "status": "success"
  }
}

About the OpenWeatherMap API

Endpoints and What They Return

The search_city endpoint accepts a query string (e.g., 'Paris, FR') and an optional limit integer, returning an array of city objects. Each object includes name, lat, lon, country, state, and a local_names map with translations. This is the intended first step when you have a city name rather than coordinates.

The get_weather endpoint requires lat and lon strings and returns a weather object containing timezone, timezone_offset, and nested arrays: current conditions, minutely precipitation (next 60 minutes at 1-minute intervals), hourly forecasts (48 hours), and daily forecasts (8 days). Set units to 'metric' for Celsius and m/s, or 'imperial' for Fahrenheit and mph. Pass extended_hourly: true to receive an additional extended_hourly field covering up to 16 days of hourly data.

Combined Lookup

get_weather_by_city accepts a query string and optional units, resolves the first matching city, and returns the full weather payload alongside a location object — the same city object that search_city would return. This is useful when you want weather for a named place and do not need to inspect multiple city candidates first.

Coverage Notes

All three endpoints draw on OpenWeatherMap's global station and model data. The current block includes fields such as temperature, feels-like, humidity, wind speed, wind direction, cloud cover, UV index, visibility, and a weather array describing conditions with icon codes. The daily array adds moon_phase, summary, sunrise/sunset, and pop (probability of precipitation) per day.

Reliability & maintenanceVerified

The OpenWeatherMap API is a managed, monitored endpoint for openweathermap.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when openweathermap.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official openweathermap.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Display a location's current temperature, humidity, and UV index in a dashboard using get_weather with metric units.
  • Build a 7-day forecast widget by reading the daily array from get_weather_by_city.
  • Resolve ambiguous city names to coordinates with search_city before passing lat/lon to weather endpoints.
  • Track hourly precipitation probability over the next 48 hours from the hourly array for outdoor event planning.
  • Show minutely rain intensity for the next hour using the minutely field to warn users of imminent precipitation.
  • Support imperial vs. metric user preferences by toggling the units parameter on get_weather or get_weather_by_city.
  • Generate extended 16-day hourly projections by enabling the extended_hourly flag on get_weather.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does OpenWeatherMap have an official developer API?+
Yes. OpenWeatherMap publishes its own developer API at https://openweathermap.org/api, including the One Call API 3.0, geocoding endpoints, and historical data products, all accessed with an API key registered on their platform.
What does the `daily` forecast array contain?+
Each object in the daily array includes date, sunrise, sunset, temperature (day, night, min, max, morning, evening), feels-like temperatures, pressure, humidity, wind speed and direction, cloud cover, UV index, precipitation probability (pop), rain or snow volume, moon phase, and a weather array with a condition code and icon.
Does `get_weather_by_city` return results for multiple matching cities?+
No — it uses the first result returned by city search. If you need to inspect multiple candidates and let the caller pick the correct one, use search_city first, then pass the chosen lat and lon to get_weather directly.
Is historical weather data available through this API?+
Not currently. The API covers current conditions, minutely precipitation, 48-hour hourly forecasts, and 8-day daily forecasts. Historical time-series data is not exposed by any of the three endpoints. You can fork this API on Parse and revise it to add a historical weather endpoint.
Are weather alerts (e.g., storm warnings) included in the response?+
Not currently. The get_weather response includes current conditions and forecasts but does not contain an alerts array for severe weather warnings. You can fork this API on Parse and revise it to surface the alerts field if OpenWeatherMap returns it for your target location.
Page content last updated . Spec covers 3 endpoints from openweathermap.org.
Related APIs in WeatherSee all →
accuweather.com API
Get real-time weather conditions, multi-day forecasts, and health alerts for any location worldwide. Search cities and access detailed data including allergen information and air quality to plan your activities with confidence.
weatherunderground.com API
Get real-time weather data and 10-day forecasts for any location, with access to current conditions like temperature, humidity, and wind speed. Search for locations and receive detailed weather narratives to plan your day or week ahead.
weatherforecast.com API
Get detailed 12-day weather forecasts for any location worldwide, with temperature, wind, rain, humidity, and UV index data updated three times daily. Search locations and retrieve comprehensive weather information suitable for travel planning, research, and general forecasting needs.
wunderground.com API
Access real-time weather conditions, multi-day forecasts, and detailed historical weather data from thousands of personal and airport weather stations worldwide. Search and retrieve current observations, hourly history, and monthly records to power your weather applications and analysis.
meteo.pl API
Get detailed weather forecasts with temperature, pressure, wind, precipitation, and cloud data for any location using multiple weather models (UM, GFS) from Poland's Institute of Meteorology and Water Management. Search locations and access available forecasts to plan ahead with comprehensive meteorological information.
weatherspark.com API
Get historical weather data, current METAR reports, and monthly climate summaries for any location by searching WeatherSpark's comprehensive weather database. Access detailed weather insights including temperature trends, precipitation patterns, and atmospheric conditions to power weather-dependent applications and analysis.
metoffice.gov.uk API
Access detailed UK weather forecasts, real-time lightning tracking, and weather warnings from the Met Office. Search locations to retrieve hourly, daily, regional, and long-range predictions, and monitor storm activity with spot forecasts across any geographic area.
weather.com.cn API
Get real-time weather conditions, 7-day to 40-day forecasts, air quality data, and weather alerts for any city in China. Track hourly observations and life indices to plan your activities with complete weather intelligence.