{"id":25639795,"url":"https://github.com/beaufour/shutterfly_sites_api","last_synced_at":"2026-03-18T00:35:33.734Z","repository":{"id":60361204,"uuid":"542618133","full_name":"beaufour/shutterfly_sites_api","owner":"beaufour","description":"Simple API to download all photos from Shutterfly Sites","archived":false,"fork":false,"pushed_at":"2024-07-07T14:44:41.000Z","size":159,"stargazers_count":2,"open_issues_count":3,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-23T02:47:13.250Z","etag":null,"topics":[],"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/beaufour.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":"2022-09-28T13:56:58.000Z","updated_at":"2024-07-07T14:44:44.000Z","dependencies_parsed_at":"2023-01-31T07:30:55.260Z","dependency_job_id":"1f029de1-df73-4990-98b1-080f18baf851","html_url":"https://github.com/beaufour/shutterfly_sites_api","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/beaufour%2Fshutterfly_sites_api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beaufour%2Fshutterfly_sites_api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beaufour%2Fshutterfly_sites_api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beaufour%2Fshutterfly_sites_api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/beaufour","download_url":"https://codeload.github.com/beaufour/shutterfly_sites_api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240266853,"owners_count":19774075,"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":"2025-02-23T03:47:26.226Z","updated_at":"2025-12-26T01:18:40.764Z","avatar_url":"https://github.com/beaufour.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Shutterfly Sites API\n\nI wanted to download all the photos from a Shutterfly Share Site, but neither the web or the native mobile app seemed particularly great. Sadly Shutterfly doesn't expose a public API, so I reverse engineered it to download all the photos.\n\nIt depends on grabbing the authentication token from the cookie once you are logged in to the website (as I didn't bother to implement the login also).\n\n## Usage\n\nTo download all photos in all albums:\n\n    \u003e shutterfly_sites_api/api.py --site SITE --token TOKEN --directory DIRECTORY\n\n* `site` - name of the Share Sites (ie the first part of the domain name, ie \u003chttps://SITE.shutterfly.com\u003e\n* `token` - contents of the `ShrAuth` cookie\n* `directory` - where to download the photos to\n\n## API Notes\n\nAs mentioned, Shutterfly doesn't actually have a public API, so I had to deduce it from their website. It's fairly simple though. All the data is exposed through \u003chttps://cmd.shutterfly.com/commands/format/js\u003e. All the picture information can be fetched through `?site=SITE\u0026page=SITE%2fpictures\u0026v=1\u0026usejwt_token=true`. Each album can be found inside `Shr.P.sections[0].groups` and the photo information is inside `.items` in each group.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeaufour%2Fshutterfly_sites_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeaufour%2Fshutterfly_sites_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeaufour%2Fshutterfly_sites_api/lists"}