{"id":15980184,"url":"https://github.com/thinh-vu/shutterstock_analysis","last_synced_at":"2025-11-11T04:30:13.325Z","repository":{"id":143642007,"uuid":"577385832","full_name":"thinh-vu/shutterstock_analysis","owner":"thinh-vu","description":"Analyze Shutterstock insights for photo licensing","archived":false,"fork":false,"pushed_at":"2023-04-22T15:09:06.000Z","size":10390,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-28T12:13:38.168Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/thinh-vu.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":"2022-12-12T16:10:31.000Z","updated_at":"2023-09-13T14:57:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"add5e1cf-2cbd-4502-a615-c7dc7745c164","html_url":"https://github.com/thinh-vu/shutterstock_analysis","commit_stats":{"total_commits":6,"total_committers":2,"mean_commits":3.0,"dds":"0.16666666666666663","last_synced_commit":"53f6c4eaacd5323710a229b147002fd02b953dcf"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinh-vu%2Fshutterstock_analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinh-vu%2Fshutterstock_analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinh-vu%2Fshutterstock_analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinh-vu%2Fshutterstock_analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thinh-vu","download_url":"https://codeload.github.com/thinh-vu/shutterstock_analysis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239587243,"owners_count":19663892,"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":"2024-10-08T00:02:11.568Z","updated_at":"2025-11-11T04:30:12.994Z","avatar_url":"https://github.com/thinh-vu.png","language":"Python","funding_links":["https://patreon.com/thinhvu?utm_medium=clipboard_copy\u0026utm_source=copyLink\u0026utm_campaign=creatorshare_creator"],"categories":[],"sub_categories":[],"readme":"# shutterstock_analysis\n\u003e The internet's first python package supports analyzing the Shutterstock public data, which helps creators optimize their creative portfolio and earn more income with less effort.\n\n`shutterstock_analysis` relies on public APIs, similar to how you use the web browser to access Shutterstock service to provide you the underlay insights. It is **FREE** and has **NO LIMITATIONS**. \n\nYou can support this project on Patreon (or Momo in Vietnam) based on how you feel it is helpful. Scroll the end of this page for more details.\n\n\u003cdiv\u003e\n  \u003cimg src=\"https://img.shields.io/pypi/pyversions/shutterstock_analysis?logoColor=brown\u0026style=plastic\" alt= \"Version\"/\u003e\n  \u003cimg src=\"https://img.shields.io/pypi/dm/shutterstock_analysis\" alt=\"Download Badge\"/\u003e\n  \u003cimg src=\"https://img.shields.io/github/last-commit/thinh-vu/shutterstock_analysis\" alt=\"Commit Badge\"/\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/thinh-vu/shutterstock_analysis?color=red\" alt=\"License Badge\"/\u003e\n\u003c/div\u003e\n\n---\n![advanced_search](https://raw.githubusercontent.com/thinh-vu/shutterstock_analysis/main/src/shutterstock_image_search_ha_giang_hero.png)\n\n\n# II. REFERENCES\n## 2.1. How to use this package?\n- Install the stable version: `pip install shutterstock_analysis`\n- You can install the latest `shutterstock_analysis` version from source with the following command:\n`pip install git+https://github.com/thinh-vu/shutterstock_analysis.git@main`\n\n_(*) You might need to insert a `!` before your command when running terminal commands on Google Colab._\n\n- To start using functions, you need to import them: `from shutterstock_analysis import *`\n\n## 2.2. Function references\n\n\u003e You can also read the function suggestion on your IDE which loads the documentation from the doc string. It's fairly simple, trust me!\n\n### 2.2.1. Image search\n- Get image search results from multiple Shutterstock result pages:\n  \n   `search_df = image_search('ha giang', page_limit=10)`\n\n- Get bulk photos details:\n\n  `bulk_photo_detail = bulk_photo_detail(search_df, limit=100)`\n\n### 2.2.2. Creative video search\n\u003e Although the data for the Editorial video is available, I decided to skip that option since it's not practical for my use case. Do feel free to develop it on your own if it's needed.\n\n- Get video search results from multiple Shutterstock result pages:\n  \n  `search_df = image_search('ha giang', page_limit=10)`\n\n- Get bulk videos details:\n  \n  `bulk_photo_detail = bulk_photo_detail(search_df, limit=100)`\n\n### 2.2.3. Export data:\n- This is the simplest way to export data from python to a CSV file which you can analyze easily either with Excel or Google Sheets.\n  - Export search results: `search_df.to_csv('YOUR_PATH_TO_FILE.csv', index=False)`\n\n  - Export photo details: `bulk_photo_detail.to_csv('YOUR_PATH_TO_FILE.csv', index=False)`\n\n## Limitations\n- Support photo and video searches: \n  - Photo Search (Non-Editorial and Editorial)\n  - Video Creative Search. Skip Editorial Video search.\n\n- Need to avoid abusing the API, which might lead to the service provider blocking the bot traffic.\n\n# III. APENDICES\n\n## 3.1. Photo search query structure:\n  \u003cdetails\u003e\n    \u003csummary\u003eDefault photo search\u003c/summary\u003e\n\n  ```https://www.shutterstock.com/_next/data/abgKsgPYfFDoIqIr0JlX0/en/_shutterstock/search/ha-giang.json?image_type=photo\u0026term=ha-giang```\n\n  Default Search UI:\n\n  ![default_search](https://raw.githubusercontent.com/thinh-vu/shutterstock_analysis/main/src/shutter_stock_default_photo_search_ui.png)\n\n  \u003c/details\u003e\n\n  \u003cdetails\u003e\n    \u003csummary\u003eAdvanced photo search\u003c/summary\u003e\n\n  ```https://www.shutterstock.com/_next/data/abgKsgPYfFDoIqIr0JlX0/en/_shutterstock/search/ha-giang.json?image_type=photo\u0026term=ha-giang\u0026page=2\u0026\u0026contributor=Big+Pearl\u0026category=Nature\u0026sort=newest\u0026release=editorial\u0026mreleased=true\u0026exclude=car%2C+bike\u0026artistsInclude=VN\u0026authentic=true```\n\n  Advanced Search UI:\n\n  ![advanced_search](https://raw.githubusercontent.com/thinh-vu/shutterstock_analysis/main/src/shutter_stock_advanced_photo_search_ui.png)\n      \n  \u003c/details\u003e\n\n## 3.2. Video creative search query structure\n\u003cdetails\u003e\n  \u003csummary\u003eDefault Video search\u003c/summary\u003e\n  \n  ```https://www.shutterstock.com/_next/data/qaf5FoOwtgZ0aXCZ3JlVY/en/_shutterstock/video/search/ha-giang.json?term=ha-giang```\n\n  - Video Creative, default search UI\n\n  ![advanced_video_search](https://raw.githubusercontent.com/thinh-vu/shutterstock_analysis/main/src/shutterstock_video_search.png)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eAdvanced Video Creative search\u003c/summary\u003e\n  \n  ```https://www.shutterstock.com/_next/data/qaf5FoOwtgZ0aXCZ3JlVY/en/_shutterstock/video/search/ha-giang.json?term=ha-giang\u0026page=2\u0026sort=newest\u0026res=4k\u0026aspect_ratio=16%3A9\u0026duration=0-90\u0026fps=30\u0026mreleased=true\u0026people_number=2\u0026contributor=bui+minh+vu\u0026artistsInclude=VN\u0026exclude=car%2C+bike\u0026release=editorial\u0026category=Nature\u0026safe=off```\n\n\u003c/details\u003e\n\n## 3.3. Media details\n\n\u003cdetails\u003e\n  \u003csummary\u003ePhoto details view\u003c/summary\u003e\n  \n  ```https://www.shutterstock.com/_next/data/C9XIXNeuNSgmiYo-YdBAv/en/_shutterstock/image-photo/ha-giang-province-northeast-vietnam-1575835303.json?title=ha-giang-province-northeast-vietnam-1575835303```\n\n  ![photo_details](https://raw.githubusercontent.com/thinh-vu/shutterstock_analysis/main/src/shutterstock_image_details.png)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eVideo details view\u003c/summary\u003e\n  \n  ```https://www.shutterstock.com/_next/data/C9XIXNeuNSgmiYo-YdBAv/en/_shutterstock/video/clip-1053358490-terraced-rice-field-ha-giang-province-vietnam.json?slug=clip-1053358490-terraced-rice-field-ha-giang-province-vietnam```\n\n  ![photo_details](https://raw.githubusercontent.com/thinh-vu/shutterstock_analysis/main/src/shutterstock_video_details.png)\n\n\u003c/details\u003e\n\n# IV. 🙋‍♂️ CONTACT INFORMATION\nYou can contact me at one of my social network profiles:\n\n\u003cdiv id=\"badges\" align=\"center\"\u003e\n  \u003ca href=\"https://www.linkedin.com/in/thinh-vu\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/LinkedIn-blue?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white\" alt=\"LinkedIn Badge\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.messenger.com/t/mr.thinh.ueh\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Messenger-00B2FF?style=for-the-badge\u0026logo=messenger\u0026logoColor=white\" alt=\"Messenger Badge\"/\u003e\n  \u003ca href=\"https://www.youtube.com/channel/UCYgG-bmk92OhYsP20TS0MbQ\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/YouTube-red?style=for-the-badge\u0026logo=youtube\u0026logoColor=white\" alt=\"Youtube Badge\"/\u003e\n  \u003c/a\u003e\n  \u003c/a\u003e\n    \u003ca href=\"https://github.com/thinh-vu\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/GitHub-100000?style=for-the-badge\u0026logo=github\u0026logoColor=white\" alt=\"Github Badge\"/\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n---\n\nIf you want to support my open-source projects, you can \"buy me a coffee\" via [Patreon](https://patreon.com/thinhvu?utm_medium=clipboard_copy\u0026utm_source=copyLink\u0026utm_campaign=creatorshare_creator) or Momo e-wallet (VN). Your support will help to maintain my blog hosting fee \u0026 to develop high-quality content.\n\n![momo-qr](https://github.com/thinh-vu/vnstock/blob/main/src/momo-qr-thinhvu.jpeg?raw=true)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinh-vu%2Fshutterstock_analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthinh-vu%2Fshutterstock_analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinh-vu%2Fshutterstock_analysis/lists"}