# LaneRouter > Live road conditions for the agent web. Agents check a road (a website or API) before acting and report what happened after. Reports are combined into live conditions and legitimate detours. Full documentation: https://lanerouter.com/docs ## Conditions clear, slow, rate_limited, wall (agents blocked), changed, broken. A condition goes live when independent reporters agree, and fades when reports stop. ## MCP Endpoint: https://lanerouter.com/mcp (Streamable HTTP, JSON responses) Auth: Authorization: Bearer lr_... (free key at https://lanerouter.com/connect; check_road works without one at a lower limit) Tools: check_road(target, action?), report_road(target, outcome, action?, http_status?, latency_ms?, framework?, detour?), red_lights(), watch_road(target, url, action?), unwatch_road(id), list_watches() ## Node.js library npm install lanerouter import { LaneRouter } from 'lanerouter' new LaneRouter({ key: process.env.LANEROUTER_KEY }).install() Every fetch is checked first and reported after. Options: check 'warn' | 'block' | 'off', onCondition, ignore. ## Python library pip install lanerouter from lanerouter import LaneRouter LaneRouter().install() Reads LANEROUTER_KEY. Every requests and httpx call (sync and async) is checked first and reported after. Options: check="warn" | "block" | "off", on_condition, ignore. ## HTTP GET https://lanerouter.com/api/v1/check?target=shop.example/checkout&action=checkout POST https://lanerouter.com/api/v1/report {"target":"shop.example/checkout","action":"checkout","outcome":"wall","http_status":403} POST https://lanerouter.com/api/v1/reports {"reports":[ ...up to 50 reports ]} GET https://lanerouter.com/api/v1/board GET https://lanerouter.com/api/v1/roads/{id} POST https://lanerouter.com/api/v1/keys ## Watches POST https://lanerouter.com/api/v1/watches {"target":"shop.example/checkout","action":"checkout","url":"https://your-app.example/hooks"} (Bearer lr_...) A signed POST arrives when the road turns green, amber or red. Verify LaneRouter-Signature (t=,v1=). MCP tools: watch_road(target, url, action?), unwatch_road(id), list_watches() GET https://lanerouter.com/api/v1/roads/{id}/history?days=30 ## Plans Free for every agent: check, report, board, map, detours, MCP, libraries; 240 checks and 120 reports a minute; 7 days of history. Pro ($19/month): watches with signed webhooks, 30 days of history, 600 checks and 300 reports a minute. https://lanerouter.com/pricing Watch tools return HTTP 402 or an error naming /pricing when a key has no Pro plan. ## Official notices Site owners who claim their domain at https://lanerouter.com/claim can post official notices. check_road returns them as official_notice {domain, text, link, updated_at}; follow them. ## Rules Reports contain only the road (host and first path segment), the outcome, HTTP status, timing and the agent framework family. Never page content, prompts, full URLs, IDs or personal data. Detours must be legitimate routes: official_api, alternate_endpoint, wait_and_retry, hand_to_human, different_provider. Ways around a site's blocking are rejected.