{"id":22302950,"url":"https://github.com/erizoat/amazon-scraping-captcha","last_synced_at":"2026-01-05T18:04:55.768Z","repository":{"id":225286059,"uuid":"765585696","full_name":"ERIZOAT/Amazon-Scraping-Captcha","owner":"ERIZOAT","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-01T08:06:31.000Z","size":4,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T21:18:00.402Z","etag":null,"topics":["amazon","amazon-captcha","amazon-captcha-solver","amazon-captcha-solving","amazon-scraper","amazon-scraping","captcha","captcha-solver","captcha-solving","funcaptcha","imagetotext","imagetotext-captcha"],"latest_commit_sha":null,"homepage":"","language":null,"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/ERIZOAT.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}},"created_at":"2024-03-01T08:05:40.000Z","updated_at":"2024-06-01T01:16:34.000Z","dependencies_parsed_at":"2024-03-01T08:37:53.712Z","dependency_job_id":null,"html_url":"https://github.com/ERIZOAT/Amazon-Scraping-Captcha","commit_stats":null,"previous_names":["erizoat/amazon-scraping-captcha"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ERIZOAT%2FAmazon-Scraping-Captcha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ERIZOAT%2FAmazon-Scraping-Captcha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ERIZOAT%2FAmazon-Scraping-Captcha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ERIZOAT%2FAmazon-Scraping-Captcha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ERIZOAT","download_url":"https://codeload.github.com/ERIZOAT/Amazon-Scraping-Captcha/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245566078,"owners_count":20636390,"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":["amazon","amazon-captcha","amazon-captcha-solver","amazon-captcha-solving","amazon-scraper","amazon-scraping","captcha","captcha-solver","captcha-solving","funcaptcha","imagetotext","imagetotext-captcha"],"created_at":"2024-12-03T18:42:05.892Z","updated_at":"2026-01-05T18:04:55.716Z","avatar_url":"https://github.com/ERIZOAT.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# How To Solve CAPTCHA while Scraping Amazon?  \n  \nWhen conducting searches on Amazon, users often encounter CAPTCHAs that prompt them to enter certain characters or solve puzzles. These measures are in place to distinguish between human users and automated bots. CAPTCHAs are designed to present challenges that are easy for humans to solve but difficult for computers. By successfully completing a CAPTCHA, users verify their human identity, ensuring that interactions on the website are performed by real people rather than automated programs.\n\nFor businesses, collecting Amazon data is vital for entering new markets and driving sales growth. However, as scraping efforts scale from a few pages to tens or more, CAPTCHAs can become a significant obstacle. In this article, we will explore an effective solution to solve CAPTCHAs while scraping Amazon product data, giving businesses a competitive advantage.\n\nAmazon employs various CAPTCHA measures to protect the integrity of its website. Two common scenarios encountered when scraping Amazon are FunCaptcha and Image-to-Text CAPTCHAs.\n\nFunCaptcha is a type of CAPTCHA technology developed by Arkose Labs. Unlike traditional CAPTCHAs, FunCaptcha uses interactive puzzles and games to differentiate between humans and bots. These puzzles are designed to engage and entertain humans while posing difficulties for bots.\n\nOn the other hand, Image-to-Text, also known as optical character recognition (OCR), is a technology that converts text within images into machine-readable text. It involves algorithms and computer vision techniques to analyze the visual patterns and structures of characters in an image and translate them into editable and searchable text.\n\nTo solve Amazon's CAPTCHAs effectively, many businesses rely on a specialized enterprise-level solution called [CapSolver](https://www.capsolver.com/). CapSolver is widely used in the market due to its high accuracy and speed. Here are the detailed steps for solving Amazon CAPTCHAs using CapSolver  \n  \n## Solving Amazon's Captchas with CapSolver\n\nCapsolver, widely used in the market today, is an enterprise level specialized in solving Amazon CAPTCHA, as its high accuracy and fastness are chief in the market. Here are some detailed steps and details to solve Amazon CAPTCHA\n\n### Solving Amazon Funcaptcha\n\n#### Create Task\n\nCreate a task with the [createTask](../api-createtask.md) to create a task.\n\n#### Task Object Structure\n\n| Properties               | Type   | Required | Description                                                                                                                                                                                                                                                                                                                |\n|--------------------------|--------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| type                     | String | Required | `FunCaptchaTaskProxyLess`                                                                                                                                                                                                                                                                                                  |\n| websiteURL               | String | Required | Web address of the website using funcaptcha, generally it's fixed value. (Ex: https://google.com)                                                                                                                                                                                                                          |\n| websitePublicKey         | String | Required | The domain public key, rarely updated. (Ex: E8A75615-1CBA-5DFF-8031-D16BCF234E10)                                                                                                                                                                                                                                          |\n| funcaptchaApiJSSubdomain | String | Optional | A special subdomain of [funcaptcha.com](http://funcaptcha.com/), from which the JS captcha widget should be loaded. Most FunCaptcha installations work from shared domains.                                                                                                                                                |\n| data                     | String | Optional | Additional parameter that may be required by FunCaptcha implementation. Use this property to send \"blob\" value as a stringified array. See example how it may look like. {\"\\blob\\\":\\\"HERE_COMES_THE_blob_VALUE\\\"}  Learn [how to get FunCaptcha blob data](https://www.capsolver.com/blog/FunCaptcha/funcaptcha-data-blob) |\n| proxy                    | String | Optional | Learn [Using proxies](../api-how-to-use-proxy)                                                                                                                                                                                                                                                                             |\n\n#### Example Request\n\n``` json\nPOST https://api.capsolver.com/createTask\nHost: api.capsolver.com\nContent-Type: application/json\n\n{\n    \"clientKey\": \"YOUR_API_KEY_HERE\",\n    \"task\": {\n        \"type\":\"FunCaptchaTaskProxyLess\", //Required\n        \"websiteURL\":\"\", //Required\n        \"websitePublicKey\":\"\", //Required\n        \"data\": \"{\\\"blob\\\": \\\"flaR60YY3tnRXv6w.l32U2KgdgEUCbyoSPI4jOxU...\\\"}\" // Optional\n    }\n}\n```\n\n\nAfter you submit the task to us, you should receive in the response a 'Task id' if it's successfull. Please\nread [errorCode: full list of errors](https://captchaai.atlassian.net/wiki/spaces/CAPTCHAAI/pages/394062/FuncaptchaTask+solving+FunCaptcha#)\nif you didn't receive the task id.\n\n#### Example Response\n\n``` json\n{\n    \"errorId\": 0,\n    \"status\": \"idle\",\n    \"taskId\": \"61138bb6-19fb-11ec-a9c8-0242ac110006\"\n}\n\n```\n\n#### **Getting Result**\n\nUse the [getTaskResult](../api-gettaskresult.md) method to get the recognition results\n\nDepending on the system load, you will get the results within the interval of `1s` to `20s`\n\n#### Example Request\n\n``` json\nPOST https://api.capsolver.com/getTaskResult\nHost: api.capsolver.com\nContent-Type: application/json\n\n{\n    \"clientKey\": \"YOUR_API_KEY\",\n    \"taskId\": \"61138bb6-19fb-11ec-a9c8-0242ac110006\"\n}\n```\n\n#### Example Response\n\n``` json\n{\n    \"errorId\": 0,\n    \"solution\": {\n        \"userAgent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\",\n        \"token\": \"3AHJ_q25SxXT-pmSeBXjzScW-EiocHwwpwqtk1QXlJnGnU......\"\n    },\n    \"status\": \"ready\"\n}\n```\n\n\n### Solving Amazon Imagetotext\n\n\n\n:::\n\n#### Create Task\n\nCreate the task with the [createTask](../api-createtask.md).\n\n**Task Object Structure**\n\nNote that this type of task returns the task execution result directly after createTask, rather than getting it\nasynchronously through getTaskResult.\n\n| Properties | Type    | Required | Description                                                                                            |\n|------------|---------|----------|--------------------------------------------------------------------------------------------------------|\n| type       | String  | Required | ImageToTextTask                                                                                        |\n| websiteURL | String  | Optional | Page source url to improve accuracy                                                                    |\n| body       | String  | Required | base64 encoded content of the image (no newlines) (no data:image/****\\*****; base64, content           |\n| module     | String  | Optional | Specifies the module. Currently, the supported modules are common and queueit                          |\n| score      | Float   | Optional | `0.8 ~ 1`, Identify the matching degree. If the recognition rate is not within the range, no deduction |\n| case       | Boolean | Optional | Case sensitive or not                                                                                  |\n\n#### Example Request\n\n```text\nPOST https://api.capsolver.com/createTask\nHost: api.capsolver.com\nContent-Type: application/json\n```\n\n```json lines\n{\n  \"clientKey\": \"YOUR_API_KEY\",\n  \"task\": {\n    \"type\": \"ImageToTextTask\",\n    \"websiteURL\": \"https://xxxx.com\",\n    // You can choose the module you need to use\n    // ocr single image model, default common\n    \"module\": \"queueit\",\n    // base64 encoded image\n    \"body\": \"/9j/4AAQSkZJRgABA......\"\n  }\n}\n```\n\n#### Example Response\n\n```json lines\n{\n  \"errorId\": 0,\n  \"errorCode\": \"\",\n  \"errorDescription\": \"\",\n  \"status\": \"ready\",\n  \"solution\": {\n    \"text\": \"44795sds\"\n  },\n  \"taskId\": \"2376919c-1863-11ec-a012-94e6f7355a0b\"\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferizoat%2Famazon-scraping-captcha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ferizoat%2Famazon-scraping-captcha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ferizoat%2Famazon-scraping-captcha/lists"}