Tools for agents that can only fetch a URL.
Many assistants can open a web page but cannot run code or send a POST request. These eight tools work with nothing more than a link.
Every response is JSON with a one-line answer field. Add &format=text to get only that sentence. Results that do not depend on the clock are cacheable, and nothing you send is stored.
Search BOZOS
Find the page or reference section that answers a question without downloading the whole index. Results are pointers: open the page before citing it.
Parameters
q- Search words (up to 200 characters).
limit- Maximum results, 1 to 20 (default 8).
Try it
- Does GPTBot feed training?
https://bozos.si/api/v1/search?q=GPTBot%20training - What does revision 317 mean?
https://bozos.si/api/v1/search?q=revision%20317 - Cost per success
https://bozos.si/api/v1/search?q=cost%20per%20success
Dataset changes
Keep a cached dataset current without downloading and diffing it. Every record carries a permalink such as /ai-crawlers.json#gptbot; add ?id=gptbot to the dataset URL to get that record alone.
Parameters
since- YYYY-MM-DD. Returns records added, changed, or removed strictly after this date.
dataset- Optional dataset ids or file names, comma-separated (default: all).
records- ids to omit record content; full by default.
Try it
- Everything changed after 19 Oct 2026
https://bozos.si/api/v1/changes?since=2026-10-19 - Just the ids, one dataset
https://bozos.si/api/v1/changes?since=2026-10-01&dataset=ai-crawlers.json&records=ids - One crawler record
https://bozos.si/ai-crawlers.json?id=gptbot
Does this robots.txt allow a crawler?
robots.txt matching has rules people and models often get wrong: one group per crawler, the longest matching rule wins, Allow wins a tie, * and $ are wildcards. This applies RFC 9309 exactly, for one crawler or every AI crawler in the directory.
Parameters
robots- The robots.txt text, URL-encoded. Nothing is fetched.
agent- A token such as GPTBot, a full user-agent string, or all (default).
path- The path or full URL to check (default /).
Try it
- Which AI crawlers may read /blog?
https://bozos.si/api/v1/robots-check?robots=User-agent%3A%20GPTBot%0ADisallow%3A%20%2F%0A%0AUser-agent%3A%20*%0AAllow%3A%20%2F&path=/blog - Longest match and $ anchor, for ClaudeBot
https://bozos.si/api/v1/robots-check?robots=User-agent%3A%20*%0ADisallow%3A%20%2Fprivate%2F%0AAllow%3A%20%2Fprivate%2Fpress%24&agent=ClaudeBot&path=/private/press
Which bot is this user agent?
Paste a User-Agent from a server log. You get the documented crawler it claims to be, its record and cite line, and how its operator lets you verify the claim, because user-agent strings are easy to fake.
Parameters
ua- The full User-Agent header value (up to 1,000 characters).
Try it
- A GPTBot user agent
https://bozos.si/api/v1/identify?ua=Mozilla%2F5.0%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko%3B%20compatible%3B%20GPTBot%2F1.2%3B%20%2Bhttps%3A%2F%2Fopenai.com%2Fgptbot) - An undocumented token
https://bozos.si/api/v1/identify?ua=Mozilla%2F5.0%20(compatible%3B%20Bytespider)
Time zones
Offsets and daylight-saving rules are easy to get wrong from memory, and a model's sense of 'now' is only as good as its context.
Parameters
tz- Comma-separated IANA zones to show (default UTC), up to 12.
at- An instant with Z or an offset, or a local time if from_tz is given. Omit for now.
from_tz- Interpret at as wall-clock time in this zone. Ambiguous and skipped times are flagged.
Try it
- Current time in Tokyo and London
https://bozos.si/api/v1/time?tz=Asia/Tokyo,Europe/London - 9am New York on 3 Nov 2026, elsewhere
https://bozos.si/api/v1/time?at=2026-11-03T09:00&from_tz=America/New_York&tz=Asia/Tokyo,Europe/London,UTC - A UTC instant in Sydney
https://bozos.si/api/v1/time?at=2026-12-31T23:30:00Z&tz=Australia/Sydney
Date arithmetic
Weekdays, month ends, leap years, and day counts are where calendar reasoning slips.
Parameters
date- YYYY-MM-DD (default: today, UTC).
add- A duration such as 45d, -3w, 2m, 1y, or 1y2m3d. Month arithmetic clamps to the month end.
to- A second date: returns days, weeks, and weekdays between them.
Try it
- What weekday is 25 Dec 2026?
https://bozos.si/api/v1/date?date=2026-12-25 - 90 days after 19 Oct 2026
https://bozos.si/api/v1/date?date=2026-10-19&add=90d - Days and weekdays until Christmas
https://bozos.si/api/v1/date?date=2026-10-19&to=2026-12-25 - One month after 31 Jan 2028
https://bozos.si/api/v1/date?date=2028-01-31&add=1m
Exact arithmetic
Floating point says 0.1 + 0.2 = 0.30000000000000004, and token-by-token arithmetic drifts on long numbers. This uses exact fractions.
Parameters
expr- An expression with + - * / ^ (integer exponents), parentheses, decimals, and e-notation. URL-encode + as %2B.
digits- Decimal places to show for non-terminating results (default 50, max 1000).
Try it
- 0.1 + 0.2
https://bozos.si/api/v1/calc?expr=0.1%2B0.2 - 1/7 as a repeating decimal
https://bozos.si/api/v1/calc?expr=1/7 - 2 to the 100th
https://bozos.si/api/v1/calc?expr=2^100 - Compound interest factor
https://bozos.si/api/v1/calc?expr=(1%2B0.05/12)^120&digits=20
Counting letters and words
Models see tokens, not letters, so 'how many r's in strawberry' is genuinely hard without a tool.
Parameters
text- The text to measure (up to 10,000 characters).
char- A letter or substring to count. Case-insensitive unless case=sensitive.
Try it
- r's in strawberry
https://bozos.si/api/v1/count?text=strawberry&char=r - Characters in an emoji string
https://bozos.si/api/v1/count?text=%F0%9F%91%8D%F0%9F%8F%BD%20ok - Words in a sentence
https://bozos.si/api/v1/count?text=The%20quick%20brown%20fox
Every POST tool, by URL
Preflight, verify, discovery audit, retrieval plan, contact drafter, text stats, and canonical JSON also answer GET. Put the JSON body in json (URL-encoded) or b64 (base64url). Limits and responses are the same as for POST. URLs over about 8 KB may be cut off by your client, so POST large inputs such as a discovery audit of a whole page.
Parameters
json- The request body, URL-encoded.
b64- The request body as base64url, if your client mangles JSON in URLs.
Try it
- Measure a sentence
https://bozos.si/api/v1/text-stats?json=%7B%22text%22%3A%22Evidence%20before%20inference.%22%7D - Canonicalize JSON
https://bozos.si/api/v1/canonicalize?json=%7B%22value%22%3A%7B%22z%22%3A2%2C%22a%22%3A1%7D%7D - Preflight an incomplete action (fails closed)
https://bozos.si/api/v1/preflight?json=%7B%22action%22%3A%7B%22tool%22%3A%22email.send%22%2C%22summary%22%3A%22Send%20the%20weekly%20report%20to%20the%20team%22%7D%7D
robots.txt for AI crawlers, by URL.
/api/v1/robots?training=block&search=allow&user_fetch=allow returns a ready robots.txt naming every documented AI crawler. See the builder and the crawler directory.
Need a tool that isn't here? Tell us: kind data-request.