{"id":15980529,"url":"https://github.com/drwpow/apollo-server-internet-archive","last_synced_at":"2025-09-11T12:37:29.363Z","repository":{"id":66331266,"uuid":"140190625","full_name":"drwpow/apollo-server-internet-archive","owner":"drwpow","description":"Apollo Server v2 wrapper for Archive.org’s REST API","archived":false,"fork":false,"pushed_at":"2022-04-22T04:22:17.000Z","size":152,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-10T04:17:26.072Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/drwpow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-08T18:01:29.000Z","updated_at":"2018-07-25T17:11:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"e7b8db67-3240-49e5-9c34-d71b7b963f6d","html_url":"https://github.com/drwpow/apollo-server-internet-archive","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drwpow%2Fapollo-server-internet-archive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drwpow%2Fapollo-server-internet-archive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drwpow%2Fapollo-server-internet-archive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drwpow%2Fapollo-server-internet-archive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drwpow","download_url":"https://codeload.github.com/drwpow/apollo-server-internet-archive/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247234850,"owners_count":20905852,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-08T00:20:29.245Z","updated_at":"2025-04-04T18:44:42.718Z","avatar_url":"https://github.com/drwpow.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# apollo-server-internet-archive\n\nApollo Server v2.0 wrapper for [Archive.org](internet-archive)’s REST API.\nUses [apollo-server-koa][apollo-server-koa] built for [koa][koa], a modern,\nnew server framework from the Express.js team.\n\n![screenshot](screenshot.png)\n\n## Setup\n\n```\nnpm i\nnpm run start\n```\n\nGraphQL endpoint is at `localhost:4000`.\n\nGraphQL playground is at `localhost:4000/graphql`.\n\n## Queries\n\n### Item\n\n| Name | Type     | Required | Description                                            |\n| :--- | :------- | :------- | :----------------------------------------------------- |\n| `id` | `String` | ✅        | Look up an item by ID (sometimes called `identifier`). |\n\n#### Example\n\n```graphql\n{\n  item(id: \"bacteria_friend_and_foe\") {\n    metadata {\n      identifier\n      title\n      subject\n      mediatype\n    }\n  }\n}\n```\n\n**💁 Tip**\n\n`metadata.identifier` is the ID. You’ll probably want that in most instances.\n\n### Search\n\n| Name    | Type            | Required | Default | Description                                     |\n| :------ | :-------------- | :------- | :------ | :---------------------------------------------- |\n| `query` | `String`        | ✅        |         | Your search query                               |\n| `limit` | `Number`        |          | `50`    | Number of items to return                       |\n| `sort`  | `Array(String)` |          |         | Sort by fields (can specify up to 3, see below) |\n| `start` | `Number`        |          | `0`     | If paginating results, where to start           |\n\n#### Sort Fields\n\n\u003cdetails\u003e\n  \u003csummary\u003eView all options for \u003ccode\u003esort\u003c/code\u003e\u003c/summary\u003e\n  \u003cpre\u003e\u003ccode\u003eaddeddate asc\naddeddate desc\navg_rating asc\navg_rating desc\ncall_number asc\ncall_number desc\ncreatedate asc\ncreatedate desc\ncreatorSorter asc\ncreatorSorter desc\ncreatorSorterRaw asc\ncreatorSorterRaw desc\ndate asc\ndate desc\ndownloads asc\ndownloads desc\nfoldoutcount asc\nfoldoutcount desc\nheaderImage asc\nheaderImage desc\nidentifier asc\nidentifier desc\nidentifierSorter asc\nidentifierSorter desc\nimagecount asc\nimagecount desc\nindexdate asc\nindexdate desc\nitem_size asc\nitem_size desc\nlanguageSorter asc\nlanguageSorter desc\nlicenseurl asc\nlicenseurl desc\nmediatype asc\nmediatype desc\nmediatypeSorter asc\nmediatypeSorter desc\nmonth asc\nmonth desc\nnav_order asc\nnav_order desc\nnum_reviews asc\nnum_reviews desc\nprogramSorter asc\nprogramSorter desc\npublicdate asc\npublicdate desc\nreviewdate asc\nreviewdate desc\nstars asc\nstars desc\ntitleSorter asc\ntitleSorter desc\ntitleSorterRaw asc\ntitleSorterRaw desc\nweek asc\nweek desc\nyear asc\nyear desc\u003c/code\u003e\u003c/pre\u003e\n\u003c/details\u003e\n\n#### Example\n\n```graphql\n{\n  search(\n    query: \"baking bread\"\n    sort: [\"year desc\", \"month desc\"]\n  ) {\n    response {\n      numFound\n      docs {\n        identifier\n        title\n        description\n        year\n        mediatype\n      }\n    }\n  }\n}\n```\n\n### Books\n\nComing soon!\n\n### Wayback Machine\n\nComing soon!\n\n## Data Coercion\n\nThis endpoint adds a few niceties to make consuption \u0026 parsing easier in\nJavaScript.\n\n### Polymorphism\n\n- Archive.org’s API can return some fields as either a string, a list of strings, or missing. In these instances a list of strings will be always returned (or an empty list in the case of missing data).\n\n### Language\n\nArchive.org’s API will return many different results for language (e.g.:\n`English` or `eng` or `en` all refer to the same language). For that reason,\n`metadata.language` is coerced into the [RFC 5646 spec][lang-spec] (e.g:\n`en`, `en-CA`, `de`, `ja`, `zh-CN`).\n\n### Year\n\n`metadata.year` is coerced into an integer, with negative numbers\nrepresenting `BCE`\n(e.g.: `1970` for _1970 CE_, `-300` for _300 BCE_).\n\n\n[apollo-server-koa]: https://www.npmjs.com/package/apollo-server-koa\n[internet-archive]: https://archive.org\n[koa]: https://koajs.com/\n[lang-spec]: https://tools.ietf.org/html/rfc5646\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrwpow%2Fapollo-server-internet-archive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrwpow%2Fapollo-server-internet-archive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrwpow%2Fapollo-server-internet-archive/lists"}