Xweather Alerts API

Severe weather alerts and warnings

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/xweather-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

xweather-alerts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Xweather Weather Air Quality Alerts API
  description: The Xweather Weather API provides real-time and historical weather data including current conditions, forecasts, severe weather alerts, lightning data, air quality, maritime weather, and more. Backed by Vaisala, Xweather delivers science-backed hyper-local weather intelligence through a RESTful interface. Authentication uses a client ID and client secret passed as query parameters or HTTP headers.
  version: 1.0.0
  contact:
    name: Xweather Support
    url: https://www.xweather.com/support
  termsOfService: https://www.xweather.com/legal/terms
servers:
- url: https://data.api.xweather.com
  description: Xweather Weather API base URL
security:
- clientAuth: []
tags:
- name: Alerts
  description: Severe weather alerts and warnings
paths:
  /alerts/{location}:
    get:
      operationId: getAlerts
      summary: Get Weather Alerts
      description: Returns active weather alerts and advisories for a specified location from the National Weather Service, Environment Canada, and MeteoAlarm.
      tags:
      - Alerts
      parameters:
      - name: location
        in: path
        required: true
        schema:
          type: string
        description: Location identifier (ZIP code, city name, lat/long, or place name).
        example: chicago,il
      - name: client_id
        in: query
        required: true
        schema:
          type: string
        description: Your Xweather API client ID.
      - name: client_secret
        in: query
        required: true
        schema:
          type: string
        description: Your Xweather API client secret.
      - name: filter
        in: query
        required: false
        schema:
          type: string
        description: Filter by alert type (e.g., tornado, flood).
      - name: limit
        in: query
        required: false
        schema:
          type: integer
        description: Maximum number of alerts to return.
      responses:
        '200':
          description: Active weather alerts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    NotFound:
      description: Not found - location or resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiResponse'
    Unauthorized:
      description: Unauthorized - invalid client ID or secret
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiResponse'
    BadRequest:
      description: Bad request - invalid parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiResponse'
  schemas:
    ApiResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the request was successful.
        error:
          $ref: '#/components/schemas/ApiError'
      required:
      - success
    Alert:
      type: object
      properties:
        id:
          type: string
          description: Unique alert identifier.
        type:
          type: string
          description: Alert type code.
        name:
          type: string
          description: Alert name.
        body:
          type: string
          description: Full text body of the alert.
        timestamps:
          type: object
          properties:
            issued:
              type: integer
            expires:
              type: integer
            updated:
              type: integer
        areas:
          type: array
          items:
            type: object
          description: Geographic areas affected by the alert.
    ApiError:
      type: object
      properties:
        code:
          type: string
          description: Error code string.
          example: invalid_client
        description:
          type: string
          description: Human-readable error description.
          example: Invalid client ID or secret.
    AlertsResponse:
      allOf:
      - $ref: '#/components/schemas/ApiResponse'
      - type: object
        properties:
          response:
            type: array
            items:
              type: object
              properties:
                id:
                  type: string
                loc:
                  $ref: '#/components/schemas/Location'
                alerts:
                  type: array
                  items:
                    $ref: '#/components/schemas/Alert'
    Location:
      type: object
      properties:
        id:
          type: string
          description: Location identifier.
        name:
          type: string
          description: Location name.
        state:
          type: string
          description: State or province code.
        stateFull:
          type: string
          description: Full state or province name.
        country:
          type: string
          description: Country code (ISO 3166-1 alpha-2).
        countryFull:
          type: string
          description: Full country name.
        lat:
          type: number
          format: float
          description: Latitude.
        lon:
          type: number
          format: float
          description: Longitude.
        elevM:
          type: number
          description: Elevation in meters.
        elevFT:
          type: number
          description: Elevation in feet.
        profile:
          type: object
          description: Additional location profile data.
  securitySchemes:
    clientAuth:
      type: apiKey
      in: query
      name: client_id
      description: Xweather uses client_id and client_secret query parameters for authentication. Both are required on every request.