Search every catalogue at once
search_itemsSearch the Internet Archive and Library of Congress catalogues in one query. Get a merged result list, with each item showing which archive it came from.
Instructions
Search the catalogue of every archive this server reads, at the same time, for a title, a creator or a subject, and get one merged list. Each row carries the id get_item takes, and that id names the archive it came from, so nothing has to be guessed afterwards. 'media_type' keeps one name across the archives and a vocabulary per archive, because the same word does not name the same set of things twice. An archive that files nothing under the name you give is not asked and is named as absent, with its own names listed, rather than asked under a translation. An archive that keeps one catalogue per kind of material is asked for its default when you name none, and the answer says which catalogue that was. Rows are interleaved one archive at a time. No score orders them against each other, and 'sort' is applied inside each archive rather than across them: a year is the date of an edition in one place and the date on a catalogue record in another, so there is no date order that spans the answer. Every count in 'per_source' is that archive's own and counts something of its own. They are never added together, and there is no total across archives. A row states no terms of reuse. Read the record with get_item for what that record itself says, and read silence as silence. Use search_inside for a phrase printed on a page: this tool reads catalogue records and knows nothing of what a book says, so a sentence given here matches only where a catalogue happens to carry it. Answers take several seconds, because one of the archives publishes a request ceiling this server keeps to.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Which page of rows, from 1. Each archive is paged separately. | |
| sort | No | Applied inside each archive. The merged list stays interleaved, because no order runs across archives. | relevance |
| limit | No | Rows to take from each archive, so one archive cannot fill the whole list. | |
| query | Yes | A title, a creator, a subject, or plain words. | |
| sources | No | Archives to ask, by id. Left out, they are all asked, which is the point of this tool. | |
| year_to | No | Latest year, in each archive's own reading of what a year is. | |
| year_from | No | Earliest year, in each archive's own reading of what a year is. | |
| media_type | No | The kind of material, in the vocabulary of whichever archive uses that name. the Internet Archive files texts, movies, audio, image, software, data, web; the Library of Congress files books, photos, maps, audio, film-and-videos, manuscripts, notated-music, newspapers. The names are the union of those vocabularies rather than a shared one, so an archive that does not use the name you give is named as absent rather than asked under another. Naming none leaves an archive that searches every kind unnarrowed and asks an archive that keeps one catalogue per kind for its own default. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | Yes | ||
| items | Yes | ||
| notes | Yes | ||
| order | Yes | How the list was built, in words. | |
| query | Yes | ||
| item_count | Yes | Rows in this answer, across every archive. Never a total of what exists. | |
| per_source | Yes | ||
| media_types | Yes | Which name each archive was asked under, published rather than reconciled, so a caller can map the vocabularies once and read what was actually searched. |