
Datadome Sound Captcha
Deprecated
Pricing
Pay per usage
Go to Store

Datadome Sound Captcha
Deprecated
Solve Datadome sound captchas using AI by providing the audio file URL
0.0 (0)
Pricing
Pay per usage
1
Monthly users
2
Last modified
2 years ago
Datadome Sound Captcha Solver
Solve Datadome captchas using AI by providing the audio file URL.
How it works
Assuming you hit a page with Datadome slider captcha, here's how to solve it:
- Extract the audio captcha file URL (e.g.,
https://dd.prod.captcha-delivery.com/audio/2023-05-19/en/9a16b0aa574adc63ff07847678f320be.wav
) from a page with Datadome slider captcha - Send request to this API with the extracted audio URL
- Type in the 6-digit numbers returned by the API into the audio captcha number fields
- Celebrate victory!!!
Note
If the captcha is not solved on first attempt, you can easily click the reload button (#captcha__reload__button
) on the slider to re-generate a new audio URL and make the request again.
Example with puppeteer (similar approach for Playwright)
1(async () => { 2 // Imports 3 import { ApifyClient } from 'apify-client'; 4 5 // Assuming you hit a page with Datadome Slider Captcha e.g., when visiting https://www.super.com/travel/ 6 7 ... 8 const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); 9 console.log(`Solving Captcha...`) 10 11 // Get Datadome captcha iframe 12 await page.waitForSelector(`iframe`) 13 const iframe = await page.frames().find((frame) => { 14 return frame.url().includes(`https://geo.captcha-delivery.com/captcha/?`) 15 }) 16 17 // Sleep for 3 seconds or any desired time to allow iframe to load its contents 18 await sleep(3000) 19 20 // Extract audio URL from Datadome iframe 21 const audio_url = await iframe.evaluate(() => { 22 return document.querySelector(`audio[src*="https://dd.prod.captcha-delivery.com/audio"]`)?.getAttribute(`src`) 23 }) 24 25 // Make API request 26 let numbers; 27 28 // Initialize the ApifyClient with API token 29 const client = new ApifyClient({ 30 token: '<YOUR_API_TOKEN>', 31 }); 32 33 // Prepare actor input 34 const input = { 35 "audio_url": "https://dd.prod.captcha-delivery.com/audio/2023-05-19/en/3a1e6a23a02face80c0f26578049ced9.wav", 36 "proxyConfig": { 37 "useApifyProxy": false 38 } 39 }; 40 41 try { 42 // Run the actor and wait for it to finish 43 const run = await client.actor("microworlds/datadome-sound-captcha").call(input); 44 45 // Fetch and print actor results from the run's dataset (if any) 46 console.log('Results from dataset'); 47 const { items } = await client.dataset(run.defaultDatasetId).listItems(); 48 items.forEach((item) => { 49 console.dir(item); // e.g ['3', '3', '6', '4', '3', '2'] 50 numbers = item 51 }); 52 } catch (error) { 53 console.error(error); 54 } 55 56 // Click the speaker icon on the captcha to toggle the audio section 57 await iframe.click(`#captcha__audio__button`) 58 sleep(500) 59 60 // Type the numbers (6-digits) into the audio captcha input fields 61 for (let [index, value] of numbers.entries()) { 62 console.log(`Entering the value - ${value}`) 63 await iframe.type(`#captcha__audio input.audio-captcha-inputs[data-index="${index}"]`, `${value}`, { 64 delay: 500 65 }) 66 } 67 68 // Tab yourself three times on the back and watch Datadome give you passage 😁 69 70 // However, if that fails, you can generate another audio url by clicking on the retry icon like so and repeat the process: 71 await iframe.click(`#captcha__reload__button`) 72 73 ... 74})();
Pricing
Pricing model
Pay per usageThis Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage.