Send one URL
One GET request with the page’s address and, if you want, the section by name. No browser to run, no scraper to write.
GET /v1/code25 credits/callThe website to React code converter, as an API: point it at a section of any website and get back a JSX component you can drop into a React or Next.js project.
One GET request with the page’s address and, if you want, the section by name. No browser to run, no scraper to write.
It loads every stylesheet and works out which rule wins for each element, the way a browser does.
Typed JSON, for 25 credits. A repeat call within 24 hours is free.
Pricing.jsx
One authenticated GET against any live URL. Typed JSON back.
GET /v1/codeFound on the page
Formats you can ask for
Why this one
HTML to JSX converters only rename attributes, and you still have no styles. This returns the component with its styling resolved from the live page.
Compare alternativesOnly url is required. Everything else narrows or reshapes the result.
urlrequired
any public URL
The page to extract from. With or without protocol (https:// is assumed).
framework
tailwind (default) · html · jsx · vue · elementor · shopify
The code you get back. tailwind returns markup with utility classes; html returns markup plus a companion stylesheet; jsx returns a React component; vue returns a single-file component.
section
hero · header · footer · pricing · features · testimonials · faq · cta
A part of the page by name, for callers that cannot see its markup (AI agents, mostly).
selector
any CSS selector
The section to extract, e.g. selector=%23hero or selector=.pricing-card - best taken from a previous response's sections list.
name
a component name
Component name for the jsx target - the identifier in "export default function ...".
theme
light (default) · dark
Which colour scheme to extract.
fields
field names
Comma-separated list of fields to return (e.g. fields=code,tokens).
render
true · false (default)
Load the page in a real browser and run its JavaScript before extracting.
fresh
true · false (default)
Skip the 24-hour cache and re-extract from the live page.
screenshot
true · full · false (default)
Requires render=true. The same real browser that renders the page also captures a screenshot - true for the 1440x900 viewport, full for the entire page height.
Every parameter, the response fields and the error codes are in the reference.
“Rebuild the pricing section of vercel.com as a React component in my project.”
Step-by-step setup for your agent
Get the hero, features and pricing of a reference site as components and wire your own data into them.
The agent edits a real component with true values instead of generating one from a description.
Convert the sections of a site built on a page builder into components, one call each.
A default export with JSX and Tailwind classes, using className and self-closing tags the way React expects. When a section repeats the same structure three or more times, such as pricing tiers or testimonial cards, you get one template and a data array rendered with .map().
Yes, pass name=Pricing. Renaming does not rerun the extraction, so asking for a cached section under a new name costs 0 credits.
Yes. The component has no client-side state or effects, so it works as a server component. Images use plain img tags with absolute URLs, which you can swap for next/image.
Yes. framework=vue returns a single-file component with the same structure, using v-for for repeated items.
25 credits per section. Failed and blocked requests are never billed, a repeat call within 24 hours is free, and every key includes 300 free credits a month.
Yes. The page’s HTML and CSS are read first, which is enough for most sites. When a page only builds itself with JavaScript, or refuses a plain request, it is re-read in a real browser automatically at no extra cost. Add render=true to force the browser, for example for images that load on scroll: that costs 5 extra credits, on every plan including the free key.
No. It reads public pages the way a visitor without an account would see them. Pages that need a sign-in, and addresses on your own machine such as localhost, are out of reach.
Yes. The same call is the extract_code tool on the MiroMiro MCP server. Connect ChatGPT, Claude, Cursor, Codex or another agent once, with a sign-in and no API key, and ask in plain language.
The MiroMiro website to React API takes a URL and returns a section of that page as a JSX component. It fetches the page and its stylesheets, resolves which styles apply to each element, and writes a component with Tailwind classes that carry the real colors, type and spacing.
Six feature cards do not come back as six pasted copies. The API spots runs of siblings with the same structure, writes the card once, and moves what differs into a data array. You replace the array with your own content and the layout stays.
This is a section-level component, not a pixel clone of a whole site. Interactive behavior such as menus and carousels is not carried over, because the source site’s JavaScript is not part of the result. You get the structure and the styling, and you add the behavior.
300 free credits every month, no credit card. One key unlocks every endpoint - brand, tokens, images, SVGs, fonts, and Lottie. Upgrade only when you outgrow the free tier.