swagger: '2.0' info: title: CMR Search Capabilities Collections API version: 1.0.0 description: CMR Search API host: cmr.earthdata.nasa.gov basePath: /search schemes: - https consumes: [] produces: [] tags: - name: Collections description: Collection Search paths: /collections{response_format}: get: description: '
The collection search route supports both GET and POST with URL encoded form data. All parameters are searched in a case insensitive manner.
The CMR contains many more results than can be returned in a single response so the number of results that can be returned is limited. The parameters `page_num`, `offset`, and `page_size` along with the sort specified by `sort_key` control which items will be returned. The query parameter `page_size`, defaulting to 10, controls the amount of items that will be returned in a response. One of `page_num` or `offset` can be provided to index into the search results.
`page_num`, defaulting to 1, chooses a "page" of items to return. If a search matched 50 items the parameters page=3&page_size=5 would return the 11th item through the 15th item.
`offset` is a 0 based index into the result set of a query. If a search matched 50 items the parameters offset=3&page_size=5 would return 4th result through the 8th result.
You can not page past the 1 millionth item. Please contact the CMR Team at cmr-support@nasa.gov if you need to retrieve items in excess of 1 million from the CMR.
The behavior of search with respect to each parameter can be modified using the `options` parameter. The `options` parameter takes the following form: `options[parameter][option_key]=value` where parameter is the URL parameter whose behavior is to be affected, value is either `true` or `false`, and `option_key` is one of the following:
platform[]=AB?D*****&options[platform][pattern]=true would match ''ABAD123'', ''ABCD12'', ''ABeD'', etc. Defaults to false. NOTE: Patterns with leading wildcards, like "*****ODIS", are computationally expensive. The CMR limits the maximum number of patterns with a leading wildcard per query to 5.Matches collections against a free text keyword search. Keyword searches are case insensitive and support wild cards ? and *.
required: false type: string - in: query name: concept_id[] description: 'A CMR concept id is in the format <concept-type-prefix> <unique-number> "-"<provider-id>
concept-type-prefix is a single capital letter prefix indicating the concept type. "C" is used for collectionsunique-number is a single number assigned by the CMR during ingest.provider-id is the short name for the provider. i.e. "LPDAAC_ECS"Example: C123456-LPDAAC_ECS
Matches collections by additional attribute. An additional attribute name is accepted or a comma separated list of type,name,min_value,max_value.
Example: int,HORIZONTALTILENUMBER,1,12
Type is the type of the additional attribute. It will find collections with additional attributes of that type and name with a value between min_value and max_value.
The default is for collections to match all the attribute parameters. This can be changed by specifying or option with options[attribute][or]=true.
For additional attribute range search, the default is inclusive on the range boundaries. This can be changed by specifying exclude_boundary option with options[attribute][exclude_boundary]=true.
The temporal datetime has to be in yyyy-MM-ddTHH:mm:ssZ format.
\nThe first two values of the parameter together define the temporal bounds.
\nFor temporal range search, the default is inclusive on the range boundaries.\nThis can be changed by specifying exclude_boundary option with options[temporal][exclude_boundary]=true.This option has no impact on periodic temporal searches.
The collection's temporal range or the temporal range of the granules in the collection can be searched.\n options[temporal][limit_to_granules]=true will indicate that the temporal search should find collections based on the minimum and maximum values of each collection's granules' temporal range.\nIf a collection does not have any granules it will search the collection's temporal range.
Find collections based on either a single revision datetime, or a comma separated revision datetime range. If a single revision date is provided any collections with a revision date greater than or equal to the provided datetime are matched. If two dates are provided, it matches collections which have a revision date within the ranges of datetimes. The datetimes have to be in yyyy-MM-ddTHH:mm:ssZ format. The default is inclusive on the range boundaries.
required: false type: array items: type: string format: date-time collectionFormat: csv - in: query name: bounding_box description: 'Matches collections with a spatial area intersecting the provided bounding box. Bounding boxes define an area on the earth aligned with longitude and latitude. The Bounding box parameters must be 4 comma-separated numbers: lower left longitude, lower left latitude, upper right longitude, upper right latitude.' required: false type: string pattern: -?\d+,-?\d+,-?\d+,-?\d+ - in: query name: polygon description: 'Matches collections with a spatial area intersecting the provided polygon. Polygon points are provided in counter-clockwise order. The last point should match the first point to close the polygon. The values are listed comma separated in longitude latitude order, i.e. lon1, lat1, lon2, lat2, lon3, lat3, and so on.' required: false type: string - in: query name: point description: Matches collections with a spatial area intersecting the given point. Search using a point involves using a pair of values representing the point coordinates as parameters. The first value is the longitude and second value is the latitude. required: false type: string - in: query name: line description: 'Matches collections with a spatial area intersecting the given line. Lines are provided as a list of comma separated values representing coordinates of points along the line. The coordinates are listed in the format lon1, lat1, lon2, lat2, lon3, lat3, and so on.' required: false type: string - in: query name: two_d_coordinate_system_name[] description: Matches collections by a two dimensional coordinate system name (also referred to as a tiling identification system name). required: false type: array items: type: string collectionFormat: multi - in: query name: browsable description: Matches collections by whether or not the collection metadata includes at least one browse URL. required: false type: boolean - in: query name: downloadable description: Matches collections by whether or not the collection metadata includes at least one download URL. required: false type: boolean - in: query name: has_granules description: Whenhas_granules is set to "true" or "false", results will be restricted to collections with or without granules, respectively.
required: false
type: boolean
- in: query
name: has_granules_or_cwic
description: When has_granules_or_cwic is set to "true" or "false", results will be restricted to collections with or without granules, respectively. Or they are CWIC tagged collections.
required: false
type: boolean
- in: query
name: collection_data_type[]
description: 'Matches collections by the collection data type. The following are aliases for "NEAR_REAL_TIME": "near_real_time", "nrt", "NRT", "near real time", "near-real time", "near-real-time", "near real-time".'
required: false
type: array
items:
type: string
collectionFormat: multi
- in: query
name: tag_key[]
description: 'Collections can be found by searching for associated tags. The following tag parameters are supported.
exclude parameter can be used with tag_key to exclude any collections that are associated with the specified tag key from the search result.
all_revisions=true with the URL parameters. The reference and UMM JSON response formats are supported for all revision searches. References to tombstone revisions do not include the location tag and include an additional tag, deleted, which always has content of "true".
required: false
type: boolean
- in: query
name: include_granule_counts
description: When true include the number of matching granules for each matching collection.
required: false
type: boolean
- in: query
name: include_facets
description: When true include facet information in the legacy facet response format. When set to v2 include facet information in the updated version 2 facets format.
required: false
type: string
enum:
- 'true'
- 'false'
- v2
- in: query
name: hierarchical_facets
description: When include_facets is true and hierarchical_facets is true, return the legacy facet response with hierarchical fields for science keywords, platforms, instruments, data centers, and locations.
required: false
type: boolean
- in: query
name: include_highlights
description: When true highlight any of the terms provided in the keyword search that match within the collection summary. Only supported for the JSON response format.
required: false
type: boolean
- in: query
name: sort_key[]
description: "Collection results are sorted by ascending entry title by default when a search does not result in a score. If a keyword search is performed then the search results will be sorted by relevance (score descending). One or more sort keys can be specified using the sort_key[] parameter. The order used impacts searching. Fields can be prepended with a - to sort in descending order. Ascending order is the default but + can be used to explicitly request ascending.
entry_titledataset_id - alias for entry_titleshort_nameentry_idstart_dateend_dateplatforminstrumentsensorproviderrevision_datescore - document relevance score, defaults to descending.has_granules - Sorts collections by whether they have granules or not. Collections with granules are sorted before collections without granules.