---
name: pull-nasa-images
description: Search and download original NASA Image Library stills, especially Apollo Hasselblad frames and shuttle photographs. Use for nasa_id lookups, ~orig.jpg assets, and comparing NASA originals against larger Wikimedia Commons copies of the same frame.
---

# Pull NASA Images

Use the Image and Video Library API. Do not scrape `images.nasa.gov` HTML. Run the script.

```
node scripts/pull-nasa.mjs --q Earthrise
node scripts/pull-nasa.mjs --nasa-id as11-40-5903 --download
```

Downloads land in `tmp-scans/`. Then `catalog-work`. Traps: `known-source-failures`.

API: `https://images-api.nasa.gov`

User-Agent: `MorganGoinsArchive/1.0 (+https://morgangoins.org/.well-known/image-sources.json)`

## Search

```
https://images-api.nasa.gov/search?nasa_id=as11-40-5903
https://images-api.nasa.gov/search?q=Earthrise&media_type=image
```

`nasa_id` is exact (Apollo stills look like `as11-40-5903` or `AS17-134-20384`; try both casings if one 404s).

Each hit includes `data[0]` metadata and `links[]` previews. Previews are not the original.

## Original asset

```
https://images-api.nasa.gov/asset/{nasa_id}
```

The JSON collection lists file hrefs. Prefer the `~orig.jpg` (or `~orig.tif`) on `images-assets.nasa.gov`. Skip `~medium`, `~small`, and `~thumb`.

Record URL pattern:

```
https://images.nasa.gov/details/{nasa_id}
https://images-assets.nasa.gov/image/{nasa_id}/{nasa_id}~orig.jpg
```

## Film size

Apollo and Gemini 70mm Hasselblad stills use a **2.20 × 2.20 in** image area. Effective PPI is `min(width, height) / 2.20`. Do not use 70mm (2.76 in) or the paper print size.

Mercury stills are mixed. Use **35mm (1.417 × 0.945 in)** when the frame is ~3:2, and **4×5 inch sheet film** when it is ~4:5. Do not treat ground-camera Mercury launches as Hasselblad 70mm.

Shuttle stills are mixed. Match the camera, not the orbiter:

- Early in-orbit Hasselblad (McCandless `S84-27031`, square STS-1 tracking stills): **70mm, 2.20 × 2.20 in**.
- STS-31 Hubble through the flight-deck window (`S31-03-014`): **35mm film** (`1.42 × 0.94 in`).
- Later ISS / shuttle digital (Nikon D3S / D3X, ~3:2): **35mm full frame** (`1.42 × 0.94 in`). Portrait frames use `0.94 × 1.42`.
- Dryden ALT and ferry stills (~4:5): **4×5 inch** (`5.00 × 4.00 in`). Enterprise `EC77-8611`, Atlantis on the SCA.
- Do not treat pad or ferry photographs as Hasselblad unless the frame is square 70mm.

## Century of Speed / Dryden

NACA and NASA Dryden / Armstrong stills use IDs like `EC67-1826`, `EC93-42025-1`, `EC97-44007-01`, `AFRC2025-0168-038`. Same `~orig` path. After NASA, check Commons for the same Dryden/GPN filename.

Film for this shelf:

- Historic NACA / Dryden stills (~4:5): **4×5 inch** (`5.00 × 4.00 in`). X-1, XB-70, SR-71, X-15, F-104, F-15 ACTIVE, J58.
- Modern digital (X-59, USAF F-22): **35mm full frame** (`1.42 × 0.94 in`).
- Do not use Hasselblad `2.20 in` for aircraft stills.

Known NASA `~orig` keepers: X-59 `AFRC2025-0168-038` `6827×4553`; F-15 ACTIVE `EC93-42025-1` `5100×4000`; XB-70 `EC67-1826` `4463×3491`; J58 `EC97-44007-01` `3441×3114`. Commons beat or replaced NASA for Bell X-1, both SR-71s, X-15/B-52, and F-104.

## Same-frame upgrade

After downloading `~orig`, check Wikimedia Commons for the same `nasa_id` / `ASxx-xx-xxxxx` filename. Keep whichever original has more pixels.

Known upgrades: Earthrise `as08-14-2383` — Commons `5584×5584` is larger than NASA `~orig`. Gemini 6/7 rendezvous `S65-63221` — Commons raw scan `4600×4410` is larger than NASA `~orig`. Columbia STS-1 `81pc0382` — Commons `6084×6084` is larger than NASA `~orig` `3000×2528`. McCandless `S84-27031` — NASA `8025×8025` is larger than Commons.

NASA media is generally not copyrighted; credit NASA and the crew/photographer.

## Works in this archive

<!-- generated:archive-works -->
122 works. Written from `lib/collection.ts` by `node scripts/write-image-sources.mjs`. Do not hand-edit.

### century-of-speed
- X-59 over the Mojave — 6827 × 4553 px — 4808 PPI — `AFRC2025-0168-038~orig.jpg`
- F-15 ACTIVE — 5100 × 4000 px — 1000 PPI — `EC93-42025-1~orig.jpg`
- XB-70 Valkyrie — 4463 × 3491 px — 873 PPI — `EC67-1826~orig.jpg`
- J58 in full afterburner — 3441 × 3114 px — 688 PPI — `EC97-44007-01~orig.jpg`
### spaceflight
- Endeavour and the ISS from Soyuz — 6048 × 4032 px — 4259 PPI — `iss027e036685~orig.jpg`
- Grissom in Liberty Bell 7 — 5768 × 3772 px — 3992 PPI — `s64-10806~orig.jpg`
- McCandless untethered — 8025 × 8025 px — 3648 PPI — `S84-27031~orig.jpg`
- Alexandria from Gemini 5 — 6874 × 6874 px — 3125 PPI — `s65-45736~orig.jpg`
- Atlantis leaving the ISS — 2832 × 4256 px — 2997 PPI — `iss028e018039~orig.jpg`
- Gumdrop against the Earth — 6545 × 6545 px — 2975 PPI — `as09-24-3657~orig.jpg`
- Bean at Surveyor 3 — 6515 × 6515 px — 2961 PPI — `AS12-48-7134~orig.jpg`
- Bean with the hand tool kit — 6562 × 6480 px — 2945 PPI — `as12-49-7281~orig.jpg`
- Hubble from Discovery — 4095 × 2708 px — 2881 PPI — `S31-03-014~orig.jpg`
- White on the first American EVA — 5976 × 5664 px — 2575 PPI — `s65-30427~orig.jpg`
- Bean deploys the magnetometer — 5647 × 5699 px — 2567 PPI — `as12-46-6813~orig.jpg`
- The Apollo 12 flag and Intrepid — 5699 × 5639 px — 2563 PPI — `AS12-49-7318~orig.jpg`
- The Nile and Suez from Gemini 4 — 6000 × 5622 px — 2555 PPI — `s65-34776~orig.jpg`
- Gumdrop from Spider — 5491 × 5849 px — 2496 PPI — `as09-24-3641~orig.jpg`
- Mitchell with the traverse map — 5460 × 5460 px — 2482 PPI — `AS14-64-9089~orig.jpg`
- The MET at Station A — 5458 × 5669 px — 2481 PPI — `as14-66-9306~orig.jpg`
- Bean at Surveyor, color — 5409 × 5409 px — 2459 PPI — `AS12-48-7133~orig.jpg`
- Earth from Apollo 8 — 5262 × 5122 px — 2328 PPI — `as08-13-2329~orig.jpg`
- Aldrin at the Lunar Module — 5189 × 5067 px — 2298 PPI — `as11-40-5903~orig.jpg`
- Shepard on the USS Lake Champlain — 3000 × 2057 px — 2117 PPI — `S61-02727~orig.jpg`
- The Blue Marble — 4579 × 4579 px — 2076 PPI — `as17-148-22727~orig.jpg`
- Freedom 7 liftoff — 1918 × 3000 px — 2030 PPI — `6100884~orig.jpg`
- Earth and Spider — 4320 × 4320 px — 1964 PPI — `as09-24-3652~orig.jpg`
- Earth on the lunar limb — 4155 × 4155 px — 1889 PPI — `as11-44-6550~orig.jpg`
- Earth over Mare Smythii — 4151 × 4151 px — 1887 PPI — `as11-44-6548~orig.jpg`
- Earthrise from Columbia — 4152 × 4152 px — 1887 PPI — `as11-44-6551~orig.jpg`
- Earth rising from Columbia — 4149 × 4149 px — 1886 PPI — `as11-44-6552~orig.jpg`
- Earth over the lunar horizon — 4146 × 4146 px — 1885 PPI — `as11-44-6549~orig.jpg`
- Schmitt beside the flag — 4145 × 4145 px — 1880 PPI — `AS17-134-20384~orig.jpg`
- Earthrise, second frame — 4136 × 4136 px — 1880 PPI — `as08-14-2384~orig.jpg`
- Eagle's ascent stage — 4132 × 4132 px — 1878 PPI — `as11-44-6634~orig.jpg`
- Spider from Gumdrop — 4128 × 4128 px — 1876 PPI — `as09-21-3197~orig.jpg`
- Lunar terminator from Apollo 8 — 4126 × 4278 px — 1875 PPI — `as08-13-2344~orig.jpg`
- Sea of Fertility from orbit — 4112 × 4112 px — 1869 PPI — `as11-37-5437~orig.jpg`
- Earth over the lunar horizon — 4114 × 4102 px — 1865 PPI — `as08-16-2588~orig.jpg`
- Earthrise from Apollo 10 — 4096 × 4096 px — 1862 PPI — `as10-27-3890~orig.jpg`
- Bean with the ALSEP packages — 4096 × 4096 px — 1862 PPI — `as12-46-6807~orig.jpg`
- Irwin at the rover — 4096 × 4096 px — 1862 PPI — `as15-86-11602~orig.jpg`
- Schmitt at a boulder field — 4096 × 4096 px — 1862 PPI — `as17-145-22165~orig.jpg`
- The crescent Earth — 4096 × 4096 px — 1862 PPI — `as17-147-22527~orig.jpg`
- Schweickart on the porch — 4095 × 4095 px — 1861 PPI — `as09-20-3094~orig.jpg`
- Charlie Brown after undocking — 4095 × 4095 px — 1861 PPI — `as10-27-3873~orig.jpg`
- Earth from Apollo 10 — 4095 × 4095 px — 1861 PPI — `as10-34-5013~orig.jpg`
- Half Earth from Apollo 10 — 4095 × 4095 px — 1861 PPI — `as10-34-5026~orig.jpg`
- Eagle on the Sea of Tranquility — 4095 × 4095 px — 1861 PPI — `as11-40-5927~orig.jpg`
- Bean with a lunar sample container — 4095 × 4095 px — 1861 PPI — `as12-49-7278~orig.jpg`
- Earth from the crippled Odyssey — 4095 × 4095 px — 1861 PPI — `as13-60-8588~orig.jpg`
- Mitchell at Fra Mauro — 4095 × 4095 px — 1861 PPI — `as14-66-9233~orig.jpg`
- Scott on the slope — 4095 × 4095 px — 1861 PPI — `as15-85-11451~orig.jpg`
- Irwin salutes beside the flag — 4095 × 4095 px — 1861 PPI — `as15-88-11866~orig.jpg`
- Lunar Module Spider — 4092 × 4092 px — 1860 PPI — `as09-21-3183~orig.jpg`
- The Earth from Apollo 10 — 4090 × 4090 px — 1859 PPI — `as10-34-5010~orig.jpg`
- Snoopy after undocking — 4090 × 4090 px — 1859 PPI — `as10-34-5112~orig.jpg`
- Spider in landing configuration — 4087 × 4095 px — 1858 PPI — `as09-21-3212~orig.jpg`
- Irwin at the Lunar Roving Vehicle — 4096 × 4096 px — 1857 PPI — `as15-86-11603~orig.jpg`
- Gemini 11 docked to Agena — 4080 × 4128 px — 1855 PPI — `s66-54656~orig.jpg`
- Scott at the rover — 4077 × 4096 px — 1853 PPI — `as15-85-11514~orig.jpg`
- The Moon after Apollo 13 — 4072 × 4095 px — 1851 PPI — `as13-62-8929~orig.jpg`
- Aquarius after the explosion — 4078 × 4062 px — 1846 PPI — `AS13-59-8562~orig.jpg`
- White over the Gulf of Mexico — 4104 × 4050 px — 1841 PPI — `s65-30432~orig.jpg`
- Odyssey after jettison — 4036 × 4096 px — 1835 PPI — `as13-60-8703~orig.jpg`
- Spider docked with Gumdrop — 4034 × 4096 px — 1834 PPI — `as09-20-3064~orig.jpg`
- Irwin with the scoop — 4031 × 4095 px — 1832 PPI — `as15-92-12424~orig.jpg`
- Bean at the MESA — 4008 × 4179 px — 1822 PPI — `as12-46-6749~orig.jpg`
- Bean unloads the ALSEP — 4000 × 4164 px — 1818 PPI — `as12-46-6790~orig.jpg`
- Schmitt studies a boulder — 4078 × 3998 px — 1817 PPI — `AS17-140-21493~orig.jpg`
- Surveyor 3 on the Ocean of Storms — 4120 × 3992 px — 1815 PPI — `as12-48-7136~orig.jpg`
- Mount Hadley — 4056 × 3976 px — 1807 PPI — `as15-87-11849~orig.jpg`
- Aldrin beside Eagle — 3968 × 4104 px — 1804 PPI — `as11-40-5875~orig.jpg`
- Mitchell and the U.S. flag — 3955 × 3955 px — 1798 PPI — `AS14-68-9405~orig.jpg`
- Schweickart during EVA — 4095 × 3951 px — 1796 PPI — `as09-19-2983~orig.jpg`
- The lunar plaque — 4048 × 3942 px — 1792 PPI — `as11-40-5899~orig.jpg`
- Schmitt at the boulder — 3953 × 4095 px — 1792 PPI — `as17-140-21496~orig.jpg`
- Endeavour from Falcon — 3939 × 3939 px — 1790 PPI — `as15-88-11961~orig.jpg`
- Shepard beside a boulder — 3942 × 3936 px — 1789 PPI — `as14-68-9414~orig.jpg`
- Aldrin turns from the ladder — 3928 × 3944 px — 1785 PPI — `as11-40-5873~orig.jpg`
- Duke at a North Ray boulder — 3928 × 4096 px — 1785 PPI — `as16-116-18649~orig.jpg`
- Young at the rover — 3924 × 3924 px — 1784 PPI — `as16-108-17622~orig.jpg`
- Surveyor 3 on the Ocean of Storms — 3918 × 3918 px — 1781 PPI — `as12-48-7121~orig.jpg`
- Damaged Apollo 13 Service Module — 3928 × 3928 px — 1781 PPI — `as13-58-8458~orig.jpg`
- Young salutes the flag — 3928 × 3928 px — 1781 PPI — `as16-113-18339~orig.jpg`
- Boulders on Cone Crater — 3916 × 4300 px — 1780 PPI — `as14-64-9099~orig.jpg`
- Mitchell and the MET — 3917 × 3917 px — 1780 PPI — `as14-64-9140~orig.jpg`
- Scott on Hadley Delta — 3916 × 4062 px — 1780 PPI — `as15-82-11168~orig.jpg`
- Falcon against Hadley Delta — 3917 × 4096 px — 1780 PPI — `as15-88-11901~orig.jpg`
- Orion at Descartes — 3916 × 4056 px — 1780 PPI — `as16-107-17436~orig.jpg`
- Earthrise from Apollo 16 — 3910 × 3910 px — 1777 PPI — `as16-113-18289~orig.jpg`
- Aldrin's boot in the soil — 3904 × 3920 px — 1775 PPI — `as11-40-5880~orig.jpg`
- Aldrin at the SEQ bay — 3904 × 3904 px — 1775 PPI — `as11-40-5948~orig.jpg`
- Bean deploys the ALSEP — 3904 × 3904 px — 1775 PPI — `as12-47-6919~orig.jpg`
- Service module damage, second frame — 3904 × 3904 px — 1775 PPI — `as13-59-8501~orig.jpg`
- Irwin and the flag at Hadley — 3904 × 4095 px — 1775 PPI — `as15-88-11863~orig.jpg`
- Aldrin looks at the camera — 3898 × 3898 px — 1772 PPI — `as11-40-5915~orig.jpg`
- Young collecting samples — 3893 × 3924 px — 1770 PPI — `as16-106-17340~orig.jpg`
- Bootprint in the lunar soil — 3896 × 3912 px — 1767 PPI — `as11-40-5878~orig.jpg`
- Footprints at Tranquility Base — 3885 × 4095 px — 1766 PPI — `as11-40-5931~orig.jpg`
- Young at the LRV — 3886 × 3900 px — 1766 PPI — `as16-116-18578~orig.jpg`
- Young at North Ray — 3886 × 3924 px — 1766 PPI — `as16-117-18825~orig.jpg`
- Bean on the ladder — 3892 × 3874 px — 1761 PPI — `as12-46-6726~orig.jpg`
- Duke collecting samples — 3874 × 3874 px — 1761 PPI — `as16-114-18423~orig.jpg`
- Aldrin beside the flag — 3922 × 3882 px — 1760 PPI — `as11-40-5874~orig.jpg`
- Antares at Fra Mauro — 3861 × 3882 px — 1755 PPI — `as14-68-9487~orig.jpg`
- Hadley Rille — 3862 × 3864 px — 1755 PPI — `as15-82-11057~orig.jpg`
- Falcon and the Apennines — 3856 × 3906 px — 1753 PPI — `as15-85-11437~orig.jpg`
- Far side of the Moon — 3785 × 3785 px — 1720 PPI — `as08-12-2188~orig.jpg`
- Young at the ALSEP — 3766 × 3870 px — 1712 PPI — `as16-114-18388~orig.jpg`
- Agena tethered to Gemini 11 — 3354 × 3660 px — 1525 PPI — `s66-54571~orig.jpg`
- Gemini 11 and Agena from the hatch — 3000 × 3000 px — 1364 PPI — `S66-54555~orig.jpg`
- Aldrin during the Gemini 12 EVA — 3000 × 2982 px — 1355 PPI — `S66-62926~orig.jpg`
- Agena from Gemini 8 — 3000 × 2880 px — 1309 PPI — `S66-25781~orig.jpg`
- Enterprise free flight — 5100 × 4000 px — 1000 PPI — `EC77-8611~orig.jpg`
- Glenn aboard Friendship 7 — 4524 × 3425 px — 856 PPI — `s62-00303~orig.jpg`
- Carpenter insertion into Aurora 7 — 3652 × 2741 px — 685 PPI — `s62-02846~orig.jpg`
- Cooper leaving Faith 7 — 3000 × 2400 px — 600 PPI — `s63-07855~orig.jpg`
- Shepard hoisted from the Atlantic — 2368 × 3000 px — 592 PPI — `9248461~orig.jpg`
- Shepard suiting for Freedom 7 — 2362 × 3000 px — 591 PPI — `S61-02757~orig.jpg`
- Glenn in the Mercury pressure suit — 2344 × 3000 px — 586 PPI — `8772554~orig.jpg`
- Friendship 7 launch — 2205 × 3000 px — 551 PPI — `S62-00954~orig.jpg`
<!-- /generated:archive-works -->
