granules: Search for data granules

API: nasa.gov:nasa-earthdata-api
Endpoint: /search/granules
Response format: application/json
Charset: utf-8
Auth: none
Method: GET
Last Status: 200
Latency: 241ms

Description

Search for individual data files (granules) within collections. Returns metadata about specific data files including download links, file sizes, spatial coverage, and temporal extent.

Parameters (6)

bounding_box (string, query, optional)

Spatial filter as min_lon,min_lat,max_lon,max_lat

concept_id (string, query, optional)

Filter by collection concept ID

page_num (integer, query, optional, default: 1)

Page number for pagination

Constraints: {'minimum': 1}

page_size (integer, query, optional, default: 10)

Number of results per page (default: 10, max: 2000)

Constraints: {'minimum': 1, 'maximum': 2000}

short_name (string, query, optional)

Filter by collection short name

temporal (string, query, optional)

Temporal filter as start_datetime,end_datetime in ISO 8601 format

Examples (1)

Search for data granules openapi-spec
curl 'https://cmr.earthdata.nasa.gov/search/granules?short_name=MOD11A1&concept_id=C1748046084-LPCLOUD&bounding_box=-180%2C-90%2C180%2C90&temporal=2024-01-01T00%3A00%3A00Z%2C2024-03-01T00%3A00%3A00Z'
import requests

resp = requests.get(
    "https://cmr.earthdata.nasa.gov/search/granules",
    params={
        'short_name': 'MOD11A1',
        'concept_id': 'C1748046084-LPCLOUD',
        'bounding_box': '-180,-90,180,90',
        'temporal': '2024-01-01T00:00:00Z,2024-03-01T00:00:00Z',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("nasa-earthdata")
result = api.fetch("search/granules", short_name="MOD11A1", concept_id="C1748046084-LPCLOUD", bounding_box="-180,-90,180,90", temporal="2024-01-01T00:00:00Z,2024-03-01T00:00:00Z")

for item in result:
    print(item)
const resp = await fetch("https://cmr.earthdata.nasa.gov/search/granules?short_name=MOD11A1&concept_id=C1748046084-LPCLOUD&bounding_box=-180%2C-90%2C180%2C90&temporal=2024-01-01T00%3A00%3A00Z%2C2024-03-01T00%3A00%3A00Z");
const data = await resp.json();

Probe History

Latency

Status Codes

TimeStatusLatencySize
2026-04-16 17:14:08.935740 200 241ms
2026-04-16 01:11:10.731478 200 313ms
2026-04-15 04:02:56.596540 200 322ms
2026-04-14 02:01:54.263266 200 287ms
2026-04-12 13:04:09.753442 200 258ms
2026-04-10 00:37:11.107507 200 212ms
2026-04-09 00:17:01.180592 200 294ms
2026-04-08 06:57:08.714926 200 376ms
2026-04-07 00:29:01.620580 200 267ms
2026-04-05 21:07:52.373548 200 375ms
2026-03-23 10:18:04.903323 200 343ms