135 lines
3.4 KiB
Markdown
135 lines
3.4 KiB
Markdown
---
|
|
title: "NASA APIs"
|
|
task: ""
|
|
lineage_type: import
|
|
upstream_source: https://github.com/K-Dense-AI/scientific-agent-skills/blob/9c9bd2e9/skills/database-lookup/references/nasa.md
|
|
upstream_sha: 9c9bd2e9
|
|
imported_at: 2026-06-26
|
|
prompt_class: prompt
|
|
upstream_changes: accepted
|
|
author: upstream
|
|
validated: false
|
|
---
|
|
|
|
# NASA APIs
|
|
|
|
## Base URL
|
|
|
|
```
|
|
https://api.nasa.gov
|
|
```
|
|
|
|
## Authentication
|
|
|
|
All endpoints require an API key passed as `api_key` query parameter.
|
|
- Get a free key at: https://api.nasa.gov/#signUp
|
|
- Demo key: `DEMO_KEY` (rate-limited: 30 req/hour, 50 req/day per IP)
|
|
- Registered keys: 1,000 req/hour
|
|
|
|
## Key Endpoints
|
|
|
|
### 1. APOD (Astronomy Picture of the Day)
|
|
|
|
```
|
|
GET /planetary/apod
|
|
```
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|------------|--------|-------------|
|
|
| `api_key` | string | **Required.** API key. |
|
|
| `date` | string | YYYY-MM-DD. Default: today. |
|
|
| `start_date` | string | Start of date range (YYYY-MM-DD). |
|
|
| `end_date` | string | End of date range (YYYY-MM-DD). |
|
|
| `count` | int | Return N random images (cannot combine with date/range). |
|
|
| `thumbs` | bool | Return thumbnail URL for video entries. |
|
|
|
|
**Example:**
|
|
```
|
|
https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&date=2024-01-15
|
|
```
|
|
|
|
**Response (JSON):**
|
|
```json
|
|
{
|
|
"date": "2024-01-15",
|
|
"title": "...",
|
|
"explanation": "...",
|
|
"url": "https://apod.nasa.gov/apod/image/...",
|
|
"hdurl": "https://apod.nasa.gov/apod/image/...",
|
|
"media_type": "image",
|
|
"copyright": "..."
|
|
}
|
|
```
|
|
|
|
### 2. NEO — Near Earth Objects (Asteroids NeoWs)
|
|
|
|
```
|
|
GET /neo/rest/v1/feed
|
|
```
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|--------------|--------|-------------|
|
|
| `api_key` | string | **Required.** |
|
|
| `start_date` | string | YYYY-MM-DD. Default: today. |
|
|
| `end_date` | string | YYYY-MM-DD. Max 7 days from start. |
|
|
|
|
**Example:**
|
|
```
|
|
https://api.nasa.gov/neo/rest/v1/feed?start_date=2024-01-01&end_date=2024-01-03&api_key=DEMO_KEY
|
|
```
|
|
|
|
**Lookup by asteroid ID:**
|
|
```
|
|
GET /neo/rest/v1/neo/{asteroid_id}?api_key=DEMO_KEY
|
|
```
|
|
|
|
**Browse all:**
|
|
```
|
|
GET /neo/rest/v1/neo/browse?api_key=DEMO_KEY
|
|
```
|
|
|
|
**Response structure:** `near_earth_objects` keyed by date, each containing array of objects with `name`, `nasa_jpl_url`, `estimated_diameter`, `close_approach_data`, `is_potentially_hazardous_asteroid`.
|
|
|
|
### 3. Mars Rover Photos
|
|
|
|
```
|
|
GET /mars-photos/api/v1/rovers/{rover}/photos
|
|
```
|
|
|
|
Rovers: `curiosity`, `opportunity`, `spirit`, `perseverance`
|
|
|
|
**Parameters:**
|
|
|
|
| Parameter | Type | Description |
|
|
|-----------|--------|-------------|
|
|
| `api_key` | string | **Required.** |
|
|
| `sol` | int | Martian sol (day). Use `sol` OR `earth_date`, not both. |
|
|
| `earth_date` | string | YYYY-MM-DD. |
|
|
| `camera` | string | Filter by camera: `FHAZ`, `RHAZ`, `MAST`, `CHEMCAM`, `NAVCAM`, etc. |
|
|
| `page` | int | 25 results per page. |
|
|
|
|
**Example:**
|
|
```
|
|
https://api.nasa.gov/mars-photos/api/v1/rovers/curiosity/photos?sol=1000&camera=NAVCAM&api_key=DEMO_KEY
|
|
```
|
|
|
|
**Rover manifest (mission metadata):**
|
|
```
|
|
GET /mars-photos/api/v1/manifests/{rover}?api_key=DEMO_KEY
|
|
```
|
|
|
|
**Response:** Array of `photos`, each with `id`, `sol`, `camera` (with `full_name`), `img_src`, `earth_date`, `rover`.
|
|
|
|
## Rate Limits
|
|
|
|
| Key Type | Hourly Limit | Daily Limit |
|
|
|------------|-------------|-------------|
|
|
| `DEMO_KEY` | 30/hour | 50/day |
|
|
| Registered | 1,000/hour | Unlimited |
|
|
|
|
Rate limit headers: `X-RateLimit-Limit`, `X-RateLimit-Remaining`.
|