BotID

BotID

Last updated November 20, 2025

BotID is available on all plans

Vercel BotID is an invisible CAPTCHA that protects against sophisticated bots without showing visible challenges or requiring user action. It is a client-side challenge which uses machine learning to distinguish between humans and bots. It adds a protection layer to high-value routes, such as checkouts, signups, and APIs, that are common targets for bots imitating real users.

Sophisticated bots are designed to closely mimic real user behavior. They can run JavaScript, solve CAPTCHAs, and navigate interfaces in ways that closely resemble humans. Tools like Playwright and Puppeteer automate these sessions, simulating actions from page load to form submission. These bots aim to blend in with normal traffic, making detection difficult and mitigation costly.

BotID validates clients with these steps:

  1. A client-side challenge is sent to the browser.
  2. The browser solves the challenge and includes the solution in requests to your high-value endpoint.
  3. Your server-side code calls
  4. Vercel validates the integrity of the challenge response.
  5. Deep Analysis uses a machine learning model to analyze the client side signals, if configured.
  6. The result of the analysis is returned to the server-side code where the application can take action.

BotID can be configured to run at one of two levels, Basic or Deep Analysis. Deep Analysis runs only after the Basic validation has passed.

The Basic level validates the integrity and correctness of the challenge response, catching many less sophisticated bots. It is provided free of charge for all plans.

BotID includes Deep Analysis, powered by Kasada. Kasada is a leading bot protection provider trusted by Fortune 500 companies and global enterprises. It delivers advanced bot detection and anti-fraud capabilities while respecting user privacy and adapting to new bot behaviors in real-time.

Deep Analysis uses machine learning to analyze thousands of client side signals to further detect bots, in addition to the basic validation.

Deep Analysis provides real-time protection against:

  • Automated attacks: Shield your application from credential stuffing, brute force attacks, and other automated threats
  • Data scraping: Prevent unauthorized data extraction and content theft
  • API abuse: Protect your endpoints from excessive automated requests
  • Spam and fraud: Block malicious bots while allowing legitimate traffic through
  • Expensive resources: Prevent bots from consuming expensive infrastructure, bandwidth, compute, or inventory

Deep Analysis counters the most advanced bots by:

  1. Silently collecting thousands of signals that distinguish human users from bots
  2. Changing detection methods on every page load to prevent reverse engineering and sophisticated bypasses
  3. Streaming attack data to a global machine learning system that improves protection for all customers
ModePlans AvailablePrice
BasicAll PlansFree
Deep AnalysisPro and Enterprise$1/1000 Deep Analysis calls

Calling the function in your code triggers BotID Deep Analysis charges. Passive page views or requests that don't invoke the function are not charged.

You can add a bypass rule to the Vercel WAF to let through traffic that would have otherwise been detected as a bot by BotID.

You can view BotID checks by selecting BotID on the firewall traffic dropdown filter of the Firewall tab of a project.

Metrics are also available in Observability Plus.


Was this helpful?

supported.