WeatherAPI · Arazzo Workflow

WeatherAPI Forecast with Astronomy

Version 1.0.0

Resolve a location, pull a multi-day forecast, then enrich it with astronomy for the same date.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub WeatherForecastHistoryMarineAstronomyGeolocationSportsAlertsPublic APIsArazzoWorkflows

Provider

weatherapi

Workflows

forecast-with-astronomy
Search a location, fetch its forecast, and add astronomy for a date.
Resolves the query into a location, retrieves a multi-day forecast for it, and then layers on astronomy data (sun and moon) for the supplied date.
3 steps inputs: date, days, query outputs: forecastDays, locationName, moonPhase, sunrise, sunset
1
searchLocation
Resolve the free-text query into the best matching location.
2
getForecast
Retrieve a multi-day forecast for the resolved location, including the embedded daily astronomy block.
3
getAstronomy
Add sunrise, sunset, moonrise, moonset, and moon phase detail for the resolved location on the requested date.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: WeatherAPI Forecast with Astronomy
  summary: Resolve a location, pull a multi-day forecast, then enrich it with astronomy for the same date.
  description: >-
    Builds a complete daily planning view for a place. The query is resolved via
    autocomplete search, a multi-day forecast (including astronomy fields) is
    retrieved for the matched location, and a dedicated astronomy call adds
    sunrise, sunset, and moon detail for the requested date. 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: geoApi
  url: ../openapi/weatherapi-geo-api-openapi.yml
  type: openapi
- name: weatherApi
  url: ../openapi/weatherapi-weather-api-openapi.yml
  type: openapi
workflows:
- workflowId: forecast-with-astronomy
  summary: Search a location, fetch its forecast, and add astronomy for a date.
  description: >-
    Resolves the query into a location, retrieves a multi-day forecast for it,
    and then layers on astronomy data (sun and moon) for the supplied date.
  inputs:
    type: object
    required:
    - query
    - days
    - date
    properties:
      query:
        type: string
        description: Partial city name, postcode, or coordinates to search for.
      days:
        type: integer
        description: Number of forecast days to return (1-14, plan dependent).
      date:
        type: string
        description: Date in yyyy-MM-dd format for the astronomy lookup.
  steps:
  - stepId: searchLocation
    description: Resolve the free-text query into the best matching location.
    operationId: searchLocations
    parameters:
    - name: q
      in: query
      value: $inputs.query
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      matchedId: $response.body#/0/id
      matchedName: $response.body#/0/name
  - stepId: getForecast
    description: >-
      Retrieve a multi-day forecast for the resolved location, including the
      embedded daily astronomy block.
    operationId: getForecast
    parameters:
    - name: q
      in: query
      value: id:$steps.searchLocation.outputs.matchedId
    - name: days
      in: query
      value: $inputs.days
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      locationName: $response.body#/location/name
      forecastDays: $response.body#/forecast/forecastday
  - stepId: getAstronomy
    description: >-
      Add sunrise, sunset, moonrise, moonset, and moon phase detail for the
      resolved location on the requested date.
    operationId: getAstronomy
    parameters:
    - name: q
      in: query
      value: id:$steps.searchLocation.outputs.matchedId
    - name: dt
      in: query
      value: $inputs.date
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      sunrise: $response.body#/astronomy/astro/sunrise
      sunset: $response.body#/astronomy/astro/sunset
      moonPhase: $response.body#/astronomy/astro/moon_phase
  outputs:
    locationName: $steps.getForecast.outputs.locationName
    forecastDays: $steps.getForecast.outputs.forecastDays
    sunrise: $steps.getAstronomy.outputs.sunrise
    sunset: $steps.getAstronomy.outputs.sunset
    moonPhase: $steps.getAstronomy.outputs.moonPhase

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/weatherapi-forecast-with-astronomy-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.