Historical Daily High Temperature by Airport
omnial/get-historical-airport-daily-maxima
Given an airport's ICAO station code, a date range (up to 31 days), and an IANA timezone, returns each local calendar day's maximum temperature in Celsius, plus how many raw observations backed that maximum and data-quality flags (gap size, duplicate readings, source-verification note). A date range with no recorded observations yet, such as one that hasn't happened yet, comes back as an empty result rather than an error.
Price
Up to $0.0137 per call; you pay what the call used
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.00.
Data source
Data from Weather Underground.
Use it
Your AI assistant does the work: it finds this tool, shows you the price first, runs it, and you are charged when the run finishes. There is nothing to set up for this tool in particular.
Connect once and your AI can find and run this tool, and any other it needs.
For developers: the calls your assistant makes
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/get-historical-airport-daily-maxima" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/get-historical-airport-daily-maxima" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/get-historical-airport-daily-maxima", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/get-historical-airport-daily-maxima", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0137 |
- Updated
- Oct 27, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"end_date",
"station_id",
"timezone_name",
"start_date"
],
"properties": {
"end_date": {
"type": "string",
"description": "End date in YYYYMMDD format."
},
"start_date": {
"type": "string",
"description": "Start date in YYYYMMDD format."
},
"station_id": {
"type": "string",
"description": "Airport station ICAO code (e.g. EFHK, KJFK). Obtain from search endpoint's icaoCode field."
},
"country_code": {
"type": "string",
"description": "Two-letter ISO country code for the station (e.g. FI, US)."
},
"timezone_name": {
"type": "string",
"description": "IANA timezone name for local date grouping (e.g. Europe/Helsinki, America/New_York). DST transitions are handled automatically."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"provenance": {
"type": "string",
"description": "How the daily maximum was computed from raw readings, e.g. 'DERIVED_FROM_ROWS' (computed from individual observation rows rather than a pre-aggregated daily summary supplied directly by the data source)."
},
"daily_maxima": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Local calendar date, YYYY-MM-DD."
},
"max_temp_c": {
"type": "number",
"description": "Maximum temperature for the day, Celsius."
},
"duplicate_count": {
"type": "number",
"description": "Duplicate readings detected and folded into this day's summary."
},
"observation_count": {
"type": "number",
"description": "How many raw observations were recorded for the day."
},
"largest_gap_minutes": {
"type": "number",
"description": "Largest gap, in minutes, between consecutive observations that day."
},
"max_observed_at_utc": {
"type": "string",
"description": "ISO 8601 UTC timestamp of the maximum reading."
},
"max_observed_at_local": {
"type": "string",
"description": "ISO 8601 timestamp with the station's local UTC offset."
},
"last_observed_at_local": {
"type": "string",
"description": "ISO 8601 timestamp of the day's last observation, local offset."
},
"first_observed_at_local": {
"type": "string",
"description": "ISO 8601 timestamp of the day's first observation, local offset."
}
},
"additionalProperties": true
},
"description": "One entry per local calendar day in the requested range."
},
"data_source_note": {
"type": "string",
"description": "A data-quality caveat about the underlying observation source, e.g. 'UNVERIFIED_TWC_AIRPORT_HISTORY_PROXY' -- the historical data has not been independently cross-checked against a second source."
},
"request_metadata": {
"type": "object",
"properties": {
"warnings": {
"type": "array",
"items": {
"type": "string"
},
"description": "Observed as an empty array on the one real call with data; the shape of a populated entry is unconfirmed."
},
"row_count": {
"type": "number",
"description": "Number of daily entries in daily_maxima."
},
"retrieved_at": {
"type": "string",
"description": "ISO 8601 UTC timestamp of when the upstream data was fetched."
},
"timezone_name": {
"type": "string",
"description": "Echoes the input's IANA timezone name."
},
"requested_end_date": {
"type": "string",
"description": "Echoes the input's end_date, YYYYMMDD."
},
"requested_start_date": {
"type": "string",
"description": "Echoes the input's start_date, YYYYMMDD."
}
},
"additionalProperties": true
}
},
"description": "Present only when the requested range has recorded observations.",
"additionalProperties": true
},
"status": {
"type": "string",
"description": "'success' on the one real call observed that returned data."
}
},
"description": "The daily-maxima record. Absent entirely (returns {}) for a date range with no observations recorded yet, as observed for a future date range.",
"additionalProperties": true
}