Ison Search.
/

Crawler

That was our crawler.

IsonSearchBot builds the index behind Ison Search, an Indonesian-language search engine. It reads pages, links back to them, and trains nothing on what it reads.

You are probably here because of this line in your access log:

203.0.113.7 - - [15/Sep/2026:07:14:22 +0700] "GET /artikel/2026 HTTP/1.1" 200 41822 "IsonSearchBot/1.0 (+https://search.isonai.com/bot)"

Control

Stop it

One line in robots.txt. It takes effect the next time we read the file.

User-agent: IsonSearchBot
Disallow: /

Already indexed? Email hello@epithre.com with the subject IsonSearch removal: [domain]. Removed within 24 hours, and the domain goes on a permanent exclusion list.

Verify

Check that it is really us

A User-Agent string is a claim, not proof — anyone can type ours. Match the source address of the request against the list we publish:

https://search.isonai.com/bot/ips.json

Generated from the running crawl fleet, served as JSON. Seeing IsonSearchBot from an address outside that list? Tell us and we will stop it.

Behaviour

What it does, and what it never does

RuleWhat we do
robots.txtHonored in full. Disallow, Crawl-delay and Sitemap are read and applied.
Request rateAt most one request every two seconds per host — 0.5 per second — and slower where Crawl-delay asks. Aggressive backoff on 429 and 5xx.
ScopeIndonesian content: pages on .id, pages detected as Indonesian, and pages linked from Indonesian-language sources.
JavaScriptNot executed during routine crawling. Static HTML and linked files only.
Never touchedNo forms submitted, no authentication attempted, nothing behind a paywall.
Model trainingNone. What we crawl builds the search index and grounds cited answers that link back to the original page.

Verification

Why a list, and not reverse DNS

Our egress addresses resolve to names held by the network operator, not by us, so a forward-confirmed reverse lookup could prove nothing. The published list is the check we can actually stand behind.

One node reaches the internet through a shared mobile network, and we deliberately leave that address out. Publishing it would ask you to allow a pool belonging to thousands of unrelated subscribers — so that node is not used to crawl sites that have allowlisted us.