{"id":25845365,"url":"https://github.com/zzampax/kindle-scribe-api","last_synced_at":"2026-02-26T10:18:36.237Z","repository":{"id":279046230,"uuid":"871329492","full_name":"zzampax/kindle-scribe-api","owner":"zzampax","description":"Server that periodically checks GMAIL inbox to download the latest PDF file sent via a Kindle Scribe","archived":false,"fork":false,"pushed_at":"2025-02-23T12:08:47.000Z","size":8,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-03T23:02:44.209Z","etag":null,"topics":["gmail-api","google-api","kindle","kindle-scribe","pdf","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","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/zzampax.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":"2024-10-11T18:22:07.000Z","updated_at":"2025-02-23T12:08:50.000Z","dependencies_parsed_at":"2025-02-23T12:38:15.772Z","dependency_job_id":null,"html_url":"https://github.com/zzampax/kindle-scribe-api","commit_stats":null,"previous_names":["zzampax/kindle-scribe-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zzampax/kindle-scribe-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zzampax%2Fkindle-scribe-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zzampax%2Fkindle-scribe-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zzampax%2Fkindle-scribe-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zzampax%2Fkindle-scribe-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zzampax","download_url":"https://codeload.github.com/zzampax/kindle-scribe-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zzampax%2Fkindle-scribe-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29856300,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T08:51:08.701Z","status":"ssl_error","status_checked_at":"2026-02-26T08:50:19.607Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["gmail-api","google-api","kindle","kindle-scribe","pdf","python3"],"created_at":"2025-03-01T08:18:44.506Z","updated_at":"2026-02-26T10:18:36.221Z","avatar_url":"https://github.com/zzampax.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KindleScribe Automatic Downloader API\nThis Python script automatizes the process of storing `PDF` files sent by a *Kindle Scribe*.\n## APIs\nThe whole script is based on Google's `Gmail API`, enabling it to parse email metadata and find the temporary link for the `PDF`.\n\u003e When a `PDF` is shared through a Kindle Scribe *send to email* function, the file is hosted for 30 days on Amazon's servers in order to make it downloadable.\n\u003e The `URL` is then embedded in a link on the email sent to the user.\n\nOnce the `URL` has been found, the script fetches it via:\n```python3\ndef fetch_pdf(pdf_link, filename):\n    # Download the PDF\n    import requests\n    response = requests.get(pdf_link)\n    with open(f\"kindle_pdfs/{filename}.pdf\", \"wb\") as pdf:\n        pdf.write(response.content)\n```\n## Essential files\n- `credentials.json` downloadable after generating an **ID client OAuth 2.0** via the Google API Dashboard.\n- `token.json` generated after loggin in via a link.\n## Running the code\nBefore running the code it is essential to install the `requirements.txt` dependencies, it is recommended to use a python virtual environment:\n```bash\npython3 -m venv .venv\nsource .venv/bin/activate\n```\n\u003e Use the appropriate `activate` accordingly (eg. `activate.fish` for `fish` shell)\n```bash\npip3 install -r requirements.txt\n```\nThe code is then runnable as following:\n```bash\npython3 main.py\n```\nThe `PDFs` will be saved in the `kindle_pdfs/` folder.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzzampax%2Fkindle-scribe-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzzampax%2Fkindle-scribe-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzzampax%2Fkindle-scribe-api/lists"}