Ordnance Survey Rinex API

The Rinex API from Ordnance Survey — 5 operation(s) for rinex.

Operations 5

GET /stations/{stationId}/rinex #
GET /rinex #
GET /rinex/{year} #
GET /rinex/{year}/{dayOfYear} #
GET /rinex/{year}/{dayOfYear}/{filename} #

Documentation

📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-ngd-api-features
📖
APIReference
https://api.os.uk/features/ngd/ofa/v1/api
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-ngd-api-tiles
📖
APIReference
https://api.os.uk/maps/vector/ngd/ota/v1/api
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-downloads-api
📖
APIReference
https://api.os.uk/downloads/v1/openapi.yaml
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-net-api
📖
APIReference
https://api.os.uk/positioning/osnet/v1/openapi.yaml
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-places-api
📖
APIReference
https://docs.os.uk/os-apis/accessing-os-apis/os-places-api/technical-specification
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-names-api
📖
APIReference
https://docs.os.uk/os-apis/accessing-os-apis/os-names-api/technical-specification
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-linked-identifiers-api
📖
APIReference
https://docs.os.uk/os-apis/accessing-os-apis/os-linked-identifiers-api/technical-specification
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-features-api
📖
APIReference
https://docs.os.uk/os-apis/accessing-os-apis/os-features-api/technical-specification
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-maps-api
📖
APIReference
https://docs.os.uk/os-apis/accessing-os-apis/os-maps-api/technical-specification
📖
Documentation
https://docs.os.uk/os-apis/accessing-os-apis/os-vector-tile-api
📖
APIReference
https://docs.os.uk/os-apis/accessing-os-apis/os-vector-tile-api/technical-specification

Specifications

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/ordnance-survey-rinex-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

ordnance-survey-rinex-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OS Net Rinex API
  description: 'This is the API definition for the OS Net spring boot app. It is a working subset of the overall design

    '
  version: 1.6.0
servers:
- url: https://api.os.uk/positioning/osnet/v1
tags:
- name: Rinex
paths:
  /stations/{stationId}/rinex:
    get:
      security:
      - OAuth2: []
      - APIKeyQuery: []
      - APIKeyHeader: []
      tags:
      - Rinex
      description: Get RINEX v3 files for a specific station
      operationId: Get station data
      parameters:
      - $ref: '#/components/parameters/stationId'
      - $ref: '#/components/parameters/RequiredTemporalParameters'
      - $ref: '#/components/parameters/dataFrequency'
      responses:
        '200':
          description: Returns the list of available files
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RinexFile'
        '400':
          description: Returned if the input parameters are not valid
          content:
            application/problem+json:
              schema:
                type: object
        '403':
          description: Returned if the request is valid, but you do not have access to the resource
          content:
            application/problem+json:
              schema:
                type: object
  /rinex:
    get:
      security:
      - OAuth2: []
      - APIKeyQuery: []
      - APIKeyHeader: []
      tags:
      - Rinex
      description: List the years that have RINEX data available
      operationId: Get Rinex Data Years
      responses:
        '200':
          description: List the years that have RINEX data available
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaData'
              example:
                title: OS Net API RINEX data years
                description: List the years that have RINEX data available
                links:
                - href: https://api.os.uk/positioning/osnet/v1/rinex
                  rel: self
                  type: application/json
                  title: Self link
                  description: This document
                - href: https://api.os.uk/positioning/osnet/v1/rinex/2024
                  rel: service-endpoint
                  type: application/json
                  title: 2024
                  description: List RINEX data days for 2024
  /rinex/{year}:
    get:
      security:
      - OAuth2: []
      - APIKeyQuery: []
      - APIKeyHeader: []
      tags:
      - Rinex
      description: List the days that have RINEX data available, for the given year
      operationId: Get Rinex Data Days
      parameters:
      - $ref: '#/components/parameters/year'
      responses:
        '200':
          description: List the days that have RINEX data available, for the given year
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaData'
              example:
                title: OS Net API RINEX data days
                description: List the days that have RINEX data available, for the given year
                links:
                - href: https://api.os.uk/positioning/osnet/v1/rinex/2024
                  rel: self
                  type: application/json
                  title: Self link
                  description: This document
                - href: https://api.os.uk/positioning/osnet/v1/rinex/2024/1
                  rel: service-endpoint
                  type: application/json
                  title: 1
                  description: List RINEX data files for 2024 day 1
                - href: https://api.os.uk/positioning/osnet/v1/rinex/2024/2
                  rel: service-endpoint
                  type: application/json
                  title: 2
                  description: List RINEX data files for 2024 day 2
  /rinex/{year}/{dayOfYear}:
    get:
      security:
      - OAuth2: []
      - APIKeyQuery: []
      - APIKeyHeader: []
      tags:
      - Rinex
      description: List the files available via this service, for the given year and day
      operationId: Get Rinex Data Files
      parameters:
      - $ref: '#/components/parameters/year'
      - $ref: '#/components/parameters/dayOfYear'
      - $ref: '#/components/parameters/dataFrequency'
      responses:
        '200':
          description: List the days available via this service, for the given year and day
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RinexFile'
              example:
              - url: https://api.os.uk/positioning/osnet/v1/rinex/2024/001/EPHM00GBR_S_20240010000_01D_MN.rnx.zip
                filename: EPHM00GBR_S_20241470000_01D_MN.rnx.zip
                size: 1234,
                md5: 2f9dd13abd56140afa3b5621e8864f59
                format: RINEX
                subformat: 3
        '400':
          description: Returned if the input parameters are not valid
          content:
            application/problem+json:
              schema:
                type: object
        '403':
          description: Returned if request is valid, but you do not have access to the resource
          content:
            application/problem+json:
              schema:
                type: object
  /rinex/{year}/{dayOfYear}/{filename}:
    get:
      security:
      - OAuth2: []
      - APIKeyQuery: []
      - APIKeyHeader: []
      tags:
      - Rinex
      description: Get a specific RINEX v3 file
      operationId: GetRinexFile
      parameters:
      - $ref: '#/components/parameters/year'
      - $ref: '#/components/parameters/dayOfYear'
      - $ref: '#/components/parameters/filename'
      responses:
        '200':
          description: Returns the requested RINEX file
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '307':
          description: 'Temporary redirect, returned for files larger than 10MB. The Location header contains a time-limited URL that can be used to download the file.  Most HTTP clients can be configured to follow redirects automatically.

            '
          headers:
            Location:
              description: URL to download the file directly
              schema:
                type: string
                format: uri
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                type: object
        '204':
          description: No Content
          content:
            application/problem+json:
              schema:
                type: object
        '400':
          description: Bad request
          content:
            application/problem+json:
              schema:
                type: object
        '403':
          description: Returned if the request is valid, but you do not have access to the resource
          content:
            application/problem+json:
              schema:
                type: object
components:
  schemas:
    OSNetDownload:
      required:
      - fileName
      - url
      type: object
      properties:
        url:
          type: string
          description: Getting this URL will return a HTTP redirect to the actual data.
          format: uri
          example: https://api.os.uk/positioning/osnet/v1/stations/ABEP/rinex/ABEP00GBR_S_20243550100_01H_30S_MO.rnx.zip
        fileName:
          type: string
          description: The name of the file.
          example: ABEP00GBR_S_20243550100_01H_30S_MO.rnx.zip
        size:
          type: integer
          description: The file size, in bytes.
          format: int64
          example: 1234
        md5:
          type: string
          description: A MD5 checksum of the file data. This can be used to verify the integrity of the data once you have downloaded it.
          example: 2f9dd13abd56140afa3b5621e8864f59
        format:
          type: string
          description: This describes the format of the data.
          example: RINEX
        subformat:
          type: string
          description: This describes the subformat of the data.
          example: '3'
      description: 'Information about a specific download file that is made available through this API.

        '
    Link:
      title: Link
      required:
      - description
      - href
      - rel
      - title
      - type
      type: object
      properties:
        href:
          type: string
          format: uri
        rel:
          type: string
        type:
          type: string
        title:
          type: string
        description:
          type: string
      description: Provides a link leading to further information about a resource
    MetaData:
      required:
      - description
      - links
      - title
      type: object
      properties:
        title:
          type: string
        description:
          type: string
        links:
          type: array
          items:
            $ref: '#/components/schemas/Link'
    RequiredTemporalParameters:
      required:
      - end
      - start
      type: object
      properties:
        start:
          type: string
          description: Start date-time for the search window
          format: date-time
          example: 2024-12-31 01:00:00+00:00
        end:
          type: string
          description: End date-time for the search window
          format: date-time
          example: 2024-12-31 02:00:00+00:00
      description: Parameters that provide a temporal window (from start to end) for a query. Please note that the start time should be within the last 45 days, and the end should be no more than 24 hours after the start.
    RinexFile:
      title: RinexFile
      description: Metadata about a rinex file that is available for download
      allOf:
      - $ref: '#/components/schemas/OSNetDownload'
      - type: object
        properties:
          station:
            maxLength: 4
            minLength: 4
            type: string
            example: ABEP
          start:
            type: string
            format: date-time
            example: 2024-12-31 01:00:00
          duration:
            type: string
            description: The duration that this file covers, using RINEX filename conventions.
            example: 01H
          dataFrequency:
            type: string
            description: The data frequency of this file, using RINEX filename conventions.
            example: 30S
          percentageComplete:
            maximum: 100
            minimum: 0
            type: integer
            description: Health percentage, based on expected and actual data in the file
  parameters:
    year:
      name: year
      in: path
      description: The year to be queried
      required: true
      schema:
        minimum: 2024
        type: integer
        format: int32
    dataFrequency:
      name: dataFrequency
      in: query
      description: Parameter that selects the data frequency for a query. If the parameter is omitted then the query will proceed as if 30S data has been requested. Ephemeris files do not have a data frequency, and will be returned regardless of the dataFrequency parameter. Every organisation has access to 30S data. Access to 01S data is restricted to organisations on the Public Sector Plan.
      required: false
      schema:
        type: string
      examples:
        30S:
          summary: Data every 30 seconds
          value: 30S
        01S:
          summary: Data every second
          value: 01S
    dayOfYear:
      name: dayOfYear
      in: path
      description: The day to be queried, within the given year
      required: true
      schema:
        maximum: 366
        minimum: 1
        type: integer
    RequiredTemporalParameters:
      name: RequiredTemporalParameters
      in: query
      description: Parameters that provide a temporal window (from start to end) for a query. These parameters can be used to restrict the query to a specific time range. Please note that the start time should be within the last 45 days, and the end should be no more than 24 hours after the start.
      required: true
      explode: true
      schema:
        $ref: '#/components/schemas/RequiredTemporalParameters'
    stationId:
      name: stationId
      in: path
      description: Specific station ID.
      required: true
      schema:
        maxLength: 4
        minLength: 4
        pattern: ^[a-zA-Z0-9]*$
        type: string
      example: ABEP
    filename:
      name: filename
      in: path
      description: Name of the file
      required: true
      schema:
        type: string
        example: ABEP00GBR_S_20243550100_01H_30S_MO.rnx
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: OAUTH_TOKEN_URL
          scopes: {}
    APIKeyQuery:
      type: apiKey
      in: query
      name: key
    APIKeyHeader:
      type: apiKey
      in: header
      name: key