Weather Data API
GET/v1/weatherdata/stations/near
METAR reporting stations within a radius of a coordinate in the United States or Australia, nearest first. Refreshes every 24 hours.
Price
$0.001/ callEdge cache
21600s
Uptime 24h
100.00%
p95
240ms
MCP tool
weatherdata_stations-near
The Weather Data API provides active weather alerts, current observations, and hourly and daily forecasts for the United States and Australia. The API returns data in a normalized schema with a coverage field. The endpoint for reporting stations near a point is available via a GET request. Parameters include latitude, longitude, radius, and limit. The API is priced at $0.001 per request.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| lat* | query | number | |
| lon* | query | number | |
| radius_km | query | number = 50 | |
| limit | query | integer = 20 |
Code
# 1. No key, no payment: the gateway answers 402 with the price
curl -i "https://api.realtimeapi.ai/v1/weatherdata/stations/near?lat=-33.87&lon=151.21"
# 2. Pay: retry with a signed x402 payment (any x402 client builds this header)
curl "https://api.realtimeapi.ai/v1/weatherdata/stations/near?lat=-33.87&lon=151.21" -H "PAYMENT-SIGNATURE: $X402_PAYMENT"// npm i @x402/fetch @x402/core @x402/evm viem
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = x402Client.fromConfig({ schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(privateKeyToAccount(PRIVATE_KEY)) }] });
const pay = wrapFetchWithPayment(fetch, client);
const data = await (await pay("https://api.realtimeapi.ai/v1/weatherdata/stations/near?lat=-33.87&lon=151.21")).json();
console.log(data);# pip install "x402[requests,evm]==2.27.0" eth-account
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact import register_exact_evm_client
client = x402ClientSync()
register_exact_evm_client(client, EthAccountSigner(Account.from_key(PRIVATE_KEY)))
session = x402_requests(client)
print(session.get("https://api.realtimeapi.ai/v1/weatherdata/stations/near?lat=-33.87&lon=151.21").json())curl "https://api.realtimeapi.ai/v1/weatherdata/stations/near?lat=-33.87&lon=151.21" -H "X-API-Key: $RTAPI_KEY"Frequently asked questions
What data does the API provide?
Active weather alerts, current observations, and hourly and daily forecasts.
What countries are covered?
United States and Australia.
What is the pricing model?
Per request, priced at $0.001.
How often is the data refreshed?
Every 24 hours.
What parameters are required for the stations near endpoint?
Latitude, longitude, radius, and limit.