Tasks
Updated 8/6/2026
Akamai Bot Manager Solver API
Solve Akamai Bot Manager protected pages with the Solverify Akamai Solver API. Create a browser-based task with the target URL and proxy, then retrieve Akamai cookies from solution.cookies, captured request headers from solution.headers when available, and the solver identity from solution.useragent.
Use this task type when an authorized integration must continue with the cookies and browser context established during an Akamai-protected session.
The Akamai integration follows the standard Solverify task workflow:
- Create an
akamaitask with the target URL and proxy. - Store the returned
taskId. - Poll
POST /getTaskResultuntil processing completes. - Read cookies, headers, and the user-agent from
solution. - Replay the returned values with the same proxy.
Default Akamai User-Agent
Akamai tasks do not accept or require a useragent request field. The solver uses this Windows Chrome 146 user-agent to keep the browser binary and device fingerprint consistent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36
The completed result includes this value in solution.useragent. Replay Akamai cookies and captured headers with the same proxy and returned user-agent.
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
clientKey | string | Yes | Your private Solverify API key. |
task.type | string | Yes | Must be akamai. |
task.websiteURL | string | Yes | Full URL of the Akamai-protected target page. Maximum 2,048 characters. |
task.ApiURL | string | No | API endpoint called with POST from the warmed browser session. Maximum 2,048 characters. |
task.proxyType | string | Yes | Proxy type. Only http is accepted. |
task.proxyAddress | string | Yes | Proxy IP address or hostname. Maximum 256 characters. |
task.proxyPort | string | Yes | Proxy port as a numeric string containing 1 to 5 digits. |
task.proxyLogin | string | No | Username for an authenticated proxy. |
task.proxyPassword | string | No | Password for an authenticated proxy. |
ApiURL is case-sensitive. When supplied, the solver sends a JSON POST request from inside the warmed browser session. Cookies set by that endpoint are included in solution.cookies; its response body is not returned.
Create Akamai Task Request
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "akamai",
"websiteURL": "https://www.godaddy.com/",
"ApiURL": "https://www.godaddy.com/api/example",
"proxyType": "http",
"proxyAddress": "1.1.1.1",
"proxyPort": "8080",
"proxyLogin": "username",
"proxyPassword": "password"
}
}
Omit ApiURL when the browser only needs to visit websiteURL. Omit proxy credentials when authentication is not required. Do not add a useragent field.
Akamai Solver Code Examples
These examples create an Akamai task and print the returned task ID.
curl --request POST \
--url https://solver.solverify.net/createTask \
--header "Content-Type: application/json" \
--data '{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "akamai",
"websiteURL": "https://www.godaddy.com/",
"proxyType": "http",
"proxyAddress": "1.1.1.1",
"proxyPort": "8080"
}
}'
Create Task Response
{
"errorId": 0,
"taskId": "UUID"
}
Completed Akamai Result
{
"errorId": 0,
"status": "completed",
"solution": {
"value": "",
"cookies": {
"_abck": "D9510DC4D434428407C86AB269DE00FB~-1~YAAQ...",
"ak_bmsc": "2A211393DCE7882215589B02B341941D~000000...",
"bm_sz": "969BC97CE529B4D5B3524F8B41F04205~YAAQ...",
"bm_sv": "B6B6A9EFABD89B9F4940BE6CC13198C3~YAAQ..."
},
"headers": {
"x-example-akamai-header": "header-value"
},
"useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36"
},
"errorCode": null,
"errorDescription": null
}
Solution Fields
| Field | Description |
|---|---|
cookies | Cookies captured from the Akamai-protected browser session. |
headers | Captured request headers when available. This field may be null. |
useragent | Fixed solver user-agent used for the browser session and cookie replay. |
Common Akamai cookie names include _abck, ak_bmsc, bm_sz, and bm_sv. Availability and values depend on the target session.
Akamai Timeout
Akamai tasks can run for up to approximately 75 seconds before timing out internally. Configure an overall polling deadline and stop when the API returns an error.
Akamai Solver API Errors
| Error code | Description |
|---|---|
ERROR_INVALID_REQUEST | The top-level request is missing or contains invalid JSON. |
ERROR_INVALID_TASK | The Akamai URL, optional API URL, or proxy settings are invalid. |
ERROR_INSUFFICIENT_BALANCE | The account balance is too low to create the task. |
ERROR_NO_CAPACITY | Akamai solver capacity is temporarily unavailable. |
ERROR_TASK_FAILED | The Akamai session could not be completed or validated. |
ERROR_TIMEOUT | Solving exceeded the allowed processing time. |
For recovery guidance and every supported response, see Solverify API Error Codes.
Next Steps
After creating an Akamai task, poll the Get Task Result API every 2 to 3 seconds with the returned taskId. Stop polling after completion or failure.
Frequently Asked Questions
What does the Akamai Solver API return?
The completed task returns cookies from the browser session, the fixed solver user-agent, and captured request headers when available.
Can I set the Akamai user-agent?
No. Do not include useragent in the task request. The solver uses Windows Chrome 146 to preserve browser and fingerprint consistency.
What does ApiURL do?
It instructs the warmed browser session to send a JSON POST request to the supplied endpoint. Cookies set by that request are added to solution.cookies; the response body is not returned.
Are Akamai headers always returned?
No. solution.headers may be null when no relevant request headers were captured.
Does _abck always end in ~0~?
No. Cookie validation state depends on the target's Akamai configuration, challenge flow, and proxy reputation. Use an appropriate proxy and inspect the returned cookies for your authorized workflow.
Why should I reuse the same proxy and user-agent?
Akamai evaluates the browser fingerprint and network context. Reusing the original proxy and solution.useragent preserves the session context associated with the returned cookies.