SurSolver

How to solve Akamai Bot Manager

Akamai protects sites at the edge and hands out cookies that are bound to the connection that earned them. Here is how to recognise it and replay a solve correctly.

Updated

Charged when a task is accepted

On this page

What is Akamai Bot Manager and how to recognise it

Akamai Bot Manager is an edge layer that scores every request to a protected site. An obfuscated same-origin script collects browser and device signals and posts them back to the edge, which then decides whether to allow, limit, challenge or block the traffic. You can recognise it from the response cookies: _abck and bm_sz are the usual pair, often together with ak_bmsc. Response headers such as X-Akamai-Transformed or an akamai-grn marker point at the same edge, and the script that collects the signals is served from a random-looking first-party path that changes between loads.

The Akamai cookies (including _abck and bm_sz) a real browser session holds on singaporeair.com, listed via the console

Unlike a widget that sits in a form, this protection has no visible challenge to look for. The page loads, and the cookies in the response carry the state that decides what you are allowed to do next. Protected actions — login, checkout, a product API call — are where a weak or missing state shows up, often as a block page or a repeated challenge rather than a form.

Solving it returns a set of values to replay, not a token to type into a page: a cookies object plus, when the solver reports one, the user agent the values were earned with.

Extension, API or automation?

SurSolver is an HTTP API: you call it from your own code, and there is no browser extension. For this type the API runs the whole handshake for you — you send the page URL and proxy details, and you get the cookies back. Your own client then replays them.

That fits any HTTP client or automation stack: curl or requests for a server-side job, Playwright, Puppeteer or Selenium when a real browser has to carry the session. There is nothing to compute on your side and no script to run in the page.

How to find the parameters

Start from the page whose first load serves the sensor — normally the login, checkout or product page, not the homepage. Send that full URL, including its path and query string.

Confirm the site runs Akamai Bot Manager before you send anything: look at the response cookies for _abck and bm_sz, and at the HTML for that script. Then choose a proxy exit for the solve; residential or mobile exits are the least likely to be scored harshly. When the solution includes a user agent, replay with exactly that value.

Where the cookies go

Set every cookie from the cookies object on a session that uses the same exit IP and the same user agent as the solve, then request the protected page or API from that session. The values are checked against the live connection, so a different IP, user agent or TLS fingerprint is a rejection.

Protected actions can invalidate the state, so when a request is challenged again, solve again rather than reusing an old result. Never mix values from one solve with a session that used a different proxy.

Common mistakes

Replaying the cookies from a different IP is the classic failure: the edge compares the connection against what the values were earned with. The same applies to a user agent that changed between the solve and the replay — a mismatch is a rejection, not a warning. Treating an old cookie jar as a long-lived credential is the third: the validated state does not last, and protected actions consume it.

Datacenter IP ranges are scored harshly by this edge, so a solve that looks correct can still be blocked before the sensor even runs. And do not send this task without proxy details: this type has no proxyless form, so a request without a proxy is rejected before the solve starts.

Solve it with SurSolver

Send the protected page URL and proxy details to createTask with the task type AkamaiCookie, then poll getTaskResult until the status is ready. The solution carries the cookies to replay and, when the solver reports one, the user agent they were earned with; replay with that user agent. The accepted names and parameters are listed by the public catalog (GET /v1/task-types).

FAQ

What does an Akamai task return?

A cookies object — typically _abck, bm_sz and ak_bmsc — plus the user agent the values were earned with, when the solver reports one.

Do I need a proxy?

Yes. This type has no proxyless form: the returned values are bound to the exit IP the solve ran through, so the solve and the replay must use the same proxy.

How long can I use the result?

Trust lasts from a few protected requests to a few hours, even though the cookie itself carries an expiry of about a year. Replay promptly, and solve again when the site challenges a request instead of reusing an old result.

Can I replay the cookies from a different IP?

No. A different IP, user agent or TLS fingerprint invalidates the result.

Which URL do I send?

The page whose first load serves the sensor — usually the login, checkout or product page — not the homepage.

From the blog

No posts yet — read the blog for new guides and release notes.