# PetalBot

What this client asked https://www.pathwren.workers.dev for, from that host's own request log.
Window: 2026-09-08 22:41:30Z to 2026-09-09 02:55:28Z UTC. Generated 2026-09-09.

## User-agent strings, exactly as they arrived

- `Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (HTML, like Gecko) Mobile Safari/537.36 (compatible; PetalBot;+https://webmaster.petalsearch.com/site/petalbot)` — 740 request(s), 148 address(es), 2026-09-09 02:24:00Z to 2026-09-09 02:55:28Z
- `Mozilla/5.0 (compatible;PetalBot;+https://webmaster.petalsearch.com/site/petalbot)` — 1 request(s), 1 address(es), 2026-09-08 22:41:30Z to 2026-09-08 22:41:30Z
- `Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; PetalBot;+https://webmaster.petalsearch.com/site/petalbot)` — 1 request(s), 1 address(es), 2026-09-09 02:20:02Z to 2026-09-09 02:20:02Z

- Requests: 742
- Distinct addresses (salted hashes, never published): 150
- Distinct paths: 742
- Visits (30-minute gap rule): 2
- Status codes: 200×742
- Accept headers: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8, text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
- Our classifier called it: crawler×742 (ours, from the user-agent)

## What it asked for, in order

1. `/robots.txt` — 2026-09-08 22:41:30Z — 200
2. `/sitemap.xml` — 2026-09-09 02:20:02Z — 200
3. `/trust` — 2026-09-09 02:24:00Z — 200
4. `/tools/whoami.html` — 2026-09-09 02:24:04Z — 200
5. `/tools/verify-crawler.html` — 2026-09-09 02:24:05Z — 200
6. `/tools/robots-lint.html` — 2026-09-09 02:24:06Z — 200
7. `/tools/verification-methods.html` — 2026-09-09 02:24:06Z — 200
8. `/tools/robots-allowed.html` — 2026-09-09 02:24:09Z — 200
9. `/tools/index.html` — 2026-09-09 02:24:10Z — 200
10. `/tools/example.html` — 2026-09-09 02:24:13Z — 200
11. `/tools/classify-ua.html` — 2026-09-09 02:24:14Z — 200
12. `/tools/ai-access.html` — 2026-09-09 02:24:15Z — 200
13. `/terms.html` — 2026-09-09 02:24:17Z — 200
14. `/status.html` — 2026-09-09 02:24:18Z — 200
15. `/snippet/python-classify.html` — 2026-09-09 02:24:21Z — 200
16. `/snippet/nginx-map.html` — 2026-09-09 02:24:21Z — 200
17. `/snippet/cloudflare-worker.html` — 2026-09-09 02:24:24Z — 200
18. `/snippet/caddy.html` — 2026-09-09 02:24:25Z — 200
19. `/snippet/apache-htaccess.html` — 2026-09-09 02:24:27Z — 200
20. `/services` — 2026-09-09 02:24:29Z — 200
21. `/security.html` — 2026-09-09 02:24:31Z — 200
22. `/register` — 2026-09-09 02:24:32Z — 200
23. `/snippet/index.html` — 2026-09-09 02:24:34Z — 200
24. `/reference` — 2026-09-09 02:24:34Z — 200
25. `/privacy.html` — 2026-09-09 02:24:36Z — 200
26. `/pricing` — 2026-09-09 02:24:37Z — 200
27. `/policy/maximum-ai-visibility.html` — 2026-09-09 02:24:39Z — 200
28. `/policy/index.html` — 2026-09-09 02:24:41Z — 200
29. `/policy/block-seo-tools.html` — 2026-09-09 02:24:43Z — 200
30. `/policy/block-disputed.html` — 2026-09-09 02:24:44Z — 200
31. `/policy/block-datasets.html` — 2026-09-09 02:24:46Z — 200
32. `/policy/block-all-ai.html` — 2026-09-09 02:24:48Z — 200
33. `/policy/block-ai-training.html` — 2026-09-09 02:24:51Z — 200
34. `/policy/allow-all.html` — 2026-09-09 02:24:52Z — 200
35. `/policy/allow-ai-search-only.html` — 2026-09-09 02:24:53Z — 200
36. `/packages.html` — 2026-09-09 02:24:55Z — 200
37. `/operator/you.html` — 2026-09-09 02:24:57Z — 200
38. `/operator/yandex.html` — 2026-09-09 02:24:58Z — 200
39. `/operator/webz.html` — 2026-09-09 02:25:00Z — 200
40. `/operator/timpi.html` — 2026-09-09 02:25:01Z — 200

## What it asked for that did not exist

Nothing.

## Verification

reverse DNSFrom the crawler record at /crawler/petalbot.html, which cites https://aspiegel.com/petalbot — one source for both pages.

## Ask this page a question, with one GET

A question about this page, answered by a call you can make right now — no key, no account, no JSON-RPC, nothing to assemble. The query string is already filled in with this page's own subject.

- **What is Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit…?**  
  `curl -s 'https://www.pathwren.workers.dev/tools/classify-ua?ua=Mozilla%2F5.0%20%28Linux%3B%20Android%207.0%3B%29%20AppleWebKit%2F537.36%20%28HTML%2C%20like%20Gecko%29%20Mobile%20Safari%2F537.36%20%28compatible%3B%20PetalBot%3B%2Bhttps%3A%2F%2Fwebmaster.petalsearch.com%2Fsite%2Fpetalbot%29&s=client-dossiers'`  
  This exact user-agent run through the catalogue: which crawler it is, who operates it, what the crawl is for, what blocking it costs — or an honest "not recognised" if it is nobody we know.

Every parameter above is a value the endpoint reads, not an address it visits: nothing is fetched on your behalf. Called without any parameter, each endpoint returns its own specification instead of an error.


## What it publishes about you

Not observed. We have not seen this client publish a grade, a listing or a record about this host anywhere, and we make no claim that it does or does not.

## Documentation it names

https://webmaster.petalsearch.com/site/petalbot

JSON: https://www.pathwren.workers.dev/bot/petalbot.json · all clients: https://www.pathwren.workers.dev/data/observed-clients.json
