{"schema_version":"newruntime-reader-dossiers-v1","type":"reader_dossier","id":"reader:petalbot","slug":"petalbot","name":"PetalBot","kind":"search","kind_label":"Search engines","operator":{"name":"Huawei (Petal Search)","url":"https://webmaster.petalsearch.com/"},"docs_url":null,"robots_tokens":["PetalBot"],"purpose":"Huawei's crawler for the Petal Search engine; directories also say it supplies content recommendations for Huawei Assistant and other Huawei AI services. It crawls mostly with a mobile user agent that looks like Chrome on Android 7.0 and names itself only at the end ('compatible; PetalBot'). Official page (webmaster.petalsearch.com/site/petalbot) is JS-only and could not be read.","feeds":["search_index"],"respects_robots":"unknown","robots_note":"Third-party directories list it as robots.txt-compliant, but some report non-compliance; operator page not readable.","verification":{"method":"reverse_dns","url":null},"why_it_matters":{"text":"Our busiest single search crawler since 1 October, and a heavy reader of Markdown record twins. It indexes for Huawei-device users (Petal Search, Huawei Assistant), an audience we otherwise do not reach.","kind":"new_runtime_interpretation"},"confidence":"medium","researched_at":"2026-10-23","sources":["https://knownagents.com/agents/petalbot","https://webmaster.petalsearch.com/site/petalbot","https://chrisleverseo.com/user-agents/petalbot/"],"icon_url":"https://newruntime.com/readers/icons/petalsearch.png","matching":{"aliases":["petalbot"],"rule":"Reduce each agent_days label to a token: for labels starting with Mozilla/ take the product after 'compatible;', else a versioned crawler token such as 'FooBot/1.0' (a truncated 'Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile' prefix logged before 23 Oct 2026 is PetalBot; anything else is unidentified-android, unidentified-linux-chrome or unidentified-browser); otherwise take the text before the first '/', '(' or ';' and drop a trailing ' token probe'. Lowercase it. A dossier owns the tokens in its aliases.","log_note":"Snapshots before 23 Oct 2026 cut its mobile user agent at 80 characters, before the product token, and logged it as 'Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (HTML, like Gecko) Mobile S…' (other bot); those history rows count here. Newer snapshots log it as PetalBot, a search crawler."},"observed_baseline":{"as_of":"2026-10-23T08:01:01.990Z","window_first_day":"2026-07-23","window_last_day":"2026-10-23","observed_days":93,"note":"Refreshed daily in production from the live aggregates (dated by as_of). For current numbers aggregate live_sources.history agent_days by matching.aliases.","total_requests":5883,"first_seen":"2026-09-23T23:25:07.396Z","last_seen":"2026-10-23T07:58:57.373Z","days_active":24,"recency":"regular","categories":["other_bot"],"label_variants":4,"journeys":null},"identity_note":"A family name is what a client claims in its user agent. It is verified only when its request came from the operator's published IP ranges or passed forward-confirmed reverse DNS, as reported per family in /crawler-journeys.json. Anyone can claim any name.","privacy":{"scope":"family-level aggregates only","ip_addresses":"not_output","raw_user_agents":"not_output (labels are sanitized; URLs inside them are redacted)","visitor_ids":"not_output","query_strings":"not_output"},"live_sources":{"history":"https://newruntime.com/bot-traffic-history.json","latest":"https://newruntime.com/bot-traffic-latest.json","machine_consumption":"https://newruntime.com/machine-consumption.json","crawler_journeys":"https://newruntime.com/crawler-journeys.json"},"routes":{"html":"https://newruntime.com/readers/petalbot/","markdown":"https://newruntime.com/readers/petalbot.md","json":"https://newruntime.com/readers/petalbot.json","index":"https://newruntime.com/readers.json","index_html":"https://newruntime.com/readers/"}}
