Open Geospatial Consortium (OGC) Data Collections API

The Data Collections API from Open Geospatial Consortium (OGC) — 2 operation(s) for data collections.

Operations 2

GET /collections Retrieve the list of geospatial data collections available from this service. #
GET /collections/{collectionId} Retrieve the description of a collection available from this service. #

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/ogc-data-collections-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

ogc-data-collections-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ogc Data Collections API
  version: '1.0'
  contact:
    name: Open Geospatial Consortium
    email: info@ogc.org
  license:
    name: OGC License
    url: http://www.opengeospatial.org/legal/
  description: 'Operations tagged Data Collections across 3 of this provider''s published API definitions: ogc-dggs-1-0-openapi-ogcapi-dggs-1-bundled.json, ogc-maps-part1-1-0-openapi-ogcapi-maps-1-bundled.json, ogc-tiles-part1-1-0-openapi-ogcapi-tiles-1-bundled.json. Each path carries the servers of the definition it was published in.'
servers:
- description: Example OGC API - DGGS server
  url: https://maps.gnosis.earth/ogcapi
- description: Example OGC API - Tiles server
  url: https://maps.ecere.com/ogcapi
tags:
- name: Data Collections
paths:
  /collections:
    get:
      tags:
      - Data Collections
      operationId: getCollectionsList
      summary: Retrieve the list of geospatial data collections available from this service.
      parameters:
      - $ref: '#/components/parameters/datetime'
      - $ref: '#/components/parameters/bbox'
      - name: limit
        in: query
        description: 'The optional limit parameter limits the number of collections that are presented in the response document.

          Only items are counted that are on the first level of the collection in the response document. Nested objects contained within the explicitly requested items shall not be counted.

          * Minimum = 1 * Maximum = 10000 * Default = 10'
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 10000
          default: 10
        style: form
        explode: false
      - $ref: '#/components/parameters/f-metadata'
      responses:
        '200':
          $ref: '#/components/responses/CollectionsList'
    servers:
    - description: Example OGC API - DGGS server
      url: https://maps.gnosis.earth/ogcapi
  /collections/{collectionId}:
    get:
      tags:
      - Data Collections
      operationId: getCollection
      summary: Retrieve the description of a collection available from this service.
      parameters:
      - $ref: '#/components/parameters/collectionId-all'
      - $ref: '#/components/parameters/f-metadata'
      responses:
        '200':
          $ref: '#/components/responses/Collection'
    servers:
    - description: Example OGC API - DGGS server
      url: https://maps.gnosis.earth/ogcapi
components:
  schemas:
    extent:
      title: Extent with Uniform Additional Dimensions Schema
      description: 'This extent schema includes optional additional dimensions, but will still validate for

        objects not conforming to UAD.'
      allOf:
      - type: object
        description: 'The extent of the data in the collection. In the Core only spatial and temporal

          extents are specified. Extensions may add additional members to represent other

          extents, for example, thermal or pressure ranges.


          The first item in the array describes the overall extent of

          the data. All subsequent items describe more precise extents,

          e.g., to identify clusters of data.

          Clients only interested in the overall extent will only need to

          access the first item in each array.'
        properties:
          spatial:
            description: The spatial extent of the data in the collection.
            type: object
            properties:
              bbox:
                description: 'One or more bounding boxes that describe the spatial extent of the dataset.


                  The first bounding box describes the overall spatial

                  extent of the data. All subsequent bounding boxes describe

                  more precise bounding boxes, e.g., to identify clusters of data.

                  Clients only interested in the overall spatial extent will

                  only need to access the first item in each array.'
                type: array
                minItems: 1
                items:
                  description: 'Each bounding box is provided as four or six numbers, depending on

                    whether the coordinate reference system includes a vertical axis

                    (height or depth):


                    * Lower left corner, coordinate axis 1

                    * Lower left corner, coordinate axis 2

                    * Minimum value, coordinate axis 3 (optional)

                    * Upper right corner, coordinate axis 1

                    * Upper right corner, coordinate axis 2

                    * Maximum value, coordinate axis 3 (optional)


                    If the value consists of four numbers, the coordinate reference system is

                    WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84)

                    unless a different coordinate reference system is specified in `crs` property.


                    If the value consists of six numbers, the coordinate reference system is WGS 84

                    longitude/latitude/ellipsoidal height (http://www.opengis.net/def/crs/OGC/0/CRS84h)

                    unless a different coordinate reference system is specified in `crs` property.


                    For WGS 84 longitude/latitude the values are in most cases the sequence of

                    minimum longitude, minimum latitude, maximum longitude and maximum latitude.

                    However, in cases where the box spans the antimeridian the first value

                    (west-most box edge) is larger than the third value (east-most box edge).


                    If the vertical axis is included, the third and the sixth number are

                    the bottom and the top of the 3-dimensional bounding box.


                    If a feature has multiple spatial geometry properties, it is the decision of the

                    server whether only a single spatial geometry property is used to determine

                    the extent or all relevant geometries.'
                  type: array
                  oneOf:
                  - minItems: 4
                    maxItems: 4
                  - minItems: 6
                    maxItems: 6
                  items:
                    type: number
                  example:
                  - -180
                  - -90
                  - 180
                  - 90
              storageCrsBbox:
                description: 'One or more bounding boxes that describe the spatial extent of the dataset in the storage (native) CRS (`storageCrs` property).


                  The first bounding box describes the overall spatial

                  extent of the data. All subsequent bounding boxes describe

                  more precise bounding boxes, e.g., to identify clusters of data.

                  Clients only interested in the overall spatial extent will

                  only need to access the first item in each array.'
                type: array
                minItems: 1
                items:
                  description: 'Each bounding box is provided as four or six numbers, depending on

                    whether the coordinate reference system includes a vertical axis

                    (height or depth):


                    * Lower left corner, coordinate axis 1

                    * Lower left corner, coordinate axis 2

                    * Minimum value, coordinate axis 3 (optional)

                    * Upper right corner, coordinate axis 1

                    * Upper right corner, coordinate axis 2

                    * Maximum value, coordinate axis 3 (optional)'
                  type: array
                  oneOf:
                  - minItems: 4
                    maxItems: 4
                  - minItems: 6
                    maxItems: 6
                  items:
                    type: number
                  example:
                  - -180
                  - -90
                  - 180
                  - 90
              crs:
                description: 'Coordinate reference system of the coordinates of the `bbox` property.

                  The default reference system is WGS 84 longitude/latitude.

                  WGS 84 longitude/latitude/ellipsoidal height for coordinates with height.

                  For non-terrestrial coordinate reference system, another CRS may be specified.'
                type: string
                enum:
                - http://www.opengis.net/def/crs/OGC/1.3/CRS84
                - http://www.opengis.net/def/crs/OGC/0/CRS84h
                default: http://www.opengis.net/def/crs/OGC/1.3/CRS84
              grid:
                description: 'Provides information about the limited availability of data within the collection organized

                  as a grid (regular or irregular) along each spatial dimension.'
                type: array
                minItems: 2
                maxItems: 3
                items:
                  $ref: '#/components/schemas/grid'
          temporal:
            description: The temporal extent of the features in the collection.
            type: object
            properties:
              interval:
                description: 'One or more time intervals that describe the temporal extent of the dataset.

                  In the Core only a single time interval is supported.


                  Extensions may support multiple intervals.

                  The first time interval describes the overall

                  temporal extent of the data. All subsequent time intervals describe

                  more precise time intervals, e.g., to identify clusters of data.

                  Clients only interested in the overall extent will only need

                  to access the first item in each array.'
                type: array
                minItems: 1
                items:
                  description: 'Begin and end times of the time interval. The timestamps are in the

                    temporal coordinate reference system specified in `trs`. By default

                    this is the Gregorian calendar, expressed using RFC 3339 section 5.6.

                    Note that these times may be specified using time zone offsets to UTC time other than zero.


                    The value `null` for start or end time is supported and indicates a half-bounded time interval.'
                  type: array
                  minItems: 2
                  maxItems: 2
                  items:
                    type:
                    - string
                    - 'null'
                    format: date-time
                  example:
                  - '2011-11-11T12:22:11Z'
                  - '2011-11-11T08:22:11-04:00'
                  - null
              trs:
                description: 'Coordinate reference system of the coordinates in the temporal extent

                  (property `interval`). The default reference system is the Gregorian calendar.

                  In the Core this is the only supported temporal coordinate reference system.

                  Extensions may support additional temporal coordinate reference systems and add

                  additional enum values.'
                type: string
                enum:
                - http://www.opengis.net/def/uom/ISO-8601/0/Gregorian
                default: http://www.opengis.net/def/uom/ISO-8601/0/Gregorian
              grid:
                $ref: '#/components/schemas/grid'
      - anyOf:
        - type: object
          additionalProperties:
            description: The domain intervals for any additional dimensions of the extent (envelope) beyond those described in temporal and spatial.
            type: object
            oneOf:
            - required:
              - interval
              - definition
            - required:
              - interval
              - trs
            - required:
              - interval
              - vrs
            properties:
              interval:
                description: 'One or more intervals that describe the extent for this dimension of the dataset.

                  The value `null` is supported and indicates an unbounded or half-bounded interval.

                  The first interval describes the overall extent of the data for this dimension.

                  All subsequent intervals describe more precise intervals, e.g., to identify clusters of data.

                  Clients only interested in the overall extent will only need

                  to access the first item (a pair of lower and upper bound values).'
                type: array
                minItems: 1
                items:
                  description: 'Lower and upper bound values of the interval. The values

                    are in the coordinate reference system specified in `crs`, `trs` or `vrs`.'
                  type: array
                  minItems: 2
                  maxItems: 2
                  items:
                    oneOf:
                    - type:
                      - string
                      - 'null'
                    - type: number
                  example:
                  - '2011-11-11T12:22:11Z'
                  - '2011-11-11T08:22:11-04:00'
                  - 32.5
                  - null
              trs:
                type: string
                description: temporal coordinate reference system (e.g. as defined by Features for 'temporal')
              vrs:
                type: string
                description: vertical coordinate reference system (e.g. as defined in EDR for 'vertical')
              grid:
                $ref: '#/components/schemas/grid'
              definition:
                type: string
                format: uri
                description: A URI to the definition of the measured or observed property corresponding to this dimension.
              unit:
                type: string
                description: The unit of measure in which the interval and/or grid values are expressed.
              unitLang:
                type: string
                default: UCUM
                description: The language (or vocabulary) in which the unit is expressed (defaults to "UCUM" if not specified).
              variableType:
                description: The type of variable which may inform correct interpretation and interpolation methods
                type: string
                enum:
                - continuous
                - numericalOrdinal
                - numericalNominal
                - categoricalOrdinal
                - categoricalNominal
    numberMatched:
      description: The number of elements in the response that match the selection parameters like `bbox`.
      type: integer
      minimum: 0
      example: 127
    regularGrid:
      type: object
      description: Regular grid with samples spaced at equal intervals
      required:
      - resolution
      - firstCoordinate
      properties:
        resolution:
          description: Resolution of regularly gridded data along the dimension in the collection
          oneOf:
          - type:
            - string
            - 'null'
          - type: number
          example:
          - 0.0006866455078
          - PT1H
        firstCoordinate:
          description: First coordinate where a regular grid begins, with subsequent coordinates adding `resolution` unit at each step
          oneOf:
          - type:
            - string
            - 'null'
          - type: number
          example: -180
        relativeBounds:
          description: Distance in units from coordinate to the lower and upper bounds of each cell for regular grids, describing the geometry of the cells
          type: array
          minItems: 2
          maxItems: 2
          items:
            oneOf:
            - type:
              - string
              - 'null'
            - type: number
          example:
          - -0.5
          - 0.5
    role:
      description: The list of duties, job functions or permissions assigned by the system and associated with the context of this member.
      type: array
      minItems: 1
      items:
        type: string
    grid:
      type: object
      description: Provides information about the limited availability of data within the collection organized as a grid (regular or irregular) along the dimension.
      allOf:
      - type: object
        required:
        - cellsCount
        properties:
          cellsCount:
            description: Number of samples available along the dimension for data organized as a regular or irregular grid.
            type: integer
            example: 50
      - oneOf:
        - $ref: '#/components/schemas/regularGrid'
        - $ref: '#/components/schemas/irregularGrid'
    timeStamp:
      description: This property indicates the time and date when the response was generated using RFC 3339 notation.
      type: string
      format: date-time
      example: '2017-08-17T08:05:32Z'
    irregularGrid:
      type: object
      description: Irregular grid with samples spaced at different intervals
      required:
      - coordinates
      properties:
        coordinates:
          description: 'List of coordinates along the dimension for which data organized as an irregular grid in the collection is available

            (e.g., 2, 10, 80, 100).'
          type: array
          minItems: 1
          items:
            oneOf:
            - type:
              - string
              - 'null'
            - type: number
          example:
          - - 2
            - 10
            - 80
            - 100
          - - '2020-11-12T12:15:00Z'
            - '2020-11-12T12:30:00Z'
            - '2020-11-12T12:45:00Z'
        boundsCoordinates:
          description: Coordinates of the lower and upper bounds of each cell in absolute units for irregular grids describing the geometry each cell
          type: array
          minItems: 1
          items:
            type: array
            minItems: 2
            maxItems: 2
            items:
              oneOf:
              - type:
                - string
                - 'null'
              - type: number
          example:
          - - -180
            - -179
          - - -179
            - -178
    numberReturned:
      description: 'The number of elements in the response.

        A server may omit this information, if the information about the

        number of elements is not known or difficult to compute.

        If the value is provided, the value shall be identical to the number

        of elements in the response.'
      type: integer
      minimum: 0
      example: 10
    dataType:
      anyOf:
      - type: string
      - type: string
        enum:
        - map
        - vector
        - coverage
    link:
      type: object
      required:
      - href
      - rel
      properties:
        href:
          type: string
          description: Supplies the URI to a remote resource (or resource fragment).
          example: http://data.example.com/buildings/123
        rel:
          type: string
          description: The type or semantics of the relation.
          example: alternate
        type:
          type: string
          description: A hint indicating what the media type of the result of dereferencing the link should be.
          example: application/geo+json
        hreflang:
          type: string
          description: A hint indicating what the language of the result of dereferencing the link should be.
          example: en
        title:
          type: string
          description: Used to label the destination of a link such that it can be used as a human-readable identifier.
          example: Trierer Strasse 70, 53115 Bonn
        length:
          type: integer
    collectionDesc:
      type: object
      required:
      - id
      - links
      properties:
        id:
          type: string
          description: identifier of the collection used, for example, in URIs
          example: dem
        title:
          type: string
          description: human readable title of the collection
          example: Digital Elevation Model
        description:
          type: string
          description: a description of the data in the collection
          example: A Digital Elevation Model.
        attribution:
          type: string
          title: Attribution for the collection
          description: 'Attribution for the collection that can contain markup text whose format may be indicated in the `attributionMediaType` property. That format can be either plain text (`text/plain`), HTML (`text/html`) or https://commonmark.org/[CommonMark] (`text/markdown`).

            If the ''attributionMediaType'' indicates something other than `text/plain`, the `attribution` element string should be interpreted by a markup parser selected based on that media type to be presented to the user

            (e.g., `text/markdown` will be parsed by a library supporting CommonMark). By allowing markup, the attribution string can import images (e.g., organization logos) and format the text (e.g., the name of the organization in italics).'
        attributionMediaType:
          title: Media type of the attribution
          description: 'Media type for the markup language of the attribution: It can be either plain text (`text/plain`), HTML (`text/html`) or https://commonmark.org/[CommonMark] (`text/markdown`).'
          enum:
          - text/plain
          - text/html
          - text/markdown
        accessConstraints:
          description: 'Restrictions on the availability of the collection that the user needs to be aware of before using or redistributing the data:


            * unclassified: Available for general disclosure

            * restricted: Not for general disclosure

            * confidential: Available for someone who can be entrusted with information

            * secret: Kept or meant to be kept private, unknown, or hidden from all but a select group of people

            * topSecret: Of the highest secrecy'
          enum:
          - unclassified
          - restricted
          - confidential
          - secret
          - topSecret
        publisher:
          type: string
          description: Organization or individual responsible for making the data available
        contacts:
          type: array
          description: A list of contacts qualified by their role(s) in association to the collection.
          minItems: 1
          items:
            type: object
            description: 'Identification of, and means of communication with, person responsible

              for the resource.'
            anyOf:
            - required:
              - name
            - required:
              - organization
            properties:
              identifier:
                type: string
                description: A value uniquely identifying a contact.
              name:
                type: string
                description: The name of the responsible person.
              position:
                type: string
                description: The name of the role or position of the responsible person taken from the organization's formal organizational hierarchy or chart.
              organization:
                type: string
                description: Organization/affiliation of the contact.
              logo:
                description: Graphic identifying a contact. The link relation should be `icon` and the media type should be an image media type.
                allOf:
                - $ref: '#/components/schemas/link'
                - type: object
                  required:
                  - rel
                  - type
                  properties:
                    rel:
                      enum:
                      - icon
              phones:
                type: array
                description: Telephone numbers at which contact can be made.
                items:
                  type: object
                  required:
                  - value
                  properties:
                    value:
                      type: string
                      description: The value is the phone number itself.
                      pattern: ^\+[1-9]{1}[0-9]{3,14}$
                      example: '+14165550142'
                    roles:
                      allOf:
                      - description: The type of phone number (e.g. home, work, fax, etc.).
                      - $ref: '#/components/schemas/role'
              emails:
                type: array
                description: Email addresses at which contact can be made.
                items:
                  type: object
                  required:
                  - value
                  properties:
                    value:
                      type: string
                      description: The value is the email number itself.
                      format: email
                    roles:
                      allOf:
                      - description: The type of email (e.g. home, work, etc.).
                      - $ref: '#/components/schemas/role'
              addresses:
                type: array
                description: Physical location at which contact can be made.
                items:
                  type: object
                  properties:
                    deliveryPoint:
                      type: array
                      description: Address lines for the location.
                      items:
                        type: string
                    city:
                      type: string
                      description: City for the location.
                    administrativeArea:
                      type: string
                      description: State or province of the location.
                    postalCode:
                      type: string
                      description: ZIP or other postal code.
                    country:
                      type: string
                      description: Country of the physical address.  ISO 3166-1 is recommended.
                    roles:
                      allOf:
                      - description: The type of address (e.g. office, home, etc.).
                      - $ref: '#/components/schemas/role'
              links:
                type: array
                description: On-line information about the contact.
                items:
                  allOf:
                  - $ref: '#/components/schemas/link'
                  - type: object
                    required:
                    - type
              hoursOfService:
                type: string
                description: Time period when the contact can be contacted.
                example: 'Hours: Mo-Fr 10am-7pm Sa 10am-22pm Su 10am-21pm'
              contactInstructions:
                type: string
                description: 'Supplemental instructions on how or when to contact the

                  responsible party.'
              roles:
                allOf:
                - description: The set of named duties, job functions and/or permissions associated with this contact. (e.g. developer, administrator, etc.).
                - $ref: '#/components/schemas/role'
        license:
          type: string
          description: The legal provisions under which the data of this collection is made available.
        rights:
          type: string
          description: A statement that concerns all rights not addressed by the license such as a copyright statement.
        formats:
          description: A list of formats in which the data of this collection is distributed
          type: array
          items:
            type: object
            anyOf:
            - required:
              - name
            - required:
              - mediaType
            properties:
              name:
                type: string
              mediaType:
                type: string
        keywords:
          type: array
          description: The topic or topics of the resource. Typically represented using free-form keywords, tags, key phrases, or classification codes.
          items:
            type: string
        themes:
          type: array
          description: A knowledge organization system used to classify the resource.
          minItems: 1
          items:
            type: object
            required:
            - concepts
            - scheme
            properties:
              concepts:
                type: array
                description: One or more entity/concept identifiers from this knowledge system. it is recommended that a resolvable URI be used for each entity/concept identifier.
                minItems: 1
                items:
                  type: object
                  required:
                  - id
                  properties:
                    id:
                      type: string
                      description: An identifier for the concept.
                    title:
                      type: string
                      description: A human readable title for the concept.
                    description:
                      type: string
                      description: A human readable description for the concept.
                    url:
                      type: string
                      format: uri
                      description: A URI providing further description of the concept.
              scheme:
                type: string
                description: An identifier for the knowledge organization system used to classify the resource.  It is recommended that the identifier be a resolvable URI.  The list of schemes used in a searchable catalog can be determined by inspecting the server's OpenAPI document or, if the server implements CQL2, by exposing a queryable (e.g. named `scheme`) and enumerating the list of schemes in the queryable's schema definition.
        resourceLanguages:
          type: array
          description: The list of languages in which the data of this collection is available.
          items:
            type: object
            description: The language used for textual values in this record.
            required:
            - code
            properties:
              code:
                type: string
                description: The language tag as per RFC-5646.
                example: el
              name:
                type: string
                minLength: 1
                description: The untranslated name of of the language.
                example: Ελληνικά
              alternate:
                type: string
                description: The name of the language in another well-understood language, usually English.
                example: Greek
              dir:
                type: string
                description: The direction for text in this language. The default, `ltr` (left-to-right), represents the most common situation. However, care should be taken to set the value of `dir` appropriately if the language direction is not `ltr`. Other values supported are `rtl` (right-to-left), `ttb` (top-to-bottom), and `btt` (bottom-to-top).
                enum:
                - ltr
                - rtl
                - ttb
                - btt
                default: ltr
        links:
          type: array
          example:
          - href: http://data.example.org/collections/dem?f=json
            rel: self
            type: application/json
            title: Digital Elevation Model
          - href: http://data.example.org/collections/dem?f=html
            rel: alternate
            type: application/json
            title: Digital Elevation Model
          - href: http://data.example.org/collections/dem/coverage
            rel: coverage
            type: image/tiff; application=geotiff
            title: Digital Elevation Model
          - href: http://data.example.org/collections/dem/coverage/domainset
            rel: domainset
            type: application/json
            title: Digital Elevation Model
          - href: http://data.example.org/collections/dem/coverage/rangetype
            rel: rangetype
            type: application/json
            title: Digital Elevation Model
          - href: http://data.example.org/collections/dem/coverage/metadata
            rel: metadata
            type: application/json
            title: Digital Elevation Model
          items:
            $ref: '#/components/schemas/link'
        itemType:
          description: indicator about th

# --- truncated at 32 KB (90 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ogc/refs/heads/main/openapi/ogc-data-collections-api-openapi.yml