Met Office Point API

The Point API from Met Office — 3 operation(s) for point.

Operations 3

GET /point/hourly Find nearest forecast data that matches the request criteria #
GET /point/three-hourly Find nearest forecast data that matches the request criteria #
GET /point/daily Find nearest forecast data that matches the request criteria #

Documentation

Specifications

Schemas & Data

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/met-office:met-office-point-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 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.

OpenAPI Specification

met-office-point-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Met Office Point API
  version: v0
  contact:
    name: Met Office
    url: https://www.metoffice.gov.uk/
  description: 'Operations tagged Point across 2 of this provider''s published API definitions: weathercloud2api_subscriber.json, met-office-site-specific-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://data.hub.api.metoffice.gov.uk/sitespecific/v0
  description: Base URL stated on the Weather DataHub API documentation page
security:
- APIKey: []
tags:
- name: Point
paths:
  /point/hourly:
    get:
      summary: Find nearest forecast data that matches the request criteria
      operationId: getForecastForPointUsingGET_1
      parameters:
      - name: dataSource
        in: query
        description: The request data source must be BD1.
        schema: {}
      - name: excludeParameterMetadata
        in: query
        description: If true, exclude parameter metadata in the response. If false or undefined, the parameter metadata is returned.
        schema: {}
      - name: includeLocationName
        in: query
        description: If true, include location name in the response. If false or undefined, no location name is returned.
        schema: {}
      - name: latitude
        in: query
        description: The request latitude value in range -85/+85 expressed as a decimal fraction.
        required: true
        schema: {}
      - name: longitude
        in: query
        description: The request longitude value in range -180/+180 expressed as a decimal fraction.
        required: true
        schema: {}
      responses:
        '200':
          description: The request was fulfilled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpotForecastFeatureCollection'
        '400':
          description: The server could not service the request because it was malformed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VndError'
        '403':
          description: Access to the requested URL is forbidden.
          content: {}
        '404':
          description: The server could not service the request because the requested resource did not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VndError'
        '405':
          description: The server could not service the request because it does not support the requested HTTP action - only get requests are supported
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VndError'
        '415':
          description: The server could not service the request because the media type requested is not supported - this service only exposes json data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VndError'
        '500':
          description: The server encountered an internal error or misconfiguration and was unable to complete the request - this is not a recoverable error for a user of the API
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VndError'
      tags:
      - Point
  /point/three-hourly:
    get:
      summary: Find nearest forecast data that matches the request criteria
      operationId: getPointThreeHourly
      parameters:
      - name: dataSource
        in: query
        description: The request data source must be BD1.
        schema: {}
      - name: excludeParameterMetadata
        in: query
        description: If true, exclude parameter metadata in the response. If false or undefined, the parameter metadata is returned.
        schema: {}
      - name: includeLocationName
        in: query
        description: If true, include location name in the response. If false or undefined, no location name is returned.
        schema: {}
      - name: latitude
        in: query
        description: The request latitude value in range -85/+85 expressed as a decimal fraction.
        required: true
        schema: {}
      - name: longitude
        in: query
        description: The request longitude value in range -180/+180 expressed as a decimal fraction.
        required: true
        schema: {}
      responses:
        '200':
          description: The request was fulfilled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpotForecastFeatureCollection'
        '400':
          description: The server could not service the request because it was malformed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VndError'
        '403':
          description: Access to the requested URL is forbidden.
          content: {}
        '404':
          description: The server could not service the request because the requested resource did not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VndError'
        '405':
          description: The server could not service the request because it does not support the requested HTTP action - only get requests are supported
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VndError'
        '415':
          description: The server could not service the request because the media type requested is not supported - this service only exposes json data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VndError'
        '500':
          description: The server encountered an internal error or misconfiguration and was unable to complete the request - this is not a recoverable error for a user of the API
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VndError'
      tags:
      - Point
      x-operation-id-source: normalized
      x-operation-id-original: getForecastForPointUsingGET_1
  /point/daily:
    get:
      summary: Find nearest forecast data that matches the request criteria
      operationId: getPointDaily
      parameters:
      - name: dataSource
        in: query
        description: The request data source must be BD1.
        schema: {}
      - name: excludeParameterMetadata
        in: query
        description: If true, exclude parameter metadata in the response. If false or undefined, the parameter metadata is returned.
        schema: {}
      - name: includeLocationName
        in: query
        description: If true, include location name in the response. If false or undefined, no location name is returned.
        schema: {}
      - name: latitude
        in: query
        description: The request latitude value in range -85/+85 expressed as a decimal fraction.
        required: true
        schema: {}
      - name: longitude
        in: query
        description: The request longitude value in range -180/+180 expressed as a decimal fraction.
        required: true
        schema: {}
      responses:
        '200':
          description: The request was fulfilled successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpotForecastFeatureCollection'
        '400':
          description: The server could not service the request because it was malformed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VndError'
        '403':
          description: Access to the requested URL is forbidden.
          content: {}
        '404':
          description: The server could not service the request because the requested resource did not exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VndError'
        '405':
          description: The server could not service the request because it does not support the requested HTTP action - only get requests are supported
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VndError'
        '415':
          description: The server could not service the request because the media type requested is not supported - this service only exposes json data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VndError'
        '500':
          description: The server encountered an internal error or misconfiguration and was unable to complete the request - this is not a recoverable error for a user of the API
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VndError'
      tags:
      - Point
      x-operation-id-source: normalized
      x-operation-id-original: getForecastForPointUsingGET_1
components:
  schemas:
    SpotForecastFeatureCollection:
      title: SpotForecastFeatureCollection
      required:
      - features
      - parameters
      - type
      type: object
      properties:
        features:
          type: array
          description: A list of feature objects
          items:
            $ref: '#/components/schemas/Feature'
        parameters:
          type: array
          description: Forecast parameter metadata for all possible forecast parameters in response - each forecast parameter has a nested object containing a unit of measurement, using standard unit representation as defined by UCUM - http://unitsofmeasure.org/ucum.html - and an optional parameter definition
          items:
            type: object
            additionalProperties:
              $ref: '#/components/schemas/ParameterDetails'
        type:
          type: string
          description: The GeoJSON type identifier
          example: FeatureCollection
      description: A feature collection object, must have a member array of features
    Symbol:
      title: Symbol
      type: object
      properties:
        type:
          type: string
        value:
          type: string
    ParameterDetails:
      title: ParameterDetails
      type: object
      properties:
        description:
          type: string
        type:
          type: string
        unit:
          $ref: '#/components/schemas/Unit'
    Location:
      title: Location
      type: object
      properties:
        licence:
          type: string
          description: The licence for the forecast location name
          example: Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright
        name:
          type: string
          description: The forecast location name
          example: St Thomas, Devon, South West England, England, GB
    Feature:
      title: Feature
      required:
      - geometry
      - properties
      - type
      type: object
      properties:
        geometry:
          $ref: '#/components/schemas/Point'
        properties:
          $ref: '#/components/schemas/Properties'
        type:
          type: string
          description: The GeoJSON type identifier
          example: Feature
      description: A feature object with mandatory geometry and properties fields
    Unit:
      title: Unit
      required:
      - label
      - symbol
      type: object
      properties:
        label:
          type: string
          description: The name of the unit
          example: degrees Celsius
        symbol:
          $ref: '#/components/schemas/Symbol'
    VndError:
      title: VndError
      type: object
      properties:
        logref:
          type: string
        message:
          type: string
    Point:
      title: Point
      required:
      - coordinates
      - type
      type: object
      properties:
        coordinates:
          type: array
          description: The longitude, latitude and elevation values for the point
          items:
            type: string
        type:
          type: string
          description: The GeoJSON type identifier
          example: Point
    Properties:
      title: Properties
      required:
      - modelRunDate
      - requestPointDistance
      - timeSeries
      type: object
      properties:
        location:
          $ref: '#/components/schemas/Location'
        modelRunDate:
          type: string
          description: The model run date in UTC
          example: 2019-01-31T12:00Z
        requestPointDistance:
          type: number
          description: The distance from the requested point in metres
        timeSeries:
          type: object
          properties: {}
          description: A time step ordered list  of forecast parameters and associated values
  securitySchemes:
    APIKey:
      type: apiKey
      description: The API Key generated with your Subscription in Weather DataHub, this must be set as 'apikey' in your header.
      name: apikey
      in: header
x-refined-from:
- weathercloud2api_subscriber.json
- met-office-site-specific-openapi.yml
x-provenance:
  method: harvested
  publisher: Met Office
  source: https://datahub.metoffice.gov.uk/downloads/api-definitions/weathercloud2api_subscriber.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)