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.

Paging Details

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.

Parameter Options

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:

' summary: Search for collections x-no-doc: false tags: - Collections parameters: - in: path name: response_format description: Select an extension to specify the format for search results. The default is xml. An accept header MIME type can also be used to specify the response format. The default is 'application/xml'. required: false type: string default: .xml enum: - .xml - .json - .atom - .native - .umm_json - .echo10 - .dif10 - .dif - .iso - .iso19115 - .opendata - .kml - .csv - in: query name: keyword description:

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>

Example: C123456-LPDAAC_ECS

' required: false type: array items: type: string collectionFormat: multi - in: query name: entry_id[] description: Matches collections by entry ID. required: false type: array items: type: string collectionFormat: multi - in: query name: entry_title[] description: Matches collections by entry title. required: false type: array items: type: string collectionFormat: multi - in: query name: short_name[] description: Matches collections by short name. required: false type: array items: type: string collectionFormat: multi - in: query name: version[] description: Matches collections by version ID. required: false type: array items: type: string collectionFormat: multi - in: query name: provider[] description: Matches collections by provider ID. required: false type: array items: type: string collectionFormat: multi - in: query name: provider_short_name[] description: Matches collections by provider short name. Does not support the pattern option. required: false type: array items: type: string collectionFormat: multi - in: query name: science_keywords[0][category] description: Matches collections by science keyword subfield category. To specify multiple different science keywords use a different index for each science keyword (e.g. science_keywords[1][category]). required: false type: array items: type: string collectionFormat: multi - in: query name: science_keywords[0][topic] description: Matches collections by science keyword subfield topic. To specify multiple different science keywords use a different index for each science keyword (e.g. science_keywords[1][topic]). required: false type: array items: type: string collectionFormat: multi - in: query name: science_keywords[0][term] description: Matches collections by science keyword subfield term. To specify multiple different science keywords use a different index for each science keyword (e.g. science_keywords[1][term]). required: false type: array items: type: string collectionFormat: multi - in: query name: science_keywords[0][variable_level_1] description: Matches collections by science keyword subfield variable level 1. To specify multiple different science keywords use a different index for each science keyword (e.g. science_keywords[1][variable_level_1]). required: false type: array items: type: string collectionFormat: multi - in: query name: science_keywords[0][variable_level_2] description: Matches collections by science keyword subfield variable level 2. To specify multiple different science keywords use a different index for each science keyword (e.g. science_keywords[1][variable_level_2]). required: false type: array items: type: string collectionFormat: multi - in: query name: science_keywords[0][variable_level_3] description: Matches collections by science keyword subfield variable level 3. To specify multiple different science keywords use a different index for each science keyword (e.g. science_keywords[1][variable_level_3]). required: false type: array items: type: string collectionFormat: multi - in: query name: science_keywords[0][detailed_variable] description: Matches collections by science keyword subfield detailed variable. To specify multiple different science keywords use a different index for each science keyword (e.g. science_keywords[1][detailed_variable]). required: false type: array items: type: string collectionFormat: multi - in: query name: spatial_keyword[] description: Matches collections by spatial keyword. required: false type: array items: type: string collectionFormat: multi - in: query name: platform[] description: Matches collections by platform short name. required: false type: array items: type: string collectionFormat: multi - in: query name: instrument[] description: Matches collections by instrument short name. required: false type: array items: type: string collectionFormat: multi - in: query name: sensor[] description: Matches collections by sensor short name. required: false type: array items: type: string collectionFormat: multi - in: query name: data_center[] description: Matches collections by data center. Data centers include archive, processing, originating, and distribution centers. required: false type: array items: type: string collectionFormat: multi - in: query name: archive_center[] description: Matches collections by archive center. required: false type: array items: type: string collectionFormat: multi - in: query name: project[] description: Match collections by project short name. required: false type: array items: type: string collectionFormat: multi - in: query name: processing_level_id[] description: Match collections by processing level ID. required: false type: array items: type: string collectionFormat: multi - in: query name: attribute[] description: '

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.

' required: false type: array items: type: string collectionFormat: multi - in: query name: temporal[] description: "

The temporal datetime has to be in yyyy-MM-ddTHH:mm:ssZ format.

\n

The first two values of the parameter together define the temporal bounds.

\n

For 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.

\n

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.

" required: false type: array items: type: string collectionFormat: multi - in: query name: updated_since description: Find collections which have revision date starting at or after 'updated_since' param value required: false type: string format: date-time - in: query name: revision_date description:

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: When has_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.

' required: false type: array items: type: string collectionFormat: multi - in: query name: include_tags description: When true include tag information in the response for each of the matching collections. required: false type: boolean - in: query name: all_revisions description: In addition to retrieving the latest revision for a collection parameter search, it is possible to return all revisions, including tombstone (deletion marker) revisons, by passing in 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.

\n
Valid Collection Sort Keys
\n