{"id":15050616,"url":"https://github.com/sloev/spotiflite","last_synced_at":"2025-04-10T02:15:19.646Z","repository":{"id":57470251,"uuid":"253138420","full_name":"sloev/spotiflite","owner":"sloev","description":"Scrapes Spotify and dumps data to a sqlite3 database without auth","archived":false,"fork":false,"pushed_at":"2020-09-02T21:40:47.000Z","size":104,"stargazers_count":6,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-10T02:15:06.139Z","etag":null,"topics":["python","scraping","spotify","sqlite"],"latest_commit_sha":null,"homepage":"","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/sloev.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}},"created_at":"2020-04-05T02:15:39.000Z","updated_at":"2024-08-12T19:59:44.000Z","dependencies_parsed_at":"2022-09-19T10:21:44.833Z","dependency_job_id":null,"html_url":"https://github.com/sloev/spotiflite","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/sloev%2Fspotiflite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sloev%2Fspotiflite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sloev%2Fspotiflite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sloev%2Fspotiflite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sloev","download_url":"https://codeload.github.com/sloev/spotiflite/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248142903,"owners_count":21054671,"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":["python","scraping","spotify","sqlite"],"created_at":"2024-09-24T21:28:03.292Z","updated_at":"2025-04-10T02:15:19.623Z","avatar_url":"https://github.com/sloev.png","language":"Python","readme":"\u003cimg src=\"https://github.com/sloev/spotiflite/raw/master/assets/logo.png\" width=\"300\"/\u003e\n\n# Spotiflite\n\n\u003ca href=\"https://www.buymeacoffee.com/sloev\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-pink.png\" alt=\"Buy Me A Coffee\" height=\"51px\" width=\"217px\"\u003e\u003c/a\u003e\n\n[![Build Status](https://travis-ci.com/sloev/spotiflite.svg?branch=master)](https://travis-ci.com/sloev/spotiflite) [![Latest Version](https://img.shields.io/pypi/v/spotiflite.svg)](https://pypi.python.org/pypi/spotiflite)\n\n*(For the hosted api version checkout [spotiflite on rapidapi](https://rapidapi.com/sloev/api/spotiflite/endpoints) sourcecode for api is [here](https://github.com/sloev/spotiflite/raw/master/cloudflare/worker.js))* \n\nScrapes Spotify and dumps data to a sqlite3 database.\n\n* Uses `requests` to make queries, with pythonic user-agent\n* sleeps randomly between each HTTP call\n* is *NOT* in a hurry to get anywhere\n* has nice 80's cli interface\n\n## Install\n\n```bash\n$ pip install spotiflite\n```\n\nthen go somewhere and setup a database:\n\n```bash\n$ spotiflite setup\n```\n\nyou can also specify the db filename:\n\n```bash\n$ spotiflite --spotifydb=this/awesome/db setup\n```\n\n## Usage\n\nFor example scrape **Frank ෴ Zappa** \n\n```bash\n$ spotiflite scrape 6ra4GIOgCZQZMOaUECftGN \ngot 44 artist ids\nextracted data for Tom Waits\nsaved data for Tom Waits\ngot 8 artist ids\nextracted data for Elmer Snowden\nsaved data for Elmer Snowden\ngot 6 artist ids\nextracted data for Wesley Willis\nsaved data for Wesley Willis\n...\n```\n\nwhile its running you can get stats in another window\n\n```bash\n$ spotiflite stats \nrows: 9882\ncompleted: 1395\njobs to do: 8487\nDB size: 48.04 MB\n```\n\n### Cli usage\n\n```bash\nUsage: spotiflite.py [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n  -db, --spotifydb TEXT  sqlite filename [default: spotify.db]\n  --help                 Show this message and exit.\n\nCommands:\n  scrape    starts scraping from given artist id\n  setup     creates tables\n  stats     print out db stats\n  teardown  deletes tables\n\n```\n","funding_links":["https://www.buymeacoffee.com/sloev"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsloev%2Fspotiflite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsloev%2Fspotiflite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsloev%2Fspotiflite/lists"}