Tomorrow.io Alerts API

Create and manage threshold-based weather alerts that evaluate Tomorrow.io data layers against custom rules for linked locations and deliver notifications via webhook, email, and the Tomorrow.io app.

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/tomorrow-io-alerts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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

Get an API key

Free tier, no email required.

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

OpenAPI Specification

tomorrow-io-alerts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Tomorrow.io Alerts API
  version: '4.0'
  description: 'Create, manage, and trigger weather-based alerts. Alerts evaluate Tomorrow.io

    weather data layers against custom thresholds for one or more linked locations

    and deliver notifications via webhook, email, and the Tomorrow.io app.

    '
  contact:
    name: Tomorrow.io Support
    url: https://support.tomorrow.io
servers:
- url: https://api.tomorrow.io/v4
  description: Tomorrow.io Production
security:
- apikeyAuth: []
tags:
- name: Alerts
  description: Manage weather alerts and their location bindings.
paths:
  /alerts:
    get:
      tags:
      - Alerts
      summary: List Alerts
      operationId: listAlerts
      parameters:
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Alert list.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertList'
    post:
      tags:
      - Alerts
      summary: Create an Alert
      operationId: createAlert
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Alert'
      parameters:
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Alert created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alert'
  /alerts/{alertId}:
    get:
      tags:
      - Alerts
      summary: Retrieve an Alert
      operationId: getAlert
      parameters:
      - name: alertId
        in: path
        required: true
        schema:
          type: string
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Alert resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alert'
    put:
      tags:
      - Alerts
      summary: Update an Alert
      operationId: updateAlert
      parameters:
      - name: alertId
        in: path
        required: true
        schema:
          type: string
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Alert'
      responses:
        '200':
          description: Updated alert.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alert'
    delete:
      tags:
      - Alerts
      summary: Delete an Alert
      operationId: deleteAlert
      parameters:
      - name: alertId
        in: path
        required: true
        schema:
          type: string
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Deleted.
  /alerts/{alertId}/locations:
    get:
      tags:
      - Alerts
      summary: List Alert Locations
      operationId: listAlertLocations
      parameters:
      - name: alertId
        in: path
        required: true
        schema:
          type: string
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Linked locations.
  /alerts/{alertId}/locations/link:
    post:
      tags:
      - Alerts
      summary: Link Locations To Alert
      operationId: linkAlertLocations
      parameters:
      - name: alertId
        in: path
        required: true
        schema:
          type: string
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                locationIds:
                  type: array
                  items:
                    type: string
      responses:
        '200':
          description: Locations linked.
  /alerts/{alertId}/locations/unlink:
    post:
      tags:
      - Alerts
      summary: Unlink Locations From Alert
      operationId: unlinkAlertLocations
      parameters:
      - name: alertId
        in: path
        required: true
        schema:
          type: string
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                locationIds:
                  type: array
                  items:
                    type: string
      responses:
        '200':
          description: Locations unlinked.
  /alerts/{alertId}/activate:
    post:
      tags:
      - Alerts
      summary: Activate an Alert
      operationId: activateAlert
      parameters:
      - name: alertId
        in: path
        required: true
        schema:
          type: string
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Alert activated.
  /alerts/{alertId}/deactivate:
    post:
      tags:
      - Alerts
      summary: Deactivate an Alert
      operationId: deactivateAlert
      parameters:
      - name: alertId
        in: path
        required: true
        schema:
          type: string
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Alert deactivated.
components:
  schemas:
    AlertList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Alert'
    Alert:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        active:
          type: boolean
        condition:
          type: object
          properties:
            field:
              type: string
            operator:
              type: string
              enum:
              - gt
              - gte
              - lt
              - lte
              - eq
              - neq
            value:
              type: number
        notifications:
          type: object
          properties:
            webhookUrl:
              type: string
            email:
              type: array
              items:
                type: string
        linkedLocationIds:
          type: array
          items:
            type: string
  securitySchemes:
    apikeyAuth:
      type: apiKey
      in: query
      name: apikey