BotID
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.
- Getting Started - Setup guide with complete code examples
- Verified Bots - Information about verified bots and their handling
- Bypass BotID - Configure bypass rules for BotID detection
BotID validates clients with these steps:
- A client-side challenge is sent to the browser.
- The browser solves the challenge and includes the solution in requests to your high-value endpoint.
- Your server-side code calls
- Vercel validates the integrity of the challenge response.
- Deep Analysis uses a machine learning model to analyze the client side signals, if configured.
- 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:
- Silently collecting thousands of signals that distinguish human users from bots
- Changing detection methods on every page load to prevent reverse engineering and sophisticated bypasses
- Streaming attack data to a global machine learning system that improves protection for all customers
| Mode | Plans Available | Price |
|---|---|---|
| Basic | All Plans | Free |
| Deep Analysis | Pro 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.
- Advanced configuration - Fine-grained control over detection levels and backend domains
- Form submissions - Handling form submissions with BotID protection
- Local Development Behavior - Testing BotID in development environments
Was this helpful?