Back to tools

Web

Get started by giving this to your agent
$Set up https://monid.ai/SKILL.md, and then use Monid to show me what I can do with Web.
No endpoints here yet
Check back soon — the catalog grows weekly.

Try it with your agents

01
Deep-research a topic on the live web
Set up https://monid.ai/SKILL.md, and then use Monid to run a broad web search on solid-state battery startups, extract the top sources as clean markdown, and synthesize a sourced summary.

How-to guides

How do I read any web page as clean text?free route first, escalate on a thin answer
Step 1

Set up Monid.

One line. It installs the CLI and asks for an API key from app.monid.ai. New accounts start with $1.00.

Say this to your agent
>set up https://monid.ai/SKILL.md
Step 2

Pick what you need. Say it in one sentence.

Click a job. Paste the sentence, fill in the brackets.

One URL as clean markdown

Say this to your agent
>read <url> as markdown with context.dev on monid and keep the code blocks, then count the fenced blocks against the page and tell me the number. do not judge it by the character count: link syntax and page chrome are included by default and can make the output larger than the visible text
What the agent runsdone
context.dev /web/scrape/markdown$0.0009
octen /extract$0.001 / result
mrscraper /scrape/markdown · not run$0.001 / result
firecrawl /scrape · not run$0.0002
api.strale.io /x402/url-to-markdown$0.0594
What came backfour real pages · 2026-09-24
Same docs page, two providerscharacters returned
$0.000915,312
$0.05949,948
the cheap one15,312 characters with all three code samples intact, plus the page metadata
the 66x one9,948 characters and every code fence stripped to prose
what that meanson a documentation page, the expensive extractor lost exactly the part you came for
count blocks, not characterson a second page all 32 code blocks came back and twenty sampled ones were verbatim, while the character count was 74% larger than the visible text because link markup and chrome are on by default and made up two fifths of the output
and the length field is bytesthe endpoint's own content length is counted in utf-8 bytes rather than characters, so it will not match a character count either
the tieon a news article the cheap one and a near-free one returned the same text, neither blocked
$0.0009per page
Open this guide on its own page →
How do I read a page that blocks a plain fetch?a real browser session, and what it costs per step
Step 1

Set up Monid.

One line. It installs the CLI and asks for an API key from app.monid.ai. New accounts start with $1.00.

Say this to your agent
>set up https://monid.ai/SKILL.md
Step 2

Pick what you need. Say it in one sentence.

Click a job. Paste the sentence, fill in the brackets.

Read a page that JavaScript builds

Say this to your agent
>read <url> with tinyfish on monid and give me the items on it. it is a page where nothing is in the html until javascript runs, so tell me how many items came back with real values in them. do not judge it by the byte count or by the status: judge it by whether the fields are populated
What the agent runsdone
tinyfish /fetch$0.00
context.dev /web/extract$0.009
context.dev /web/scrape/markdown$0.0009
x402.browserbase.com /fetch$0.011
What came backone JS-built page · 2026-09-25
Same url, same minute, four routesitems actually rendered, of ten
tinyfish · $0.0010
context.dev extract · $0.00910, typed
plain curl · $0.000
browserbase · $0.0110
the comparisonon one page the $0.011 route and plain curl returned the same 5,806 bytes and a string equality check said true; on another the bytes differed by 367 and nothing had rendered either way
what that meansthe script that builds the page was still sitting there unexecuted, so an agent that strips tags and reads text gets nothing back
the free onereturned all ten items as 1,080 bytes of clean markdown, which is the whole job, for $0.0000
do not diff the bytesthat 367-byte gap was a CDN performance beacon injected because the request looked like a browser, so on any fronted site the byte check reports a difference that means nothing
the rulecount the populated fields. Both routes answered HTTP 200 on both pages, and on two different targets the paid one rendered 0 of 12 and 0 of 10
$0.00ten items, rendered
Open this guide on its own page →