Weather Forecast API
Get current weather conditions and a one-to-seven-day forecast for a geocoded location from Open-Meteo.
Preview request
The preview path is rate-limited and does not charge. It executes the live source and returns the paid response shape while withholding decision-ready values. Production requests use the same parameters and return a standard x402 challenge when no payment signature is present.
curl --request GET \ "https://ai-data-marketplace-1042299154756.us-central1.run.app/api/v1/weather_forecast?preview=true&city=Seattle&days=3"
Input contract
| Parameter | Type | Required | Description |
|---|---|---|---|
city | string | No | City name. |
zip_code | string | No | US zip code. |
days | integer | No | Number of forecast days (1-7). |
Example deliverable
This is the documented response shape, not a promise that live values will match the example. The paid request returns current or declared-source results using the same contract.
{
"success": true,
"source": "Open-Meteo Forecast API",
"fetched_at": "2026-08-07T07:32:45.642Z",
"location": {
"name": "Seattle",
"admin1": "Washington",
"country": "United States",
"latitude": 47.60621,
"longitude": -122.33207,
"timezone": "America/Los_Angeles"
},
"current": {
"time": "2026-08-07T00:30",
"interval": 900,
"temperature_2m": 63.9,
"relative_humidity_2m": 74,
"apparent_temperature": 64.9,
"weather_code": 0,
"wind_speed_10m": 1.6
},
"current_units": {
"time": "iso8601",
"interval": "seconds",
"temperature_2m": "°F",
"relative_humidity_2m": "%",
"apparent_temperature": "°F",
"weather_code": "wmo code",
"wind_speed_10m": "mp/h"
},
"daily": {
"time": [
"2026-08-07",
"2026-08-08"
],
"weather_code": [
3,
3
],
"temperature_2m_max": [
81.5,
83.4
],
"temperature_2m_min": [
58.5,
58.8
],
"precipitation_probability_max": [
0,
0
]
},
"daily_units": {
"time": "iso8601",
"weather_code": "wmo code",
"temperature_2m_max": "°F",
"temperature_2m_min": "°F",
"precipitation_probability_max": "%"
},
"marketplace_metadata": {
"data_mode": "live_source",
"billable": true,
"availability": "operational",
"source": "Open-Meteo Forecast API"
}
}Why this offer exists
Current conditions and a one-to-seven-day forecast for a geocoded location.
Buyer searches: weather forecast, current weather, location forecast, one week forecast.
Why pay: Receive the complete current result without maintaining the upstream integration.
Launch price: 0.003 USDC per complete paid result. The live contract proof verifies source, freshness, inputs, and response shape before a wallet is asked to pay.
Purchase decision
Buy when: the active task needs this product's structured result, its declared source and freshness are sufficient, and 0.003 USDC is within the buyer's authorized per-request limit.
Skip when: a cached result is sufficient, the source or fields do not satisfy the task, or the buyer has not authorized payment. Do not bypass wallet, budget, or user-approval policy.
Guaranteed response metadata
Every successful product response identifies how the result was produced. Product-specific output fields are documented in the paid OpenAPI contract. The preview proves the live source and field types without returning the paid values.
{
"marketplace_metadata": {
"data_mode": "live_source",
"billable": true,
"availability": "operational",
"source": "Open-Meteo Forecast API"
}
}Agent payment flow
Fast path: install the public MCP package, configure a dedicated low-balance Base buyer wallet and a maximum per-request spend, then call this tool with auto_pay: true. The client handles the challenge, local signature, settlement, and retry in one tool call.
npx -y dopaminedesk-ai-data-marketplace-mcp
X402_AUTO_PAY=true
X402_EVM_PRIVATE_KEY=<dedicated buyer wallet key>
X402_MAX_PAYMENT_USDC=0.25
tool input: { "auto_pay": true }Manual path: request the product, read the base64 PAYMENT-REQUIRED challenge, sign with any compatible x402 v2 client, and retry with PAYMENT-SIGNATURE. A successful response includes PAYMENT-RESPONSE.