01
Whole pages are the wrong unit
Cookie banners, sidebars, footers and menus travel with the paragraph that answers the question. You pay to fetch it, and your context window pays to hold it.
Retrieval API
Seekyo takes a question and a starting point on the web, and returns the passages that answer it. Every item carries the page it came from and the block it was taken out of, so the sentence your agent quotes is the sentence you can check.
{
"query": "How do I read a file line
by line in Python?",
"url": "https://docs.python.org/3/tutorial/",
"maxPages": 4,
"maxCost": 0.05
}
{
"result": {
"evidence": [
{
"text": "For reading lines from a file,
you can loop over the file object.",
"url": "https://docs.python.org/3/
tutorial/inputoutput.html",
"blockIds": [".../inputoutput.html#b062"],
"relevance": 0.97,
"answerLikelihood": 0.97
}
],
"conflicts": [],
"stopReason": "sufficient-evidence"
},
"billing": {
"chargedUsd": 0.020177,
"balanceUsd": 4.979823
}
}
The problem
Handing an agent a folder of pages pushes the hard part downstream. It still has to find the sentence that matters, work out whether it is current, and hope it can point at where it came from. Most of what it reads is navigation.
01
Cookie banners, sidebars, footers and menus travel with the paragraph that answers the question. You pay to fetch it, and your context window pays to hold it.
02
If the answer cannot be traced to a page and a passage, nobody can verify it. Quoting the wrong sentence confidently is worse than finding nothing at all.
03
Follow every link and a one line question becomes unbounded work. Something has to decide when enough has been read, and be able to say why it stopped there.
How it works
Fetching, parsing, counting and normalising are ordinary code, because they are exactly reproducible. A model is asked only the narrow questions that genuinely need judgement, and never asked to do arithmetic.
Plain HTTP, because most documentation is static. A page that turns out to be a JavaScript shell is marked as one rather than mistaken for an empty page, and assets, scripts and stylesheets are never fetched at all.
Each page is scored for whether it can answer the question, each link for whether it is worth following, and each passage for whether it answers anything.
Candidate passages are re-ranked together in one final pass, then compared against each other, so sources that disagree land in their own list instead of being averaged away.
The page budget, the depth ceiling, the cost ceiling and evidence sufficiency each end a run, and the response names the one that did.
It stops when it has enough.
Pricing
No subscription and no seat fee. A request is priced from what it actually did: the pages it fetched, the pages it processed, and the model work needed to judge them.
01
$5 of credit comes with a key, so a first request costs you nothing. No card needed to find out whether it works on your sources.
02
That is a typical request over a documentation site: two or three pages read, one answer returned. Long crawls cost more, and you can see the charge on every response.
03
You set a ceiling with maxCost per request. Work will not start unless the balance covers it, so an account cannot end up in debt from a runaway crawl.
Amounts are US dollars, billed to the micro-dollar, and appear on every response as
billing.chargedUsd next to the remaining balance. Current defaults are in the
docs.
Access
Seekyo is a private alpha. Tell us what you are trying to retrieve and we will send a key and some credit to try it on your own sources.
Or write to aipinto.dev@gmail.com.