SwarmIncAPIsActorsFor AI agentsFree LLM APIsSupportGet started

All products › REST API · JSON · through RapidAPI

Internet Archive Search Scraper API

Search the Internet Archive's catalog of free books, movies, audio, software and web items and get one row per item with its identifier, title, media type, download count and date added.

No personal dataRead from the source at call time5 fields a resultfilter by query

Source: Internet Archive (archive.org: item search and metadata), under the Internet Archive's Terms of Use. Every answer carries this attribution in its sources field.

ParametersFieldsSampleCall itQuestions

Free plan

Free plan: 500 calls a month. Paid from $8.99 a month. Billed by RapidAPI; no card for the free plan.

Get a key on RapidAPI

One call:

curl -G "https://internet-archive-search-api-books-movies-audio-software.p.rapidapi.com/v1/internet-archive" \
  --data-urlencode query=collection:prelinger \
  --data-urlencode limit=20 \
  -H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
  -H "X-RapidAPI-Host: internet-archive-search-api-books-movies-audio-software.p.rapidapi.com"

Answers {"product", "count", "items", "fetched_at"}; reads archive.org when you call.

Parameters

ParameterTypeWhat it doesExample
querystringInternet Archive search query, e.g. collection:prelinger or title:(moon landing) AND mediatype:movies."collection:prelinger"
limitintegerAt most this many results (1–1000, default 100).20

What each result holds

FieldType
identifierid
titletext
mediatypetext
publicdatetext
downloadsinteger

Sample results

The first 3 results of the same source's latest test run (long values shortened).

[
  {
    "downloads": 12552,
    "identifier": "0001_Beef_Rings_the_Bell_00_00_41_00",
    "mediatype": "movies",
    "publicdate": "2012-05-22T20:49:25Z",
    "title": "Beef Rings the Bell"
  },
  {
    "downloads": 12270,
    "identifier": "0001_Let_Us_Break_Bread_Together_00_00_24_00",
    "mediatype": "movies",
    "publicdate": "2013-09-30T18:06:11Z",
    "title": "Let Us Break Bread Together"
  },
  {
    "downloads": 5755,
    "identifier": "0002_Baking_Industry_The_02_49_25_00",
    "mediatype": "movies",
    "publicdate": "2012-05-22T20:39:00Z",
    "title": "Baking Industry, The"
  }
]

First call in 60 seconds

  1. Get a key on RapidAPI (the free plan needs no card)

  2. Run one call with the example input (curl, through RapidAPI):

    curl -G "https://internet-archive-search-api-books-movies-audio-software.p.rapidapi.com/v1/internet-archive" \
      --data-urlencode query=collection:prelinger \
      --data-urlencode limit=20 \
      -H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
      -H "X-RapidAPI-Host: internet-archive-search-api-books-movies-audio-software.p.rapidapi.com"
  3. Read the answer. The first result of the record's own sample run, fields identifier, title, mediatype, publicdate, downloads:

    {
      "downloads": 12552,
      "identifier": "0001_Beef_Rings_the_Bell_00_00_41_00",
      "mediatype": "movies",
      "publicdate": "2012-05-22T20:49:25Z",
      "title": "Beef Rings the Bell"
    }

Call it

With curl:

curl -G "https://internet-archive-search-api-books-movies-audio-software.p.rapidapi.com/v1/internet-archive" \
  --data-urlencode query=collection:prelinger \
  --data-urlencode limit=20 \
  -H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
  -H "X-RapidAPI-Host: internet-archive-search-api-books-movies-audio-software.p.rapidapi.com"

With Python (pip install requests):

import os, requests

r = requests.get(
    "https://internet-archive-search-api-books-movies-audio-software.p.rapidapi.com/v1/internet-archive",
    params={'query': 'collection:prelinger', 'limit': 20},
    headers={"X-RapidAPI-Key": os.environ["RAPIDAPI_KEY"], "X-RapidAPI-Host": "internet-archive-search-api-books-movies-audio-software.p.rapidapi.com"},
    timeout=120,
)
for item in r.json()["items"]:
    print(item)

For code and AI agents that pick tools at run time, GET /v1/products lists every endpoint with its parameters and fields.

Guides

Questions

What does it cost? Free plan: 500 calls a month. Paid from $8.99 a month.

How fresh is it? Each call reads the official source then; an identical query within 15 minutes is answered from a cache.

Data last read 14 Nov 2026; the company's freshness target: 7 days (a search or lookup, read at call time; late after 7 days 6 h) — on time.

What if the source is down? The answer says so: a 502, or "partial": true when only some of its requests failed. Whether it is down now: the status page.

Can a field change? Yes, without notice: this API doesn't record its changes yet, and the OpenAPI document is the contract as it stands today. How changes are announced.