Directory / toolshed.lemon-agent.dev
HTML tables to JSON. POST an HTML page; the response is {"tables": [{caption, columns, rows}]} — every <table> read into row objects keyed by its header cells, in the same shape whether the page has one table or nine. Values stay strings with whitespace collapsed. colspan and rowspan are NOT expanded, and a page with no table is refused.
# 1. Ask the endpoint what it costs (no payment, no wallet needed): curl -i -X POST 'https://toolshed.lemon-agent.dev/convert/html-json' # -> HTTP/1.1 402 Payment Required # the response carries the price, asset and pay-to address. # 2. Pay and retry with any x402 client: npx x402-fetch -X POST 'https://toolshed.lemon-agent.dev/convert/html-json'
Endpoint: https://toolshed.lemon-agent.dev/convert/html-json. Operated by toolshed.lemon-agent.dev, not by Animica. Price and availability were correct at the last probe on 2026-10-01 and are set by the operator, who may change them.
CSV to YAML. POST a CSV file with a header row; the response is block-style YAML — a list of maps, one per data row. Parsed to RFC 4180, so quoted commas and em…
Markdown frontmatter to JSON. POST a Markdown file that begins with a --- fence; the response is {"data": the parsed YAML frontmatter, "content": the body retur…
HTML to readable plain text. POST an HTML file; the response is its prose. The page is parsed with a real DOM, so script, style, noscript, nav, header, footer a…
JSON to CSV. POST an array of objects; the response is a CSV file whose header row is the union of every record's keys in first-seen order, so a record missing …
JSON array to NDJSON. POST a JSON array; the response is one compact JSON value per line — the shape streaming loaders, log shippers and jq pipelines take. A no…
JSON to TOML. POST a JSON object; the response is a TOML document. The root must be an object, because TOML's root is a table, and a null anywhere in the docume…
JSON to YAML. POST any JSON value; the response is block-style YAML — the readable, indented form, not flow style. Any top-level shape is accepted, not just an …
Markdown to a JSON token tree. POST Markdown; the response is {"toc": [{depth, text}], "tokens": [...]} — the marked lexer's token stream plus a table of conten…
Markdown to HTML. POST a Markdown file; the response is an HTML FRAGMENT — CommonMark plus GitHub tables, no <html> wrapper and no stylesheet. It does not sanit…
NDJSON to a JSON array. POST newline-delimited JSON; the response is a pretty-printed array of the parsed values. Blank lines are skipped and a line that does n…
SubRip to WebVTT. POST an .srt file; the response is a .vtt file — a WEBVTT header and timestamps written with a decimal point instead of a comma. Cue numbers a…
TOML to JSON. POST a TOML document; the response is pretty-printed JSON. A conforming parser handles the parts hand-rolled readers get wrong — dotted keys, arra…