No endpoints here yet
Check back soon — the catalog grows weekly.
How-to guides
Which model should I use?name the board, because two boards crown two models
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.
What the coding board says today
Say this to your agent
>get the lmarena code leaderboard from monid and give me the top ten with their ratings and vote counts. label it as crowd elo on coding tasks and tell me today's date, because the payload has no timestamp in it
What the agent runsdone
What came backone pull · 2026-09-25
Code Arena rating, pulled 2026-09-25crowd Elo on coding tasks
1st · claude-opus-5.5-max1826.7
2nd · gpt-6-astra-max1791.7
134th · devstral-medium1075.4
what this iscrowd Elo from head-to-head votes on coding prompts, run by LMArena, as it stood on 2026-09-25
what it is nota measurement of your task; the prompts are theirs, the voters are theirs, and neither is your codebase
the spread751 rating points between first and last across 134 models, which is a real gap, unlike the gaps at the top
the missing fieldno timestamp anywhere in the payload, so the pull date has to be recorded by you, not read off the response
$0.01134 models, one call
When two boards crown two models
Say this to your agent
>search the lmarena text leaderboard for <lab> on monid, passing category explicitly, and give me every entry with its rating and its rank interval. if the intervals overlap, say so instead of calling one of them better
What the agent runsdone
What came backone pull · 2026-09-25
Text Arena, top two, same daycrowd Elo on chat
claude-fable-5-high1505.68
claude-opus-4-6-high1504.56
the disagreementthe same provider's code board and chat board, pulled the same day, put two different models from the same lab at number one
the gap at the top1.12 rating points between first and second, with the rank intervals of the top seven all reading 1 to 7, so the order is not distinguishable
the $0.10 controlwe paid for the full table to check the cheap search: 402 entries, 31 from that lab, exactly the same model keys the $0.01 call returned. Ten times cheaper, nothing lost
pass category anywaythe field has no enum and silently defaults to text, so asking for the code arena and forgetting it returns chat numbers labelled as code. A typo returns an empty success at full price
$0.01seven rows from one lab
What a task actually costs, across every model
Say this to your agent
>get cost per task from artificial analysis on monid for the whole default set, then show me cost against the intelligence index and drop any row whose cost breakdown is all zeros
What the agent runsdone
artificial-analysis /get_cost_per_task$0.05
artificial-analysis /get_model_cost_per_task · not run$0.10
artificial-analysis /get_models_list · not run$0.02
artificial-analysis /get_model_detail$0.01What came backone pull · 2026-09-25
Cost per task against the index, pulled 2026-09-25US dollars per task · index score
claude-fable-5$8.746 · 49.6
claude-opus-5-5$5.982 · 57.6
gpt-6-astra$3.258 · 52.7
gpt-6-astra-xhigh$2.309 · 52.4
mimo-v2-6-pro$0.133 · 46.3
gpt-6-luna-low$0.0045 · 20.9
the crossingthe most expensive row in the 157 is not the highest-scoring one; a model at two thirds the cost scores eight index points above it
the cheap endone model costs $0.0045 a task at an index of 20.9, which is the best score per dollar in the set and nowhere near the best score
the endpoint that took the moneythe per-model detail call billed $0.01 and returned only the slug, twice, on two different models
never sum the breakdownits five components add up 67% above the total they belong to, because a cache hit in that list is a saving and not a charge; quote cost_per_task, never a reconstruction
$0.05157 models, one call
Same weights, five different bills
Say this to your agent
>get the providers for <open model> from artificial analysis on monid and give me price per million in and out, median output speed and median time to first token for each host. flag any host that is missing a performance field instead of treating it as zero
What the agent runsdone
artificial-analysis /get_model_providers$0.01
artificial-analysis /search_models$0.01
artificial-analysis /get_llm_providers_leaderboard$0.01
artificial-analysis /get_hardware_benchmarks · not run$0.03What came backone pull · 2026-09-25
One open-weight model, five hostsUS dollars per 1M input tokens
GMI · speed not reported$0.348
Xiaomi · 46.9 tok/s$0.435
Novita · 43.5 tok/s$0.522
DeepInfra · 37.3 tok/s$1.000
Zyphra · 80.5 tok/s$1.000
the spread3x on input price and 2.2x on output speed for identical weights, all from one $0.01 call
cheapest is not fastesttwo hosts charge exactly the same and one is more than twice as fast, with a time to first token 2.3x lower
the missing fieldsthe cheapest host reports real prices and no speed numbers at all, so it can be priced and not timed from this response
the failurethe aisle's provider leaderboard 502'd twice and billed $0.00 both times, so this call is the route that works today
$0.01five hosts, one call
Score your own rows instead of trusting a board
Say this to your agent
>judge these rows with typesafe on monid, all of them in one call, and send the model field explicitly even though the schema says it has a default. give me the score and the probability distribution per row
What the agent runsdone
typesafe /systemone$0.042 / 1M input
artificial-analysis /get_cost_per_task$0.05What came backone pull · 2026-09-25
A five-row judge batchscore out of 3, against hand-written quality
row 1 · deliberately poor0.26
row 21.86
row 31.92
row 42.95
row 5 · deliberately strong2.99
the price1,342 input tokens for the whole batch, 56 micro-dollars, which is $0.0000112 a row
why batching winsonly input tokens bill and the shared state is ingested once, so the per-row cost falls as the batch grows
what it showedthe scores rose in step with the quality we wrote into the rows, which is the check worth running before you trust any judge
two schema trapsthe model field is documented with a default and omitting it 422s every time; and the scale is zero-indexed, so a four-level rubric scores 0 to 3 and a 2.99 is nearly perfect, not a 75%
$0.000056five rows, one call
Embed a corpus for a hundredth of a cent
Say this to your agent
>embed these strings with octen on monid with model set to octen-embedding-0.6b, and give me the input token count. work the cost out from those tokens and the rate, because the run reports $0.00 for amounts this small
What the agent runsdone
typesafe /systemone$0.042 / 1M inputWhat came backone pull · 2026-09-25
name the size exactlythe field defaults to the 4b model at four times the rate, and "the 0.6b size" is not a value the API takes; the literal enum is octen-embedding-0.6b and nothing warns you
per item$0.000000167 a string at the small size, which is a sixth of a millionth of a dollar
at the top sizethe 8b tier is $0.07 a million tokens, so the same 128 tokens would be $0.000009, still under a thousandth of a cent an item
where the cost comes fromthe run's own cost field rounds these to $0.00, so the only honest number is the billed input tokens times the rate; count tokens, not calls
$0.000001six strings, 128 tokens
Read more
View all →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
mrscraper /scrape/markdown · not run$0.001 / resultASapi.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
Search, then read the top sources
Say this to your agent
>search for <question> with context.dev on monid and read the top ten results in the same call, turning the markdown option on explicitly. without it the response carries ten results and not one character of page text, and it bills the same. tell me which came back empty so i know what i paid for
What the agent runsdone
tinyfish /search · not run$0.00
litescrape /google/search · not run$0.00015
exa /search · not run$0.002What came backfour real pages · 2026-09-24
the flowten results found and their pages read in one call, from 11 characters to 50,718
the noisetwo of the ten were empty in practice: an eleven-character stub and a login wall
billed anywayboth empty results were charged as normal hits, so about a fifth of the spend bought nothing
off by default, and it bills anywaywithout the markdown option the ten results came back with a null body and a not-requested code, zero characters of text, at the same $0.0009
the surprisereading the pages was not metered separately from the search, despite the catalog note
$0.0009ten results, searched and read
Crawl a section of a site
Say this to your agent
>crawl <url> with context.dev on monid, five pages maximum, AND pass a url pattern restricting it to that path. without one it leaves the section on the first hop and still reports every page as a success. then read back the urls it actually fetched
What the agent runsdone
ahrefs /site-explorer/crawled-pages · not run$0.018 / resultWhat came backfour real pages · 2026-09-24
the resultfive of five pages fetched, none failed, between 4,530 and 15,823 characters each
it leaves on the first hopon a second site a naive five-page crawl fetched the seed and then four pages outside the path, none of them in the section asked for, and reported five succeeded and none failed
the parameter that fixes ita url pattern keeps all five inside the prefix; it is not in any of these sentences by default and it is fiddly to quote on a shell, so pass it from a file
the driftthe docs domain had migrated, so one hop out the crawl left the section entirely
what to docap the pages, then read back the urls before trusting the set
the cheaper stepif you only need the list of urls, the sitemap call is one flat $0.0009
$0.0045five pages
Turn a page into structured fields
Say this to your agent
>extract <schema> from <url> with context.dev on monid with maxPages set to 1, and do NOT turn fact checking on: with it off an absent field came back empty, and with it on the same field came back as a string and a missing price came back as zero. check the cache age before you trust anything, and treat any zero as unverified
What the agent runsdone
mrscraper /scrape/extract$0.001 / resultASapi.strale.io /x402/web-extract · not run$0.1782
What came backfour real pages · 2026-09-24
Same pricing page, two approachesrows returned
schema $0.00917 clean
prompt $0.03855 messy
fact checking does not do what it saysasked for two fields a page genuinely does not contain, it returned a five-character string where a phone number should be and a zero where a free-trial count should be, both of which read as real values downstream
and a zero price is the dangerous oneit reported a monthly price of 0 for an enterprise plan whose own page says the price is custom; re-running with the cache disabled produced the identical invention, so it is not a stale answer
off is safer than onwith the flag omitted the same absent field came back as an empty string, which is the honest answer; turning it on is what produced the fabrications
the schema way17 rows, one of them left blank on purpose because the page did not support a value
the prompt way55 rows with invented identifiers and duplicates no field could tell apart
the hidden pricethat one billed $0.038 against a $0.001 catalog rate, because browser rendering was on
it crawls, it does not read one pagethis endpoint defaults to five pages and follows links, so a second run's analysed urls included two product pages nobody asked for and the field list filled with rows from them; set the page count to one if you mean one page
the cachethe clean answer came from a cache almost six days old, with no warning a normal caller would see
$0.009flat, per page
A brand's identity from its domain
Say this to your agent
>get the brand profile for <domain> with context.dev on monid: name, description, colours, logos and socials. tell me which fields came back empty
What the agent runsdone
hunterio /companies/find · not run$0.004784
contactout /v1/domain/enrich · not run$0.02 / result
ploid /socials · not run$0.10 / resultWhat came backfour real pages · 2026-09-24
what came backthe title, description, slogan, four brand colours and two logo variants with their own palettes
and morea head office country, three social profiles and a headcount both as a range and an exact figure
it can invent a contacton a second domain the email field came back as a plausible address at that company's domain, assembled from a demo persona the company publishes with a different domain; treat any contact from here as unverified
and it cannot be read freshthis endpoint's cache defaults to three months and clamps to a one-day floor, so there is no way to ask it for today
the gapsthe email came back as an empty string and three link fields were null, though all three pages exist
the usethis is the cheapest way to skin a page or a deck in someone else's brand without asking them for a kit
$0.009per domain
Read more
View all →
Extract page content for RAG
The same job aimed at a retrieval index, with the chunking decisions spelled out.

When the site will not let you in
A browser that signs in and clicks, for the pages no extractor can reach.

Bing Search API retired: the alternatives
Before you read a page you have to find it. What each search endpoint charges.


