Weather Summary

Generate a weather summary for a location across a specific time window, powered by Tomorrow.io's weather intelligence.

Body Parameters

FieldTypeRequiredDefaultDescription
locationobjectYes—One of location id, location name, or a GeoJSON (see below supported formatting).
startTimestringYes—ISO-8601 window start. Must be before endTime.
endTimestringYes—ISO-8601 window end. Must be after startTime.
languagestringNoaccount defaultResponse language. Overrides your account language when provided.
unitsstringNometricUnit system: metric or imperial.
timezonestringNolocation-localIANA timezone used for time phrasing. Invalid zones return 400. Omit to use the location's local timezone.

The location object supports exactly one of these forms:

FormFieldsDescription
Location idslocationIds: string[]One or more saved location ids.
Namename: stringA free-text location name (e.g. "Boston, MA").
GeoJSONtype + coordinatesInline GeoJSON geometry. type is Point, LineString, or Polygon. Coordinates: Point → [lon, lat]; LineString → [[lon,lat], ...]; Polygon → [[[lon,lat], ...]] (closed ring).

Example Requests

By location id:

{
    "location": { "locationIds": ["123"] },
    "startTime": "2026-07-08T00:00:00Z",
    "endTime": "2026-07-15T00:00:00Z"
}

By location name:

{
    "location": { "name": "Boston, MA" },
    "startTime": "2026-07-08T00:00:00Z",
    "endTime": "2026-07-15T00:00:00Z"
}

By GeoJSON point:

{
    "location": { "type": "Point", "coordinates": [-74.006, 40.7128] },
    "startTime": "2026-07-06T00:00:00Z",
    "endTime": "2026-07-07T00:00:00Z",
    "units": "imperial"
}

Response

200 OK — header X-Quota-Remaining-Gale: <integer>

{
  "data": {
    "answer": "Over the next week, expect mostly dry conditions with highs near 28°C, and a chance of thunderstorms midweek.",
    "id": "req_def456"
  }
}
FieldTypeDescription
data.answerstringStructured natural-language weather summary.
data.idstringRequest id (use it when contacting support).

Errors

StatusMeaning
400Missing/invalid startTime or endTime; startTime not before endTime; location is not provided; invalid timezone; or an unresolvable location name.
402No Gale interactions remaining (GALE_QUOTA_LIMIT_REACHED).
404The location id(s) do not exist.
500Unexpected server error.

Error responses use the shape:

{
  "data": {
    "error": "Description of what went wrong."
  }
}