{"id":14978742,"url":"https://github.com/ym496/storygraph-api","last_synced_at":"2025-09-12T15:37:54.657Z","repository":{"id":253427045,"uuid":"843423986","full_name":"ym496/storygraph-api","owner":"ym496","description":"A python package to interact with and scrape the StoryGraph website.","archived":false,"fork":false,"pushed_at":"2024-08-16T17:03:07.000Z","size":10,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-29T01:43:03.156Z","etag":null,"topics":["api","beautifulsoup","scraper","selenium","storygraph"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/storygraph-api/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ym496.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-08-16T13:37:00.000Z","updated_at":"2024-08-31T07:15:53.000Z","dependencies_parsed_at":"2024-08-16T17:16:02.482Z","dependency_job_id":"109a3d25-9ad4-4dbd-b73c-ea20d1d09922","html_url":"https://github.com/ym496/storygraph-api","commit_stats":null,"previous_names":["ym496/storygraph-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ym496%2Fstorygraph-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ym496%2Fstorygraph-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ym496%2Fstorygraph-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ym496%2Fstorygraph-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ym496","download_url":"https://codeload.github.com/ym496/storygraph-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219859642,"owners_count":16556035,"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","beautifulsoup","scraper","selenium","storygraph"],"created_at":"2024-09-24T13:58:16.988Z","updated_at":"2025-09-12T15:37:54.627Z","avatar_url":"https://github.com/ym496.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Storygraph API\nA python package to interact with and fetch data from the [StoryGraph](https://app.thestorygraph.com/) website.\n\n## Features\n- **Book Details**: Fetch detailed information about a book using its unique ID.\n- **Search**: Perform a book search on StoryGraph and retrieve the results.\n- **Fetch User lists**: \n    -  currently reading\n    -  planning to read\n    -  books read\n\n## Installation\n```\npip install storygraph-api\n```\n\n## Getting Started\n\nThe API is divided into two components, `Books Client` and   `User Client`.\n\n### Book Details:\n\n```python\n# Books Client\n# Fetch details of a book using its ID\n\nfrom storygraph_api import Book\nid = \"fbdd6b7c-f512-47f2-aa94-d8bf0d5f5175\"\nbook = Book()\nresult = book.book_info(id)\nprint(result)\n```\n#### Result:\n```json\n{\n  \"title\": \"Hagakure: The Book of the Samurai\",\n  \"authors\": [\n    \"Yamamoto Tsunetomo\",\n    \"William Scott Wilson\"\n  ],\n  \"pages\": \"179\",\n  \"first_pub\": \"1716\",\n  \"tags\": [\n    \"nonfiction\",\n    \"history\",\n    \"philosophy\",\n    \"informative\",\n    \"reflective\",\n    \"slow-paced\"\n  ],\n  \"average_rating\": \"3.65\",\n  \"description\": \"\u003cdiv\u003e\u003cem\u003eHagakure\u003c\\\\/em\u003e (\\\\\\\"In the Shadow of Leaves\\\\\\\") is a manual for the samurai classes consisting of a series of short anecdotes and reflections that give both insight and instruction-in the philosophy and code of behavior that foster the true spirit of Bushido-the Way of the Warrior. It is not a book of philosophy as most would understand the word: it is a collection of thoughts and sayings recorded over a period of seven years, and as such covers a wide variety of subjects, often in no particular sequence. \u003cbr\u003e\u003cbr\u003eThe work represents an attitude far removed from our modern pragmatism and materialism, and possesses an intuitive rather than rational appeal in its assertion that Bushido is a Way of Dying, and that only a samurai retainer prepared and willing to die at any moment can be totally true to his lord. While \u003cem\u003eHagakure\u003c\\\\/em\u003e was for many years a secret text known only to the warrior vassals of the Hizen fief to which the author belonged, it later came to be recognized as a classic exposition of samurai thought and came to influence many subsequent generations, including Yukio Mishima. \u003cbr\u003e\u003cbr\u003eThis translation offers 300 selections that constitute the core texts of the 1,300 present in the original. \u003cbr\u003e\u003cem\u003eHagakure\u003c\\\\/em\u003e was featured prominently in the film \u003cem\u003eGhost Dog\u003c\\\\/em\u003e, by Jim Jarmusch.\u003c\\\\/div\u003e\",\n  \"warnings\": {\n    \"graphic\": [\n      \"Suicide\",\n      \"Violence\"\n    ],\n    \"moderate\": [\n      \"Suicide\",\n      \"Suicide attempt\",\n      \"War\"\n    ],\n    \"minor\": [\n      \"Gore\"\n    ]\n  }\n}\n```\n\n\n### User List:\n\n```python\n# User Client\n# works only for public profiles\n# fetch user's currently reading list\n\nfrom storygraph_api import User\nfrom dotenv import load_dotenv\nload_dotenv()\ncookie = os.getenv('COOKIE') # retrieve cookie from .env file\nuname = 'sampleuname' #some username \nuser = User()\nresult = user.currently_reading(uname,cookie=cookie)\nprint(result)\n\n```\n\n#### Result:\n  \n  ```json\n  [\n    {\n        \"title\": \"The Murder After the Night Before\",\n        \"book_id\": \"38cb5b56-23f1-48fd-b4b3-a80e07a19775\"\n    },\n    {\n        \"title\": \"The Graces\",\n        \"book_id\": \"653b54b3-a79d-4c2e-ae40-eae281a91315\"\n    }\n]\n\n  ```\n\n## Further Information \n*  Refer to [books_client.py](https://github.com/ym496/storygraph-api/tree/main/storygraph_api/books_client.py) and [users_client.py](https://github.com/ym496/storygraph-api/tree/main/storygraph_api/users_client.py) files to know more functionalities.\n*  All the user related tasks require the `remember_user_token` cookie. It can be found in the `Application` section of your browser’s developer tools for the StoryGraph website.\n\n## Contributing\nContributions are welcome! Fork the repository, make your changes, and submit a pull request.\n\nFor bugs or feature requests, please open an issue on [GitHub](https://github.com/ym496/storygraph-api/issues).\n\n## License\n\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fym496%2Fstorygraph-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fym496%2Fstorygraph-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fym496%2Fstorygraph-api/lists"}