# Botscent

> Open-source library that tells a website whether an AI agent is browsing it and identifies which agent.

Botscent is an MIT-licensed library built by Nalin Bhardwaj that tells a site whether an AI agent, rather than a person, is browsing it, and names the agent when the evidence shows which one. It has a server half and a roughly 5 KB page script, and both return the same verdict object.

## What It Is

Botscent is agent-detection tooling for website owners. It targets AI agents that use a browser on someone's behalf, such as Claude for Chrome, ChatGPT's agent, Codex, Muse, Manus, Devin and Grok Bot. It also detects crawlers, fetchers and HTTP clients that declare who they are. The verdict has the shape `{ type, agent_name?, reasons }`. A "human" result means only that no agent evidence was found, not that a person is present.

## How Detection Works

The server half reads the headers of a request at the server or edge, in TypeScript or Python. It checks Web Bot Auth signatures against published keys, user-agent tokens, or the host's verified-bot field. The page half looks for marks left by agent browsers and extensions: the automation flag, the shape of cloud browsers, drawn markers, and input arriving while the page is hidden. The docs say the page script makes no network requests and sets no cookies or storage. Most sites install both halves, since agents working inside a person's own browser show themselves only to the page half.

## Using the Verdict

Botscent does not block anything. Your code decides whether to block, adapt or log. The docs suggest logging verdicts for a week first. Only the server's verdict together with `isVerified` should be used for access decisions, because names can be spoofed and page results can be faked. The docs also say it does not detect automation built to look like a person. A `npx botscent check` command verifies an install.

## Features
- Detects AI agents browsing a site and names which agent
- Server half reads request headers, Web Bot Auth signatures and user-agent tokens
- Page half script of about 5 KB gzipped with 0 dependencies
- Unified verdict object with type, agent_name and reasons
- No network requests, cookies or storage from the page script
- Server half available in TypeScript or Python
- Install verification via npx botscent check
- Detects declared crawlers, fetchers and HTTP clients

## Integrations
Claude for Chrome, ChatGPT for Chrome, Codex, Cursor, Manus, Devin, Muse, Grok Bot

## Platforms
LINUX, WEB, DEVELOPER_SDK, CLI

## Pricing
Open Source

## Links
- Website: https://botscent.nibnalin.me
- Documentation: https://botscent.nibnalin.me/docs
- Repository: https://github.com/nalinbhardwaj/botscent
- EveryDev.ai: https://www.everydev.ai/tools/botscent
