BYTETOOLS

NASA Image and Video Library API

Free NASA Image and Video Library API with no key: search 140,000+ NASA photos, videos and audio with captions, keywords and multiple resolutions. No account needed.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the NASA Image and Video Library API?

The NASA Image and Video Library API is a free, key-free search interface to NASA's media archive. It returns image, video and audio records with titles, descriptions, keywords, NASA centre and dates, plus direct URLs to thumbnail, small, medium and original-resolution assets.

This is the API behind images.nasa.gov, covering well over a hundred thousand assets from every NASA centre — Apollo mission photography, Hubble and Webb releases, launch footage, historical audio. Unlike the better-known APOD endpoint it needs no key at all, not even a demo one, which makes it the easiest NASA media source to build against.

The response follows the Collection+JSON convention, so results nest under `collection.items`, each item carrying a `data` array with exactly one metadata object and a `links` array of asset URLs at different sizes. Two things to watch: assets live on a separate `images-assets.nasa.gov` host, so you fetch metadata here and pixels there; and although most NASA imagery is public domain, the archive does contain third-party material with restrictions, which the item's own description flags. Check before assuming you can reuse a particular image commercially.

Quick facts

Base URL
https://images-api.nasa.gov
Authentication
No API key or account, not even a demo key. Most NASA media is public domain, but the archive includes third-party content with usage restrictions — check each item's description before commercial reuse.
Rate limit
No published limit. Asset downloads come from a separate CDN host and are not counted against the search API.
Pricing
Free. NASA content is generally not copyrighted; NASA logos and insignia have separate usage rules.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the NASA Image and Video Library API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Search the archive for Apollo 11 images

GET https://images-api.nasa.gov/search?q=apollo%2011&page_size=1&media_type=image

curl
curl 'https://images-api.nasa.gov/search?q=apollo%2011&page_size=1&media_type=image'
JavaScript (fetch)
const res = await fetch("https://images-api.nasa.gov/search?q=apollo%2011&page_size=1&media_type=image");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://images-api.nasa.gov/search?q=apollo%2011&page_size=1&media_type=image", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "collection": {
    "version": "1.1",
    "href": "http://images-api.nasa.gov/search?q=apollo%2011&page_size=1&media_type=image",
    "items": [
      {
        "href": "https://images-assets.nasa.gov/image/jsc2007e034221/collection.json",
        "data": [
          {
            "album": [
              "KSC_50th_Anniversary"
            ],
            "center": "JSC",
            "date_created": "1969-07-11T00:00:00Z",
            "description": "Personnel atop the 402-ft. Mobile Service Structure look back at the Apollo 11 spacecraft as the tower is moved away during a Countdown Demonstration Test. Photo filed 11 July 1969. ",
            "keywords": [
              "Apollo",
              "Apollo 11",
              "Launch"
            ],
            "media_type": "image",
            "nasa_id": "jsc2007e034221",
            "title": "Apollo 11 spacecraft pre-launch"
          }
        ],
        "links": [
          {
            "href": "https://images-assets.nasa.gov/image/jsc2007e034221/jsc2007e034221~medium.jpg",
            "rel": "alternate",
            "render": "image",
            "width": 975,
            "size": 176000,
            "height": 1280
          },
          {
            "href": "https://images-assets.nasa.gov/image/jsc2007e034221/jsc2007e034221~small.jpg",
            "rel": "alternate",
            "render": "image",
            "width": 487,
            "size": 60000,
            "height": 640
          },
          {
            "href": "https://images-assets.nasa.gov/image/jsc2007e034221/jsc2007e034221~thumb.jpg",
            "rel": "

Parameters

ParameterTypeRequiredDescription
qqueryOptionalFree-text search across titles, descriptions and keywords. apollo 11
media_typequeryOptional`image`, `video` or `audio`, comma separated to combine. image
page_sizequeryOptionalResults per page, up to 100. 20
pagequeryOptionalOne-based page number. 1
centerqueryOptionalNASA centre that produced the asset, such as `JSC`, `KSC` or `JPL`. JSC
year_start / year_endqueryOptionalRestrict by creation year. 1969
nasa_idqueryOptionalFetch one specific asset by its NASA identifier. jsc2007e034221

Response fields

collection.items[]array
Matched assets. Collection+JSON, so everything is nested one level deeper than you expect.
items[].data[0]object
The metadata object — `title`, `description`, `keywords`, `date_created`, `center`, `nasa_id`, `media_type`. Always a one-element array.
items[].links[]array
Asset URLs with `width`, `height` and `size`, typically thumb, small and medium variants.
items[].hrefstring
URL of the asset manifest listing every available rendition including the original.
collection.metadata.total_hitsinteger
Total matches across all pages.

What you can build with the NASA Image and Video Library API

  • Add a space image search to an app or site
  • Pull mission photography for an educational resource
  • Build a wallpaper or screensaver gallery from NASA imagery
  • Find historical footage of a specific launch
  • Enrich space news articles with archive photography

Common errors and how to fix them

Empty items array

The query matched nothing, or filters were too narrow.

Fix: Drop `year_start`/`year_end` first — dates in the archive are often the filing date rather than the capture date.

400

An unsupported parameter or malformed year.

Fix: Years are four digits. Unrecognised parameters are rejected rather than ignored.

Only small images returned

`links` carries preview renditions only.

Fix: Follow `items[].href` to the asset manifest, which lists every rendition including the full-resolution original.

Copyright uncertainty

Not everything in the archive is public domain.

Fix: Read the item's `description` — third-party contributions are noted there — and consult NASA's media usage guidelines before commercial use.

NASA Image and Video Library API — frequently asked questions

Does the NASA Images API need an API key?

No. Unlike most api.nasa.gov endpoints it needs no key at all, not even DEMO_KEY, which makes it the simplest NASA data source to start with.

Are NASA images free to use commercially?

Generally yes — NASA material is usually not copyrighted. But the archive includes third-party images with restrictions, and NASA's logos, insignia and mission identifiers have separate rules. Check the item description and NASA's media guidelines before commercial reuse.

How do I get the full-resolution version of an image?

The search response only carries preview renditions. Follow the item's `href` to its asset manifest, which lists every file including the original, then fetch that URL from the assets host.

How is this different from the NASA APOD API?

APOD returns one curated Astronomy Picture of the Day, needs an api.nasa.gov key, and covers a single daily feature. This API searches NASA's entire institutional media archive across every centre and mission, with no key at all.

Tools that pair with this API

NASA Image and Video Library is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.