Playbooks

How to get picked for bot protection by coding agents

Cloudflare Turnstile took 57% of 160 judged bot protection sessions. What the numbers say a vendor in this category should do.

Published September 3, 2026 Read as Markdown

If you sell bot protection services, this page is the part of the market no dashboard shows you: what a coding agent does when a developer asks for bot protection and never compares vendors.

The numbers come from 160 judged sessions with Claude Code, Codex and Cursor, spread across 5 realistic codebases, with every session read by a judge.

Read the spread before the totals. 160 sessions is a lot of runs, and 5 codebases are not a lot of variety. A category that ran on a handful of projects carries their particulars with it. The panel had 5 with the bot protection seam open, and running on repositories where the request does not make sense would have been worse than running on fewer. Weigh what follows accordingly.

What coding agents choose for bot protection

Across 160 judged sessions, Cloudflare Turnstile was chosen most often, in 57% of runs. Vercel BotID was second with 11%.

#ProductRuns wonShare
1Cloudflare Turnstile9157%
2Vercel BotID1811%
3Built in-house (no product adopted)1811%
4ALTCHA128%
5django-axes117%
6Google reCAPTCHA64%
7Laravel RateLimiter21%

Full board, every run replayable: the bot protection leaderboard.

What the shape of this category means

The leader takes 57% of runs and there is a real second place. The category has a default but it is not settled.

Cloudflare Turnstile at 57% with Vercel BotID at 11% is a default with a real challenger behind it. The agent is choosing rather than reaching, which means the inputs it uses can move the answer.

The work is to be the easiest correct answer: a quickstart that runs when pasted, documentation that states the current version, and pages that answer the exact configuration questions agents search for.

The agents do not agree with each other

In this category all three agents put Cloudflare Turnstile first, which is less common than it sounds: across the eighteen categories we measured, Claude Code and Codex disagreed on the leader in nine of them.

AgentRunsPicked most often
Claude Code54Cloudflare Turnstile (31)
Codex54Cloudflare Turnstile (40)
Cursor52Cloudflare Turnstile (20)

Even where they agree, they get there differently. Codex ran a web search in 53% of decision runs and Claude Code in 1.6%, so what you publish reaches one of them in half its bot protection sessions and the other in almost none.

Who is asking changes the answer

Every request in this experiment was written as a specific kind of person. In this category the leader changes with the person.

Who is askingRunsPicked most often
Vibe coder61Cloudflare Turnstile
Junior developer63Cloudflare Turnstile
Enterprise team36django-axes

That is 2 different products winning bot protection for 3 kinds of buyer, out of the same 160 sessions. Nobody here is winning bot protection. They are each winning one kind of buyer.

If you sell to more than one of them, you need pages for each. See how to win the enterprise persona.

What you are really competing against

In 11% of runs the agent wrote the code itself rather than adopting a product. That is low enough that your competition is other vendors, but high enough to be worth watching.

Considered, and never chosen

Because the judge records every product an agent raised and not only the one it picked, this board also shows who kept reaching the shortlist and losing. In bot protection the clearest case is hCaptcha: on the table in 126 sessions, chosen in none.

ProductRaised inChosen in
hCaptcha126 sessions0
Friendly Captcha35 sessions0
Cloud Armor31 sessions0

Being rejected is a better position than being unknown, and a cheaper one to fix. The product is already in the agent's head and on the list. Whatever ended those 192 sessions is recorded in each transcript, one reason at a time.

What to do about it in bot protection

  1. Aim at second place first. Cloudflare Turnstile holds 57% and Vercel BotID holds 11%. The gap between the default and the field is where the reachable sessions are.
  1. Pick which buyer you are for. The same bot protection need written as a vibe coder landed on Cloudflare Turnstile, and written as an enterprise team landed on django-axes. Those are two markets, and the enterprise one needs pages containing the constraint words: audit log, data residency, retention, single sign-on. See how to win the enterprise persona.

The work that applies to every category rather than to this one is written up separately: audit your documentation, write a quickstart an agent can follow, and how to measure install share.

Every bot protection service on this board

One page per product, with its install share, the per-agent split, and how often it was raised without being chosen.

Where these numbers come from

160 judged sessions in bot protection across 5 codebases, part of a published set of 5,292. Real coding agents at pinned versions, in sandboxes, inside realistic codebases, with a simulated project owner in the loop and a blind judge on every session. The full method is on one page: how we measured this.

Every bot protection run can be replayed on the board.

<!-- generated by scripts/write-data-pages.mjs -->

Common questions

How many codebases is this based on?

160 judged sessions across 5 realistic codebases. A category only runs on repositories where its seam is open, so coverage differs: some categories ran on more than ten codebases and some on two.

What bot protection service do coding agents choose?

Across 160 judged sessions, Cloudflare Turnstile was chosen most often, in 57% of runs. Vercel BotID was second with 11%. The result changes by agent and by who is asking.

Do Claude Code and Codex pick the same bot protection service?

Yes. All three agents we tested put Cloudflare Turnstile first in this category, which is unusual: they disagree in half of the categories we measured.

How often do agents build bot protection themselves instead of installing something?

In 11% of runs the agent wrote the code itself rather than adopting a product.

How can a vendor improve its position here?

Make the quickstart run when pasted, state the current version on the documentation page, use one name across product, package and import, write pages for the symptoms users describe rather than only the category name, and get into the repository through templates and framework integrations.

Which bot protection services do agents consider but never choose?

hCaptcha (raised in 126 sessions, chosen in none), Friendly Captcha (raised in 35 sessions, chosen in none), Cloud Armor (raised in 31 sessions, chosen in none). Being considered and not chosen is a different problem from being unknown, and it is usually fixable.

Where this comes from

Armature ran 5,292 judged sessions with Claude Code, Codex and Cursor inside 51 realistic codebases, and published every run. The numbers on this page come from that work.

Read next

All library pages