{"uid":"cap_MrCljwTei0a4jM7AQ-bI2","slug":"x402-deployer-x402-deployer-workers-dev-32e6749e","name":"User-Agent Parser & Browser/OS/Bot Detector","description":"User-Agent parser / UA classifier / browser detection / OS detection / bot detection / AI crawler identifier (GPTBot, ClaudeBot, PerplexityBot). Pure-local regex parser — detects browser (Chrome, Firefox, Safari, Edge, Opera, Vivaldi, Samsung), OS (Windows, macOS, iOS, Android, Linux, ChromeOS) with version, device type (desktop / mobile / tablet / bot), and identifies 32+ specific bots/crawlers. No upstream call.","url":"https://x402-deployer.x402-deployer.workers.dev/user-agent-parse","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"required":["user_agent"],"properties":{"user_agent":{"type":"string","description":"Raw User-Agent header string. Up to 2000 chars."}}},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"os":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}}},"bot":{"type":"null"},"device":{"type":"object","properties":{"type":{"type":"string"}}},"is_bot":{"type":"boolean"},"source":{"type":"string"},"browser":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}}},"user_agent":{"type":"string"}}}}}}},"responseSchema":null,"example":{"request":{"user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"},"response":{"os":{"name":"Windows","version":"10.0"},"bot":null,"device":{"type":"desktop"},"is_bot":false,"source":"DIY regex parser","browser":{"name":"Chrome","version":"120.0.0.0"},"user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}},"exampleRequest":{"user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"},"tags":["x402"],"displayCostAmount":"0.001","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_XdzdbVHlBWdc6BLkW8ZKh","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Parses a User-Agent string into browser, OS, device type, and bot/crawler identity using pure local regex — no upstream calls","exampleAgentPrompt":"Parse this User-Agent string for me and tell me the browser, OS, device type, and whether it's a known bot or AI crawler: 'Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36'","exampleUseCases":null,"resultDescription":"Returns structured JSON with browser name and version, OS name and version, device type (desktop/mobile/tablet/bot), and if a bot, the specific bot/crawler identity (e.g. GPTBot, ClaudeBot, PerplexityBot) from a library of 32+ known crawlers","failureModes":["Missing or empty user-agent string — returns error or null fields","Unrecognized or highly obscure UA string — returns 'unknown' for some fields","Malformed JSON request body — returns 400 error","Partial match where bot is not in the 32+ known list — device_type may say 'bot' but bot_name may be null"],"whenToPreferThis":"Choose this endpoint when you need fast, offline-style UA parsing with no external API dependency. Ideal for classifying incoming HTTP requests, auditing logs for AI crawler traffic, or filtering bots from analytics — especially when you need to distinguish GPTBot, ClaudeBot, or PerplexityBot from regular browsers. Prefer over full-stack analytics platforms when you just need lightweight, single-string parsing.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T06:47:22.870Z","isFirstParty":false}