Discover/Gov API
live

Gov APIbom.gov.au

Access Bureau of Meteorology weather forecasts for Australian cities. Get multi-day temperature, precipitation, UV index, and location search via 2 endpoints.

Endpoint health
verified 6d ago
get_forecast
search_locations
2/2 passing latest checkself-healing
Endpoints
2
Updated
21d ago

What is the Gov API?

The BOM API provides weather forecast data sourced from Australia's Bureau of Meteorology across 2 endpoints. The get_forecast endpoint returns up to 8 days of daily forecasts — including max/min temperatures in Celsius, precipitation probability, UV index, and weather descriptions — for any searchable Australian city. The search_locations endpoint resolves city and suburb names to geocoded location records with state, postcode, and timezone.

Try it
Australian city name to get forecast for.
Number of forecast days to return (1 to 8).
api.parse.bot/scraper/fd5101ce-6a40-4855-966d-758610b61fb0/<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/fd5101ce-6a40-4855-966d-758610b61fb0/get_forecast?city=Sydney&days=3' \
  -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 bom-gov-au-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: Australian BOM Weather API — bounded, re-runnable."""
from parse_apis.australian_weather_forecast_api_bom import BOMWeather, LocationNotFound

client = BOMWeather()

# Search for locations matching "Brisbane"
for loc in client.locations.search(query="Brisbane", limit=3):
    print(loc.name, loc.state, loc.latitude, loc.longitude)

# Get a full forecast report for Sydney (3 days)
report = client.forecastreports.get(city="Sydney", days=3)
print(report.location.name, report.location.state, report.days_requested)

# Drill into individual forecasts via a Location's sub-resource
location = client.locations.search(query="Perth", limit=1).first()
if location:
    for forecast in location.forecasts.list(days=3, limit=3):
        print(forecast.date, forecast.temp_max_celsius, forecast.weather_description)
        print(f"  Rain chance: {forecast.precipitation.probability_percent}%")

# Handle a location that doesn't exist
try:
    bad_report = client.forecastreports.get(city="Nonexistentville")
    print(bad_report.location.name)
except LocationNotFound as exc:
    print(f"Location not found: {exc.city}")

print("exercised: locations.search / forecastreports.get / location.forecasts.list / LocationNotFound")
All endpoints · 2 totalmissing one? ·

Get multi-day weather forecast for an Australian city. Resolves the city name to BOM grid coordinates, then returns daily forecasts including temperature extremes, precipitation probabilities at multiple thresholds, UV index, and a human-readable weather description. Returns up to 8 days. The first day may have a null temp_min_celsius if only part of the day remains.

Input
ParamTypeDescription
citystringAustralian city name to get forecast for.
daysintegerNumber of forecast days to return (1 to 8).
Response
{
  "type": "object",
  "fields": {
    "location": "object containing name, state, postcode, latitude, longitude, and timezone",
    "forecasts": "array of daily forecast objects with date, temp_max_celsius, temp_min_celsius, weather_description, precipitation, and uv_index_max",
    "days_requested": "integer number of days requested",
    "issue_time_utc": "string ISO timestamp of when the forecast was issued"
  },
  "sample": {
    "data": {
      "location": {
        "name": "Sydney",
        "state": "NSW",
        "latitude": -33.8593,
        "postcode": "2000",
        "timezone": "Australia/Sydney",
        "longitude": 151.2048
      },
      "forecasts": [
        {
          "date": "2026-06-10T14:00:00Z",
          "uv_index_max": 2.49,
          "precipitation": {
            "probability_percent": 73,
            "amount_10pct_chance_mm": 7.7,
            "amount_25pct_chance_mm": 4.1,
            "amount_50pct_chance_mm": 1.3,
            "amount_75pct_chance_mm": 0,
            "probability_10mm_percent": 6,
            "probability_25mm_percent": 0
          },
          "temp_max_celsius": 20.8,
          "temp_min_celsius": null,
          "weather_icon_code": 3,
          "weather_description": "Mostly sunny"
        }
      ],
      "days_requested": 3,
      "issue_time_utc": "2026-06-11T06:00:13Z"
    },
    "status": "success"
  }
}

About the Gov API

Endpoints and Data Returned

The get_forecast endpoint accepts a city string and an optional days integer (1–8). It returns a location object with name, state, postcode, latitude, longitude, and timezone, alongside a forecasts array. Each forecast entry covers a single date and includes temp_max_celsius, temp_min_celsius, weather_description, precipitation, and uv_index_max. The response also carries an issue_time_utc timestamp indicating when the Bureau published the forecast.

Location Search

The search_locations endpoint accepts a query string and returns a locations array of matching cities, suburbs, and weather stations. Each record includes an id, name, state, postcode, latitude, longitude, and timezone. The total field tells you how many results matched. Use this endpoint to resolve ambiguous city names before calling get_forecast — for example, to distinguish between multiple suburbs sharing the same name across different states.

Coverage and Freshness

Coverage is limited to Australian locations served by the Bureau of Meteorology. The forecast horizon is capped at 8 days, matching what BOM publishes. The issue_time_utc field in the forecast response tells you exactly how fresh the data is, so you can handle caching and staleness in your own application logic.

Reliability & maintenanceVerified

The Gov API is a managed, monitored endpoint for bom.gov.au — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bom.gov.au 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 bom.gov.au 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
6d ago
Latest check
2/2 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 7-day outlook widget on an Australian travel or event planning site using temp_max_celsius, temp_min_celsius, and weather_description.
  • Alert users when precipitation probability crosses a threshold for a chosen city.
  • Show UV index warnings for outdoor activity apps targeting Australian users.
  • Resolve user-entered suburb names to canonical BOM location IDs before fetching forecasts.
  • Feed daily min/max temperature data into a historical logging pipeline for trend analysis.
  • Filter sporting event schedules by forecast conditions for venues in specific Australian states.
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 the Bureau of Meteorology have an official developer API?+
BOM does not offer a publicly documented, stable REST API for developers. Data access is primarily through their website and file-based data feeds rather than a versioned API product.
What does the `forecasts` array in `get_forecast` actually contain per day?+
Each element covers one calendar date and includes temp_max_celsius, temp_min_celsius, weather_description, precipitation, and uv_index_max. The array length matches the days_requested value, up to a maximum of 8.
Does the API return hourly forecast data?+
No — get_forecast returns daily-resolution forecasts only. Each day has a single max temperature, min temperature, precipitation value, and UV index. You can fork the API on Parse and revise it to add an hourly forecast endpoint if finer time resolution is needed.
Is there any location coverage outside Australia?+
No. Both endpoints are scoped to Australian cities, suburbs, and weather stations as listed by the Bureau of Meteorology. Queries for non-Australian locations will return no results. You can fork the API on Parse and revise it to point at a different meteorological source for international coverage.
How do I handle cases where a city name matches multiple locations?+
Use search_locations first. It returns a total count and a locations array that includes state and postcode for each match, letting you present a disambiguation UI or select the correct record before calling get_forecast.
Page content last updated . Spec covers 2 endpoints from bom.gov.au.
Related APIs in WeatherSee all →
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.
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.
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.
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.
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.
openweathermap.org API
Search for cities and retrieve live weather conditions and forecasts (current, minutely precipitation, hourly and daily) by coordinates or by city name.
wetter.com API
Retrieve structured weather forecasts from wetter.com, including daily high and low temperatures in Celsius across a 16-day outlook. Supports location-based lookups for cities and regions.
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.