Solvers
Akamai Bot Manager
How to solve Akamai Bot Manager challenges with the Astrum Solver API: parameters, request and response.
Sensor-based device check. A warmed browser session produces the cookies the origin expects.
| Field | Value |
|---|---|
| type | akamai |
| Vendor | Akamai |
| Solution | sensor data + cookies |
Parameters
These fields go inside the task object of a createTask request. Optional fields are only needed when the target page supplies them.
| Name | Type | Description |
|---|---|---|
| websiteURL | stringrequired | Page that serves the challenge. Must be https and resolve to a public address. |
| proxyURL | stringrequired | Proxy the challenge is solved through, as http://login:password@host:port. The solution is bound to this exit IP. |
| apiURL | stringoptional | Endpoint called with POST from the warmed browser session, when the flow needs one. |
Create a task
POSThttps://solver-dev.astrum.foundation/api/createTask
Payload
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "akamai",
"websiteURL": "https://target.com/login",
"proxyURL": "http://login:password@host:port"
}
}Response
{"errorId": 0, "taskId": "6f1c8b32-0a5e-4a19-9a1f-3b0d54c2a1e7"}With optional fields
createTask payload
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "akamai",
"websiteURL": "https://target.com/login",
"proxyURL": "http://login:password@host:port",
"apiURL": "https://target.com/api/session"
}
}Collect the solution
Poll every few seconds. Until the task closes the response carries only a status; the solution appears once it does.
POSThttps://solver-dev.astrum.foundation/api/getTaskResult
Payload
{
"clientKey": "YOUR_API_KEY",
"task": {
"taskId": "6f1c8b32-0a5e-4a19-9a1f-3b0d54c2a1e7",
"type": "akamai"
}
}Response
{"errorId": 0, "status": "closed", "solution": {"token": "…"}}The solution is bound to the proxy that produced it. Replay it from the same exit IP, and from the same user agent when you sent one.