Accessibility tooling
Build assistive flows for users with hearing or vision impairments who meet audio-only challenges.
Recognition task
Send a spoken-digit audio challenge as base64 and get the transcription back as text, usually in about a second.
Pay only for solved tasks. Failed tasks are refunded automatically.
What you send, what you get
Audio captchas play a short clip of spoken digits or letters, often with background noise. They exist as the accessible alternative to image challenges. bypass.so returns what is spoken as a plain string.
Recognition tasks usually finish inside the createTask call, so the first response already carries the answer. Typical time to a result is about a second.
| Field | Description |
|---|---|
| clientKeystringrequired | Your API key. You can also send it as Authorization: Bearer <key> instead. |
| typestringrequired | Always AudioCaptchaTask for this task. |
| audioBase64stringrequired | The audio clip as base64, MP3 or WAV, without a data: prefix. |
| contentTypestringoptional | MIME type of the clip, for example audio/wav. Defaults to audio/mpeg. |
| Field | Meaning |
|---|---|
| errorId | 0 on success, 1 on error. Errors also carry errorCode and errorDescription. |
| status | processing while the task runs, then ready or failed. |
| taskId | Returned by createTask. Use it to poll and to report a wrong answer. |
| solution.text | The spoken characters as a string, without spaces. |
Integration
Plain HTTPS and JSON. No SDK to install.
AudioCaptchaTask and its fields.processing.solution.text and continue your flow.POST /reportBad?task_id=<taskId> with your key as Bearer returns that task's price once.| errorCode | When it happens |
|---|---|
| ERROR_KEY_INVALID | The API key is missing or not recognised (HTTP 403). |
| ERROR_INSUFFICIENT_CREDITS | Your balance does not cover the task price. Top up and resend (HTTP 402). |
| ERROR_TASK_NOT_SUPPORTED | The type value is unknown or not live yet (coming soon). Nothing is charged. |
| ERROR_BAD_REQUEST | The body is not valid JSON or a field has the wrong type (HTTP 400). |
| ERROR_CAPTCHA_UNSOLVABLE | The task could not be completed. The held price is refunded automatically. |
| ERROR_RATE_LIMIT | Too many requests in a short time. Back off and retry (HTTP 429). |
| ERROR_NOT_FOUND | Unknown taskId, or the task belongs to another key (HTTP 404). |
Check your balance any time with GET /balance and Authorization: Bearer <key>. Full list in the error reference.
Using the result
What your own script does with the transcribed text once the task is ready.
Download the audio file the challenge plays, in the same session that shows the challenge.
Create an AudioCaptchaTask with the clip in audioBase64; set contentType for WAV files.
Type solution.text into the response field and submit the form.
Use cases
Built for testing, accessibility and data work on sites you own or are allowed to automate.
Build assistive flows for users with hearing or vision impairments who meet audio-only challenges.
Check that the accessible path of your own forms works end to end in CI, not only the visual one.
Automate permitted lookups on portals that offer the audio option.
Use bypass.so only where you have permission. Respect each site's terms and rate limits, and never use results to access accounts or data that are not yours. See our acceptable use policy.
Pricing
That is — per task, or — tasks for $100.
| Tier | Top-up | Bonus | Effective / 1k | Tasks covered |
|---|
Related types
audioBase64. Set contentType to audio/wav for WAV; MP3 is the default.480917, with no spaces or punctuation, ready to type into the response field.POST /reportBad and the taskId. The task's price is returned to your balance once per task.Create an account, top up from a few dollars and get your key. You only pay for tasks that return a result.