Internet Archive API

Public-domain media, searchable, with the files listed

The Internet Archive API returns search and item data from archive.org as clean JSON.

no credit card1,000 free credits · instant API key · live in 10 seconds
Missing a Internet Archive endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
I
/internet-archive/v1

6 active endpoints. Every call is 1 credit.

  • POST/internet-archive/v1/search
  • POST/internet-archive/v1/item
  • POST/internet-archive/v1/collection
  • POST/internet-archive/v1/reviews
  • POST/internet-archive/v1/files
  • POST/internet-archive/v1/search_inside

What Internet Archive endpoints does ReefAPI ship?

6 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

6 endpoints

search

1 cr

Search archive.org's catalogue.

required
optional
query, mediatype, collection, creator, subject, language, year_from, year_to, sort, rows, page

item

1 cr

Full metadata for one archive.org item by identifier.

required
identifier
optional
include_files, include_reviews, files_limit

collection

1 cr

Browse the items inside an archive.org collection by its identifier (e.g.

required
collection
optional
mediatype, query, sort, rows, page

reviews

1 cr

All public reviews and star ratings for one archive.org item.

required
identifier
optional

files

1 cr

Just the downloadable files for one archive.org item (no heavy metadata/reviews).

required
identifier
optional
format, files_limit

search_inside

1 cr

Full-text 'search inside' one digitized book on archive.org.

required
identifier, query
optional

Every parameter, every allowed value →

Internet Archive API

3 of 6 endpoints, ready to run

View docs ↗

Items matching a query with the identifier, title, media type, creator, date, collections, subjects, size and download count.

1 credit0 required · 4 optional
POST/internet-archive/v1/search
ok1002 ms · 10 records · sample
{
  "ok": true,
  "meta": {
    "api": "internet-archive",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1001.6,
    "record_count": 10,
    "cache_hit": false
  },
  "data": {
    "results": [
      {
        "identifier": "ohj0v6yamiwwjbta235n2a9h8vvl6mx9vdlpmrgq",
        "title": "WAKANDA FOREVER! Black Panther: A Nation Under Our Feet Primer #1 of 2",
        "mediatype": "audio",
        "year": 2022,
        "date": "2022-11-04T00:00:00Z",
        "description": "Black Panther is back! Who will take over the mantle of \\\"Protector of Wakanda\\\"? Hayley and BVK are SOOOO ready for Wakanda Forever, and are getting ready by reading some comics as a primer. We get introduced to the Midnight Angels, who seemingly will have a big part in the movie. This is PRIMER #1 of 2 for the movie. Next week, they will cover King In Black: Namor (2020) #1-5 to get everyone in the know with that character! Sure to be a wild ride!!Comics covered:Black Panther (2016): A Nation Under Our Feet # 1-6EMAIL: [email protected]: https://twitter.com/SourcePagesCastINSTAGR…",
        "downloads": 3,
        "item_size": 129873628,
        "collections": [
          "podcasts_mirror_bobarchives",
          "podcasts_mirror"
        ],
        "subjects": [
          "Podcast"
        ],
        "languages": [],
        "num_reviews": null,
        "avg_rating": null,
        "details_url": "https://archive.org/details/ohj0v6yamiwwjbta235n2a9h8vvl6mx9vdlpmrgq",
        "thumbnail_url": "https://archive.org/services/img/ohj0v6yamiwwjbta235n2a9h8vvl6mx9vdlpmrgq"
      },
      {
        "identifier": "iw8ben7wz7emoyphfbbc9tbfjqevlf40wxn0lxys",
        "title": "DJeff - Believe in Trance Episode 018",
        "mediatype": "audio",
        "year": 2016,
        "date": "2016-04-28T00:00:00Z",
        "description": "**Tracklist : **1. Allen & Envy & Andy Elliass Feat. Natalie Gioia - In Love (Original Mix)2. Nomosk & Lucid Blue - Inside The Fire (Mhammed El Alami Remix)3. Miroslav Vrlik - Attack! (Original Mix)4. Harmonic Wave - The Constellation Sagittarius5. Kingdom of Armenia (Lusvin Alexander & Luis Quezada Remix)6. James Dymond, Neve White - With & Without You feat. Neve White (Extended Mix)7. Geert Huinink & New World - Empyrean (Original Mix)8. Audio Hedz & Alex Burn - Just Another (Original Mix)9. Gareth Emery feat. Wayward Daughter - Reckless (Standerwick Extended Remix)10. Mostly - Coffin Corner…",
        "downloads": 11,
        "item_size": 295737775,
        "collections": [
          "podcasts_mirror_bobarchives",
          "podcasts_mirror"
        ],
        "subjects": [
          "Podcast",
          "Uplifting",
          "Hard Trance"
        ],
        "languages": [],
        "num_reviews": null,
        "avg_rating": null,
        "details_url": "https://archive.org/details/iw8ben7wz7emoyphfbbc9tbfjqevlf40wxn0lxys",
        "thumbnail_url": "https://archive.org/services/img/iw8ben7wz7emoyphfbbc9tbfjqevlf40wxn0lxys"
      },
      {
        "identifier": "atte2dg4alx7zm1u7jc8frndn2ckwcxyq6tuwcnl",
        "title": "Live with Rick Green: Biden Impeachment Inquiry, Motion to Vacate McCarthy the Liar, Mandates Signaled to Return Soon - Do No Comply with Evil",
        "mediatype": "audio",
        "year": 2023,
        "date": "2023-09-14T00:00:00Z",
        "description": "14 September 2023 - Conservative Daily 12PM EST -  This morning, Joe is joined by Rick Greens, a former Texas Legislature who is working to combat the corruption in our government! Greens is the founder of patriot academy, which educates primarily young people about our government and gets them involved with their legislature. The pair discuss the failure of our justice system, the J6 Protestors, our broken education system, and election fraud.  Follow us on Social Media: https://libertylinks.io/ConservativeDaily https://libertylinks.io/JoeOltmann https://libertylinks.io/Apollo Send this Messa…",
        "downloads": 2,
        "item_size": 84256493,
        "collections": [
          "podcasts_mirror_bobarchives",
          "podcasts_mirror"
        ],
        "subjects": [
          "Podcast",
          "texas",
          "Apollo"
        ],
        "languages": [],
        "num_reviews": null,
        "avg_rating": null,
        "details_url": "https://archive.org/details/atte2dg4alx7zm1u7jc8frndn2ckwcxyq6tuwcnl",
        "thumbnail_url": "https://archive.org/services/img/atte2dg4alx7zm1u7jc8frndn2ckwcxyq6tuwcnl"
      }
    ]
  }
}
Real response, fetched from the live endpoint with the parameters on the left — trimmed to the first few rows, with seller names left out. Press Try it for the untrimmed response.

How the Internet Archive API works

Internet Archive is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 184 engines.

02
Call
POST /internet-archive/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
1 credit per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

Finding usable media you are allowed to use

The archive holds an enormous amount of public-domain and openly-licensed audio, film and text. The difficulty is finding it and knowing which files you actually get.

01search
POST/internet-archive/v1/search
{"query": "apollo 11", "mediatype": "movies"}

Media type is the first filter that matters — the same query across types returns completely different material.

02item
POST/internet-archive/v1/item
{"identifier": "…", "include_files": true}

Then the item with every file listed by format and size, so you know what you are downloading before you download it.

The download count on a search row is a rough usefulness signal in a collection this size, where relevance ranking alone leaves you with a great deal of noise.

request
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"}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "internet-archive",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}

archive.org mediatype values, and what each one holds

mediatype is the single most useful filter on archive.org: it decides whether you are searching books, concert recordings, abandonware or crawled web pages. These are the values search accepts.

mediatypeWhat is in it
textsBooks, magazines, papers and scanned documents. The only bucket search_inside works on.
audioRecordings, radio, podcasts and spoken word, including LibriVox audiobooks.
moviesFilm, TV, news broadcasts and video.
softwarePrograms and playable games, including the emulated console and DOS collections.
imagePhotographs, art and scanned imagery, including museum collections.
etreeLive concert recordings — taper-sourced sets, kept apart from the general audio bucket.
dataDatasets and raw data dumps.
webArchived web captures.
collectionThe collections themselves, so you can search for a collection rather than inside one.
accountContributor accounts.

Combine mediatype with collection (nasa, librivoxaudio, prelinger, GratefulDead), creator, subject, language and year_from / year_to. sort defaults to most-downloaded; the other options are downloads asc, week desc, publicdate, date, avg_rating and titleSorter.

What is in here, and how to narrow it

Measured on searches and item lookups.

Media type is the filter that makes search work

A broad query without one returns images, audio, film, texts and software mixed together — our own 'apollo 11' search came back leading with a museum photograph. Set the media type first; almost every disappointment with this source starts with not setting it.

Collections are the archive's real structure

Items belong to curated collections, and filtering by collection is far more precise than free-text search. The collections are on every result row, so one good search teaches you the collection to use for the next ten.

File listings tell you what you actually get

An item is a container, and the files inside it vary — several audio bitrates, a scan plus its text layer, derivative formats. Listing them with format and size is what turns 'this item exists' into 'this is the file to fetch'.

Searching inside a text is a separate endpoint

For digitised books and documents you can search the full text within one item. That is the difference between an archive of scans and a searchable library.

Against us: metadata is uneven, because uploaders vary

Much of this is user-uploaded, so dates, creators and descriptions are frequently empty or wrong. Identifiers, media types and file listings are reliable; the descriptive fields are as good as whoever filled them in.

What people build with Internet Archive

The jobs this data is most often used for.

6

endpoints

1

credit per call

01

Research tools call search and search_inside to find and quote archived texts.

02

Media apps use item and files to stream or download archived audio and video.

03

Preservation workflows use collection to inventory an archive's holdings.

What Internet Archive data costs

The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

Full pricing →
$0.67–$1.50 / 1,000 credits
  • 1,000 free credits on signup, no card
  • One key, all 184 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
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"}'
python
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"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up Internet Archive.

Get a free key →
Does the Internet Archive have an official API, and why use this one?

archive.org does publish open JSON endpoints, and this engine reads them. What it adds is the tidying-up: search, item metadata, the file list, reviews, collections and full-text search behind one shape, with the raw field soup normalized into identifier, title, mediatype, creator, year, downloads, item_size, collections, subjects, languages, avg_rating, details_url and thumbnail_url. You get archive.org's own data without writing a client per endpoint or handling its rate limits.

How do I full-text search inside a scanned book on archive.org?

Call search_inside with the item identifier and the phrase you are looking for. It returns the matching snippets with their page numbers, so you can quote and deep-link straight into the scan. It works on texts items that have OCR, which is most scanned books. Find the identifier first with search using mediatype texts — it is the slug in archive.org/details/<identifier>.

How do I get direct download URLs for an archive.org item?

Call item with the identifier. Alongside the metadata it returns the complete file list — name, format, size, length, source, md5 and a download_url per file — capped by files_limit (200 by default, up to 2,000), with files_count and files_truncated telling you whether anything was cut. That is how you go from a search hit to a playable MP3 or a downloadable PDF in two calls.

How many results does an archive.org search return, and how do I page?

Up to 100 rows per call (25 by default). meta.num_found is the true match count — a live search for "apollo 11" returned 12,189 matches on 2026-08-26 — and meta.has_more with meta.next_page walks the rest. The query field also accepts Lucene syntax, so title:moon AND year:[1960 TO 1970] works as written.

Is everything on the Internet Archive free to reuse?

No, and the API does not pretend otherwise. Rights vary item by item, from public domain to all rights reserved. item returns the archive's own licenseurl field, but plenty of items leave it empty — it was null for the museum image measured on 2026-08-26. Treat a missing licenseurl as unknown, not as permission, and check the item page before redistributing anything.

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 an 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 an 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.

25 Media, Film & Knowledge APIs on the same key

One key, one credit pool, one response envelope. If you are pulling Internet Archive, you are one call away from the rest of the category — no second contract, no second integration.

Need something this API does not do?

Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.

0/4000

No account needed · we reply from [email protected]

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 183 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-08-30.