NASA CMR Capabilities API
essential characteristics of this API
essential characteristics of this API
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/nasa-cmr-capabilities-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: CMR Search Capabilities API
version: 1.0.0
description: CMR Search API
servers:
- url: https://cmr.earthdata.nasa.gov/search
tags:
- name: Capabilities
description: essential characteristics of this API
paths:
/:
get:
tags:
- Capabilities
summary: landing page
description: The root landing page displays all available provider catalogs in CMR-STAC.
operationId: getProviders
responses:
'200':
$ref: '#/components/responses/LandingPage'
'500':
$ref: '#/components/responses/ServerError'
/docs:
get:
tags:
- Capabilities
summary: information about specifications that this API conforms to
description: "A list of all conformance classes specified in a standard that the \nserver conforms to."
operationId: getConformanceDeclaration
responses:
'200':
$ref: '#/components/responses/ConformanceDeclaration'
'500':
$ref: '#/components/responses/ServerError'
/{providerId}:
get:
tags:
- Capabilities
summary: "A provider catalog that contains a STAC search endpoint as well as a collections \nendpoint for crawling through collections and items in the browser"
operationId: getProvider
responses:
'200':
$ref: '#/components/responses/Collection'
'500':
$ref: '#/components/responses/ServerError'
/{providerId}/collections:
get:
tags:
- Capabilities
summary: Display all feature collections under provider `providerId`
operationId: getCollections
parameters:
- $ref: '#/components/parameters/providerId'
- $ref: '#/components/parameters/collections'
responses:
'200':
$ref: '#/components/responses/Collections'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerError'
/{providerId}/collections/{collectionId}:
get:
tags:
- Capabilities
summary: describe the feature collection with id `collectionId`
operationId: describeCollection
parameters:
- $ref: '#/components/parameters/providerId'
- $ref: '#/components/parameters/collectionId'
responses:
'200':
$ref: '#/components/responses/Collection'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerError'
components:
parameters:
collections:
name: collections
in: query
description: 'The collections search parameter is a list of of collection IDs for Items to match.
Only items that are included in one of these collections will be returned, otherwise
all collections will be searched.
'
required: false
schema:
type: array
minItems: 1
items:
type: string
explode: false
collectionId:
name: collectionId
in: path
description: local identifier of a collection
required: true
schema:
type: string
providerId:
name: providerId
in: path
description: local identifier of a provider
required: true
schema:
type: string
schemas:
landingPage:
type: object
required:
- links
properties:
title:
type: string
example: Buildings in Bonn
description:
type: string
example: Access to data about buildings in the city of Bonn via a Web API that conforms to the OGC API Features specification.
links:
type: array
items:
$ref: '#/components/schemas/link'
exception:
type: object
description: 'Information about the exception: an error code plus an optional description.'
properties:
code:
type: string
description:
type: string
required:
- code
collections:
type: object
required:
- links
- collections
properties:
links:
type: array
items:
$ref: '#/components/schemas/link'
collections:
type: array
items:
$ref: '#/components/schemas/collection'
collection:
type: object
required:
- id
- links
properties:
id:
description: identifier of the collection used, for example, in URIs
type: string
example: address
title:
description: human readable title of the collection
type: string
example: address
description:
description: a description of the features in the collection
type: string
example: An address.
links:
type: array
items:
$ref: '#/components/schemas/link'
example:
- href: http://data.example.com/buildings
rel: item
- href: http://example.com/concepts/buildings.html
rel: describedBy
type: text/html
extent:
$ref: '#/components/schemas/extent'
itemType:
description: indicator about the type of the items in the collection (the default value is 'feature').
type: string
default: feature
crs:
description: the list of coordinate reference systems supported by the service
type: array
items:
type: string
default:
- http://www.opengis.net/def/crs/OGC/1.3/CRS84
example:
- http://www.opengis.net/def/crs/OGC/1.3/CRS84
- http://www.opengis.net/def/crs/EPSG/0/4326
link:
type: object
properties:
href:
type: string
example: http://www.geoserver.example/stac/naip/child/catalog.json
format: url
rel:
type: string
example: child
type:
type: string
example: application/json
hreflang:
type: string
example: en
title:
type: string
example: NAIP Child Catalog
length:
type: integer
title: Link
description: A generic link.
required:
- href
- rel
confClasses:
type: object
required:
- conformsTo
properties:
conformsTo:
type: array
items:
type: string
extent:
type: object
description: 'The extent of the features 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.'
properties:
spatial:
type: object
properties:
bbox:
description: 'One or more bounding boxes that describe the spatial extent of the dataset.
In the Core only a single bounding box is supported. Extensions may support
additional areas. If multiple areas are provided, the union of the bounding
boxes describes the spatial extent.'
type: array
minItems: 1
items:
description: 'West, south, east, north edges of the bounding box. The coordinates
are in the coordinate reference system specified in `crs`. By default
this is WGS 84 longitude/latitude.'
type: array
minItems: 4
maxItems: 6
items:
type: number
example:
- -180
- -90
- 180
- 90
crs:
description: 'Coordinate reference system of the coordinates in the spatial extent
(property `bbox`). The default reference system is WGS 84 longitude/latitude.
In the Core this is the only supported coordinate reference system.
Extensions may support additional coordinate reference systems and add
additional enum values.'
type: string
enum:
- http://www.opengis.net/def/crs/OGC/1.3/CRS84
default: http://www.opengis.net/def/crs/OGC/1.3/CRS84
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.
The value `null` is supported and indicates an open time intervall.
In the Core only a single time interval is supported. Extensions may support
multiple intervals. If multiple intervals are provided, the union of the
intervals describes the temporal extent.'
type: array
minItems: 1
items:
description: 'Begin and end times of the time interval. The timestamps
are in the coordinate reference system specified in `trs`. By default
this is the Gregorian calendar.'
type: array
minItems: 2
maxItems: 2
items:
type:
- string
- 'null'
format: date-time
example:
- '2011-11-11T12:22:11Z'
- 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 reference system.
Extensions may support additional temporal 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
responses:
Collections:
description: "The feature collections shared by this API.\n\nThe dataset is organized as one or more feature collections. This resource \nprovides information about and access to the collections. \n\nThe response contains the list of collections. For each collection, a link \nto the items in the collection (path `/collections/{collectionId}/items`, \nlink relation `items`) as well as key information about the collection. \nThis information includes:\n\n* A local identifier for the collection that is unique for the dataset;\n* A list of coordinate reference systems (CRS) in which geometries may be returned by the server. The first CRS is the default coordinate reference system (the default is always WGS 84 with axis order longitude/latitude);\n* An optional title and description for the collection;\n* An optional extent that can be used to provide an indication of the spatial and temporal extent of the collection - typically derived from the data;\n* An optional indicator about the type of the items in the collection (the default value, if the indicator is not provided, is 'feature')."
content:
application/json:
schema:
$ref: '#/components/schemas/collections'
example:
links:
- href: http://data.example.org/collections.json
rel: self
type: application/json
title: this document
- href: http://data.example.org/collections.html
rel: alternate
type: text/html
title: this document as HTML
- href: http://schemas.example.org/1.0/buildings.xsd
rel: describedBy
type: application/xml
title: GML application schema for Acme Corporation building data
- href: http://download.example.org/buildings.gpkg
rel: enclosure
type: application/geopackage+sqlite3
title: Bulk download (GeoPackage)
length: 472546
collections:
- id: buildings
title: Buildings
description: Buildings in the city of Bonn.
extent:
spatial:
bbox:
- - 7.01
- 50.63
- 7.22
- 50.78
temporal:
interval:
- - '2010-02-15T12:34:56Z'
- null
links:
- href: http://data.example.org/collections/buildings/items
rel: items
type: application/geo+json
title: Buildings
- href: http://data.example.org/collections/buildings/items.html
rel: items
type: text/html
title: Buildings
- href: https://creativecommons.org/publicdomain/zero/1.0/
rel: license
type: text/html
title: CC0-1.0
- href: https://creativecommons.org/publicdomain/zero/1.0/rdf
rel: license
type: application/rdf+xml
title: CC0-1.0
text/html:
schema:
type: string
LandingPage:
description: "The landing page provides links to the API definition \n(link relations `service-desc` and `service-doc`), \nthe Conformance declaration (path `/conformance`, \nlink relation `conformance`), and the Feature \nCollections (path `/collections`, link relation \n`data`)."
content:
application/json:
schema:
$ref: '#/components/schemas/landingPage'
example:
title: Buildings in Bonn
description: Access to data about buildings in the city of Bonn via a Web API that conforms to the OGC API Features specification.
links:
- href: http://data.example.org/
rel: self
type: application/json
title: this document
- href: http://data.example.org/api
rel: service-desc
type: application/vnd.oai.openapi+json;version=3.0
title: the API definition
- href: http://data.example.org/api.html
rel: service-doc
type: text/html
title: the API documentation
- href: http://data.example.org/conformance
rel: conformance
type: application/json
title: OGC API conformance classes implemented by this server
- href: http://data.example.org/collections
rel: data
type: application/json
title: Information about the feature collections
text/html:
schema:
type: string
ConformanceDeclaration:
description: "The URIs of all conformance classes supported by the server.\n\nTo support \"generic\" clients that want to access multiple \nOGC API Features implementations - and not \"just\" a specific \nAPI / server, the server declares the conformance \nclasses it implements and conforms to."
content:
application/json:
schema:
$ref: '#/components/schemas/confClasses'
example:
conformsTo:
- http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/core
- http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30
- http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/html
- http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson
text/html:
schema:
type: string
NotFound:
description: The requested URI was not found.
Collection:
description: "Information about the feature collection with id `collectionId`.\n\nThe response contains a linkto the items in the collection \n(path `/collections/{collectionId}/items`,link relation `items`) \nas well as key information about the collection. This information \nincludes:\n\n* A local identifier for the collection that is unique for the dataset;\n* A list of coordinate reference systems (CRS) in which geometries may be returned by the server. The first CRS is the default coordinate reference system (the default is always WGS 84 with axis order longitude/latitude);\n* An optional title and description for the collection;\n* An optional extent that can be used to provide an indication of the spatial and temporal extent of the collection - typically derived from the data;\n* An optional indicator about the type of the items in the collection (the default value, if the indicator is not provided, is 'feature')."
content:
application/json:
schema:
$ref: '#/components/schemas/collection'
example:
id: buildings
title: Buildings
description: Buildings in the city of Bonn.
extent:
spatial:
bbox:
- - 7.01
- 50.63
- 7.22
- 50.78
temporal:
interval:
- - '2010-02-15T12:34:56Z'
- null
links:
- href: http://data.example.org/collections/buildings/items
rel: items
type: application/geo+json
title: Buildings
- href: http://data.example.org/collections/buildings/items.html
rel: items
type: text/html
title: Buildings
- href: https://creativecommons.org/publicdomain/zero/1.0/
rel: license
type: text/html
title: CC0-1.0
- href: https://creativecommons.org/publicdomain/zero/1.0/rdf
rel: license
type: application/rdf+xml
title: CC0-1.0
text/html:
schema:
type: string
ServerError:
description: A server error occurred.
content:
application/json:
schema:
$ref: '#/components/schemas/exception'
text/html:
schema:
type: string