{"id":21427907,"url":"https://github.com/sumansourabh14/recite","last_synced_at":"2025-07-14T10:31:36.553Z","repository":{"id":177341147,"uuid":"660239853","full_name":"Sumansourabh14/recite","owner":"Sumansourabh14","description":"API about quote from books","archived":false,"fork":false,"pushed_at":"2025-03-11T19:33:42.000Z","size":1269,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-08T06:51:10.425Z","etag":null,"topics":["api","books","express","nodejs","quotes","rest-api"],"latest_commit_sha":null,"homepage":"https://recite-production.up.railway.app","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/Sumansourabh14.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":"2023-06-29T14:55:03.000Z","updated_at":"2025-03-11T19:33:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"0d02e984-93e0-4ab8-8f43-6fcd95ea748f","html_url":"https://github.com/Sumansourabh14/recite","commit_stats":null,"previous_names":["sumansourabh14/recite"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Sumansourabh14/recite","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sumansourabh14%2Frecite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sumansourabh14%2Frecite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sumansourabh14%2Frecite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sumansourabh14%2Frecite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sumansourabh14","download_url":"https://codeload.github.com/Sumansourabh14/recite/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sumansourabh14%2Frecite/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265280627,"owners_count":23739851,"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":["api","books","express","nodejs","quotes","rest-api"],"created_at":"2024-11-22T22:08:26.663Z","updated_at":"2025-07-14T10:31:36.543Z","avatar_url":"https://github.com/Sumansourabh14.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Recite cover with a black gradient background and two quote icons](./images/recite-v1.png)\n\n# Recite\n\nRecite is a FREE and open source API that contains amazing quotes from books (fiction/non-fiction).\n\n## Why I created this API?\n\nI wanted to use quotes from books in my Next.js project just like how Goodreads has so many quotes. But I couldn't find a good API for this. There are various APIs that give famous quotes said by authors or important people but that wasn't satisfying my use case. Hence, I created an API of my own.\n\n## API Root URL\n\n```\nhttps://recite-production.up.railway.app/api/v1\n```\n\n## Rate Limit\n\nThere is a rate limit of 250 requests per minute. If you exceed the rate limit, the API will respond with a \u003ccode\u003e429\u003c/code\u003e error.\n\n## API Response Example\n\n```JavaScript\n{\n  \"_id\": \"65cd071ec2f3eed99da6a22c\",\n  \"quote\": \"She burned too bright for this world.\",\n  \"book\": \"Wuthering Heights\",\n  \"author\": \"Emily Bronte\",\n  \"length\": 37,\n  \"words\": 7,\n  \"createdAt\": \"2024-02-14T18:31:58.112Z\",\n  \"updatedAt\": \"2024-02-14T18:31:58.112Z\",\n  \"__v\": 0\n}\n```\n\n## API Reference\n\n- [Recite](#recite)\n  - [Why I created this API?](#why-i-created-this-api)\n  - [API Root URL](#api-root-url)\n  - [Rate Limit](#rate-limit)\n  - [API Response Example](#api-response-example)\n  - [API Reference](#api-reference)\n  - [Get random quote](#get-random-quote)\n    - [Response](#response)\n  - [Get all quotes](#get-all-quotes)\n    - [Response](#response-1)\n  - [Search quotes](#search-quotes)\n    - [Response](#response-2)\n  - [Contribution](#contribution)\n\n## Get random quote\n\n```\nGET /random\n```\n\nReturns a single random quote.\n[Try in your browser](https://recite-production.up.railway.app/api/v1/random)\n\n### Response\n\n```JavaScript\n{\n    _id: string,\n    // the actual quote from the book\n    quote: string,\n    // name of the book\n    book: string,\n    // name of the author\n    author: string,\n    // length of the quote\n    length: number,\n    // total words in the quote\n    words: number,\n    // date and time of first published\n    createdAt: string,\n    // date and time of update (if any)\n    updatedAt: string\n}\n```\n\n## Get all quotes\n\n```\nGET /quotes\n```\n\nReturns all the quotes.\n[Try in your browser](https://recite-production.up.railway.app/api/v1/quotes)\n\n### Response\n\n```JavaScript\n{\n    success: true\n    // total number of quotes\n    total: number,\n    // The array of quotes\n    quotes: [\n        {\n            _id: string,\n            // the actual quote from the book\n            quote: string,\n            // name of the book\n            book: string,\n            // name of the author\n            author: string,\n            // length of the quote\n            length: number,\n            // total words in the quote\n            words: number,\n            // date and time of first published\n            createdAt: string,\n            // date and time of update (if any)\n            updatedAt: string\n        }\n    ]\n}\n```\n\n## Search quotes\n\n```\nGET /quotes/search?query=\n```\n\nReturns all the relevant quotes that match the search query.\n[Try in your browser](https://recite-production.up.railway.app/api/v1/quotes/search?query=life)\n\n### Response\n\n```JavaScript\n{\n    success: true\n    // total number of quotes\n    total: number,\n    // The array of quotes\n    quotes: [\n        {\n            _id: string,\n            // the actual quote from the book\n            quote: string,\n            // name of the book\n            book: string,\n            // name of the author\n            author: string,\n            // length of the quote\n            length: number,\n            // total words in the quote\n            words: number,\n            // date and time of first published\n            createdAt: string,\n            // date and time of update (if any)\n            updatedAt: string\n        }\n    ]\n}\n```\n\nMore info: [Medium article](https://medium.com/@sumsourabh14/introducing-recite-a-free-api-for-book-quotes-138dca77f7da)\n\n[def]: #recite\n\n## Contribution\n\n- Feel free to post any quote by creating an issue for it.\n- Want to improve this REST API? Create an issue and contribute!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsumansourabh14%2Frecite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsumansourabh14%2Frecite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsumansourabh14%2Frecite/lists"}