Internet Archive API
The Internet Archive API returns search and item data from archive.org as clean JSON.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
The primary search endpoint returns items with identifier, title, media type, creator, year, description, downloads and size, and you can pull an item, a collection, reviews, files and search inside a text. It is built for research, media and digital-preservation tools that need Internet Archive data without a scraper. One ReefAPI key, one shared credit pool, the standard envelope.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/internet-archive/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "apollo 11"
}
}{
"ok": true,
"meta": {
"api": "internet-archive",
"endpoint": "search",
"mode": "live",
"latency_ms": 2106.3,
"record_count": 25,
"bytes": 225807,
"cache_hit": false,
"stop_reason": "limit_reached",
"method": "public_json",
"num_found": 12229,
"page": 1,
"rows": 25,
"has_more": true,
"next_page": 2
},
"data": {
"results": [
{
"identifier": "fba4ojdsec9mkfmh8niaf9p83qczjg7gtfgbijcw",
"title": "Bobby Powell Allowed to Testify Before Judge Over J6 Footage - Hunter Biden Plea Deal, Obama Smokescreen, Mask Mandate Signals - DO NOT COMPLY",
"mediatype": "audio",
"creator": [
"Conservative Daily Podcast"
],
"year": 2023,
"date": "[redacted-phone]T00:00:00Z",
"description": "6 September 2023 - Conservative Daily 6PM EST - The evening, Apollo is joined by Bobby Powell, a veteran and journalist who was at the J6 protests. Bobby delves into his time at the J6 Protests, the undercover federal agents he encountered, and he goes over some of the video footage he took at the protests. He also discusses his testimonies in court using said footage, and how we must fight for these J6 protestors! Follow us on Social Media: https://libertylinks.io/ConservativeDaily https://libertylinks.io/JoeOltmann https://libertylinks.io/Apollo",
"downloads": 1,
"item_size": 130812794,
"collections": [
"podcasts_mirror_bobarchives",
"podcasts_mirror"
],
"subjects": [
"Podcast",
"obama",
"vaccine"
],
"languages": [],
"num_reviews": null,
"avg_rating": null,
"details_url": "https://archive.org/details/fba4ojdsec9mkfmh8niaf9p83qczjg7gtfgbijcw",
"thumbnail_url": "https://archive.org/services/img/fba4ojdsec9mkfmh8niaf9p83qczjg7gtfgbijcw"
},
{
"identifier": "jx1xnwtwopxd6cjvhalld0djjuyxqvtkn6t4pr0j",
"title": "11. Reflections | NASA's The Invisible Network Podcast",
"mediatype": "audio",
"creator": [
"The Invisible Network"
],
"year": 2019,
"date": "[redacted-phone]T00:00:00Z",
"description": "For billions of years, the Earth and the Moon have danced together. Since the Apollo era, scientists have used lasers - a technology then in its infancy - to measure their waltz. Lasers have since played increasingly important roles in spaceflight. They may even play a part in keeping the next generation of lunar astronauts connected to home.",
"downloads": 1,
"item_size": 16863327,
"collections": [
"podcasts_mirror_bobarchives",
"podcasts_mirror"
],
"subjects": [
"Podcast"
],
"languages": [],
"num_reviews": null,
"avg_rating": null,
"details_url": "https://archive.org/details/jx1xnwtwopxd6cjvhalld0djjuyxqvtkn6t4pr0j",
"thumbnail_url": "https://archive.org/services/img/jx1xnwtwopxd6cjvhalld0djjuyxqvtkn6t4pr0j"
},
{
"identifier": "cfcutfh4htsakzt75pfbfym5ookh2ftibeqv2zuw",
"title": "When Does Evil Label You an Enemy? When You're a Threat",
"mediatype": "audio",
"creator": [
"Conservative Daily Podcast"
],
"year": 2023,
"date": "[redacted-phone]T00:00:00Z",
"description": "4 October 2023 - Apollo Live 6:00PM EST - This evening Apollo touches on the Kevin McCarthy impeachment, the inaction taking place at the border, Trump speaking to the pres during his trial, and much, much more! Have a great evening! Follow us on Social Media: https://libertylinks.io/ConservativeDailyhttps://libertylinks.io/JoeOltmannhttps://libertylinks.io/ApolloNominate Donald Trump as Speaker of the House! Whether you believe he should be installed, or you'd just like to poke some fun at Congress and let them know what a true leader is, send this message today! https://conservative-daily.co",
"downloads": 1,
"item_size": 89728433,
"collections": [
"podcasts_mirror_bobarchives",
"podcasts_mirror"
],
"subjects": [
"Podcast",
"truth",
"Apollo"
],
"languages": [],
"num_reviews": null,
"avg_rating": null,
"details_url": "https://archive.org/details/cfcutfh4htsakzt75pfbfym5ookh2ftibeqv2zuw",
"thumbnail_url": "https://archive.org/services/img/cfcutfh4htsakzt75pfbfym5ookh2ftibeqv2zuw"
}
]
}
}What the Internet Archive API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search archive.org's catalogue. Filter by mediatype (texts/audio/movies/software/image/etree…), collection, creator, subject, language and year range; sort and paginate. Returns items with identifier, title, mediatype, creator, year, downloads, rating, collections and thumbnail/details URLs. | Content platforms call search to search archive.org's catalogue. | query, mediatype, collection, creator, subject, ... |
| item | Full metadata for one archive.org item by identifier: title, creator, description, date, publisher, language, subjects, collections, license, rating — plus the COMPLETE file list (name, format, size, duration, source) with direct download URLs, and the item's reviews. Set include_files=false / include_reviews=false to slim the payload. | Research tools call item to get full metadata for one archive.org item by identifier. | identifier, include_files, include_reviews, files_limit |
| collection | Browse the items inside an archive.org collection by its identifier (e.g. 'nasa', 'librivoxaudio', 'prelinger', 'GratefulDead'). Same rich item rows as search, paginated and sortable; optionally narrow by mediatype within the collection. | Community analysts call collection to get browse the items inside an archive.org collection by its identifier (e.g. | collection, mediatype, query, sort, rows, ... |
| reviews | All public reviews and star ratings for one archive.org item: reviewer handle, star rating (0-5), review title, body and date. Reviews are embedded in the item record, so this returns every review in one call (no pagination needed). | Media monitors call reviews to get all public reviews and star ratings for one archive.org item. | identifier |
| files | Just the downloadable files for one archive.org item (no heavy metadata/reviews): name, format, size, duration, source and a direct download URL for each. Useful for fetching the actual book PDF / MP3 / video / ZIP. | Content platforms call files to get just the downloadable files for one archive.org item (no heavy metadata/reviews). | identifier, format, files_limit |
| search_inside | Full-text 'search inside' one digitized book on archive.org: find a phrase within the book's OCR text and get the matching snippets with page numbers. The item must be a texts/book item with OCR (most scanned books are). | Research tools call search_inside to get full-text 'search inside' one digitized book on archive.org. | identifier, query |
Call search from your stack
curl -X POST https://api.reefapi.com/internet-archive/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"apollo 11"}'import requests
r = requests.post(
"https://api.reefapi.com/internet-archive/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "apollo 11"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/internet-archive/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "apollo 11"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.internet-archive.search with {"query":"apollo 11"}.Who uses this API and why
- Research tools call search and search_inside to find and quote archived texts.
- Media apps use item and files to stream or download archived audio and video.
- Preservation workflows use collection to inventory an archive's holdings.
Questions developers ask before integrating
What is the Internet Archive API?
Internet Archive API is a ReefAPI endpoint group for internet archive It returns live JSON through POST requests under /internet-archive/v1.
Is the Internet Archive API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Internet Archive calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Internet Archive login or account?
No login to Internet Archive is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Internet Archive data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Internet Archive API use?
Internet Archive actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Internet Archive from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call internet-archive actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Internet Archive API a Internet Archive scraper?
It is the managed alternative to a DIY Internet Archive scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same internet archive back as clean JSON.
Why does my Internet Archive scraper keep getting blocked?
Most Internet Archive scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.