A blog about trust signals, deterministic extraction and paying for data per call. Mostly lessons from watching agents get the right text and draw the wrong conclusion.
Newest first. Every claim about the product is checkable against the live API.
A parse is a reduction. The page arrives as HTML; the agent receives markdown, a title, and a block of signals. Between those two states sits a fixed list of decisions about what to delete,…
Litmus returns twenty signal groups in the same response body as the markdown, and hedge_language is the one most likely to be read as a verdict, because it looks like one. It has a label. T…
Litmus returns twenty signal groups in the same response body as the markdown. Two of them look like verdicts on the page: boilerplate_ratio and content_density. Both names promise more than…
Point a client generator at https://nanoparse.app/openapi.json and it emits one method: a POST /fetch that returns a job id. The NanoParse endpoint behind that method answers five routes, ha…
A parse endpoint answers "no" more often than it answers "yes", and the answer a client gets when it is refused is the most-read document the service publishes. Most services spend that mome…
Every scraping product markets a success rate. Almost none publishes its own traffic, because the honest version of that table usually says the visitors were machines. This is thirty days of…
A parse returns twenty signal groups. One of them, structural_trust_score, is the group most often read as a verdict and the easiest to misread: it holds a three-value level and a list of re…
A parse endpoint answers "no" more ways than it answers "yes". Before a browser opens, POST https://nanoparse.app/fetch can refuse a request on shape, on policy, on quota, or on the caller's…
A parse returns Markdown. Beside it sit twenty signal groups, and six of them answer a different question than "what does this page say": what is this document, who stands behind it, and did…
What arrives before the parse is the question a caller can answer for free. A parse is a purchase. The decision in front of every call is not whether a page is interesting, it is whether the…
The first request for a page is a decision about money. The second request is a decision made with less information than a client would like: whether the first one is still running, whether…
An agent that meets a new API has two questions to answer before it commits a wallet: what does this cost, and what does it do. Both are usually answered in HTML written for a human with a b…
An agent that asks for a web page does not receive the page. It receives Markdown, a title, and a set of signals — and all three are the output of a chain of decisions about what to keep. Th…
An agent that meets https://nanoparse.app/fetch is one POST away from a charge. After ten free parses, that POST answers 402 and the caller either signs a payment or walks away. Everything n…
A parse returns Markdown, page metadata, and fifteen signals. The Markdown is the page. The signals are its vitals: who published it, when, how dense the prose is, whether it reads like a re…
Every scraping product markets a success rate. Almost none publishes one with the failures attached. So here is a run with all of them: two hundred URLs, parsed through the live endpoint on…
A parse endpoint does not hand back a page. It hands back a job id. The page appears later at a status URL, and the storage holding it is built to be read exactly once — the read is what del…
Most endpoints that want money answer in a way software can't use. A login redirect. A CAPTCHA. A pricing page written for a human with a credit card. The agent gets nothing it can act on, s…
Every agent that reads the web runs the same pipeline: fetch text, fold it into context, summarize when the context window fills, continue. Almost nobody checks what travels through the midd…
You hired an AI agent to handle competitive research. It's smart. It knows your industry. It can write a better battlecard than most junior analysts. But ask it to "check what our top three…
Today we're shipping something new. It's not a feature. It's a layer. Litmus — every NanoParse response now includes structured intelligence about the page your agent just read. Source autho…
Yesterday we defined what "agent-native" means. Today we go under the hood of the bridge that makes it real: the NanoParse MCP server. What Makes MCP Different MCP — the Model Context Protoc…
Yesterday we laid out the problem: the web is agent-illiterate. Four walls — JavaScript rendering, API keys, CAPTCHAs, and human-centric payments — block AI agents from accessing the largest…
Your AI agent is smart. It can write code, reason about architecture, generate SQL queries, and debug stack traces. But ask it to read a documentation page and it falls apart. Not because it…
Then test one you don't. The difference in the payload is the pitch.