Tomorrow.io · Arazzo Workflow

Tomorrow.io Saved Location Realtime and Forecast

Version 1.0.0

Create a reusable saved location, then pull realtime conditions and a multi-day forecast for it.

1 workflow 3 source APIs 1 provider
View Spec View on GitHub WeatherForecastClimateRiskAir QualityPollenLightningSevere WeatherMapsRoutingSatelliteMicrosatellitesRadarGeospatialAlertsArazzoWorkflows

Provider

tomorrow-io

Workflows

saved-location-realtime-forecast
Persist a location and chain realtime plus forecast retrieval against it.
Creates a saved location from a GeoJSON point, then uses the persisted locationId to fetch realtime conditions and a forecast in a single linear flow.
3 steps inputs: apikey, coordinates, name, timesteps, units outputs: currentTemperature, daily, hourly, locationId
1
createLocation
Create a reusable saved location resource from the supplied name and GeoJSON Point coordinates.
2
getRealtime
Fetch the current weather conditions for the freshly created location using its locationId.
3
getForecast
Retrieve an hourly and daily forecast for the same saved location to pair current conditions with the road ahead.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Tomorrow.io Saved Location Realtime and Forecast
  summary: Create a reusable saved location, then pull realtime conditions and a multi-day forecast for it.
  description: >-
    A foundational Tomorrow.io pattern that turns an ad-hoc coordinate into a
    durable, reusable location resource and immediately exercises it. The
    workflow creates a saved location, captures the returned locationId, fetches
    the current conditions for that location, and then retrieves a structured
    hourly and daily forecast for the same point. Every step spells out its
    request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: forecastApi
  url: ../openapi/tomorrow-io-forecast-api-openapi.yml
  type: openapi
- name: locationsApi
  url: ../openapi/tomorrow-io-locations-api-openapi.yml
  type: openapi
- name: realtimeApi
  url: ../openapi/tomorrow-io-realtime-api-openapi.yml
  type: openapi
workflows:
- workflowId: saved-location-realtime-forecast
  summary: Persist a location and chain realtime plus forecast retrieval against it.
  description: >-
    Creates a saved location from a GeoJSON point, then uses the persisted
    locationId to fetch realtime conditions and a forecast in a single linear
    flow.
  inputs:
    type: object
    required:
    - apikey
    - name
    - coordinates
    properties:
      apikey:
        type: string
        description: Tomorrow.io API key passed as the apikey query parameter.
      name:
        type: string
        description: Human-readable name for the saved location.
      coordinates:
        type: array
        description: GeoJSON Point coordinates as [lng, lat].
      units:
        type: string
        description: Unit system for weather responses (metric or imperial).
        default: metric
      timesteps:
        type: string
        description: Comma separated forecast timesteps (e.g. 1h,1d).
        default: 1h,1d
  steps:
  - stepId: createLocation
    description: >-
      Create a reusable saved location resource from the supplied name and
      GeoJSON Point coordinates.
    operationId: createLocation
    parameters:
    - name: apikey
      in: query
      value: $inputs.apikey
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.name
        location:
          type: Point
          coordinates: $inputs.coordinates
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      locationId: $response.body#/id
  - stepId: getRealtime
    description: >-
      Fetch the current weather conditions for the freshly created location
      using its locationId.
    operationId: getRealtimeWeather
    parameters:
    - name: location
      in: query
      value: $steps.createLocation.outputs.locationId
    - name: units
      in: query
      value: $inputs.units
    - name: apikey
      in: query
      value: $inputs.apikey
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      observedAt: $response.body#/data/time
      temperature: $response.body#/data/values/temperature
      weatherCode: $response.body#/data/values/weatherCode
  - stepId: getForecast
    description: >-
      Retrieve an hourly and daily forecast for the same saved location to pair
      current conditions with the road ahead.
    operationId: getWeatherForecast
    parameters:
    - name: location
      in: query
      value: $steps.createLocation.outputs.locationId
    - name: timesteps
      in: query
      value: $inputs.timesteps
    - name: units
      in: query
      value: $inputs.units
    - name: apikey
      in: query
      value: $inputs.apikey
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      hourly: $response.body#/timelines/hourly
      daily: $response.body#/timelines/daily
  outputs:
    locationId: $steps.createLocation.outputs.locationId
    currentTemperature: $steps.getRealtime.outputs.temperature
    hourly: $steps.getForecast.outputs.hourly
    daily: $steps.getForecast.outputs.daily

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/tomorrow-io-saved-location-realtime-forecast-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.