GET /v1/codePower your own AI website builder, website cloner or migration service with the engine behind MiroMiro. Send a URL, get the section as code, an Elementor template or a Shopify section, plus the brand and assets, and serve it to your customers under your own name. White label on every paid plan, from €19 a month.
10 credits per call · 300 free credits a month · no credit card
Start from a site you like
Behind the import
Your user
Pastes a URL
Your app
Your brand, your price
MiroMiro API
/v1/code, from your server
Your editor
Sections, ready to edit
Your users never see MiroMiro
Tailwind, React, Vue or HTML + CSS, read from the page as a real browser shows it.
An importable Elementor template or a Shopify theme section, from the same call.
Logo, color roles, fonts and every design token, for theming what your customer builds.
Images, SVG icons, font files, videos and Lottie animations from the page.
AI website builders
Add "start from any website" to your builder without writing a renderer.
Website cloner tools
Launch an AI website cloner on top of a tested engine and spend your time on the product.
Migration services
Move client sites to WordPress or Shopify section by section, under your own brand.
Agencies and SaaS
Theme onboarding, proposals or demos from a prospect's own website.
300 credits a month, no card, to try the API and build your integration. Move to a paid plan when your product goes live.
One GET to /v1/code with the URL and the framework your product needs. The response lists the page's other sections for the next calls.
Use the returned code in your product. No logo, no link to MiroMiro. Your plan's credits and rate limits apply.
The same extraction, three doors: a REST endpoint for your app, an MCP tool for ChatGPT, Claude, Cursor or Codex, and a verified n8n node for automations. One account, one credit balance.
One REST call from any language, with your API key. Typed JSON back.
1const res = await fetch(2 'https://miromiro.app/api/v1/code?url=linear.app',3 { headers: { Authorization: `Bearer ${process.env.MIROMIRO_API_KEY}` } }4)5const data = await res.json()6789101112
Connect once over MCP, then ask in plain words. No code.
Clone the hero of linear.app into my builder as a React component.
Called MiroMiro · extract_code · linear.app
Done. The component uses the section's real colors, fonts and spacing. Here is a preview link to compare it with the original.
A verified n8n node with free, ready-made templates. Make, Zapier and any tool that sends an HTTP request can call the API too.
The template for this job: Rebuild any website from a form
Form
URL + output
MiroMiro
Hero + find sections
Split
One per section
MiroMiro
Each section as code
Form ending
Opens the page
| MiroMiro | Build it yourself | Scraping API | Screenshot to code | |
|---|---|---|---|---|
| Real CSS from the live page | Yes | Yes | No | No |
| Elementor and Shopify output | Yes | No | No | No |
| Browser hosted for you | Yes | No | Yes | Partly |
| Brand, tokens and assets in one API | Yes | No | Partly | No |
| White label, no attribution | Yes | Yes | Partly | Partly |
| Nothing to maintain | Yes | No | Yes | Yes |
Only 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.
inline_svg
true · false (default)
Keep large inline SVGs inside code.
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.
Yes, on any paid plan: Developer, Growth, Scale or Custom. Build a website builder, an AI website cloner, a migration tool or an agent on the API, sell it under your own brand, and you never have to mention MiroMiro. The free plan is for trying the API and building your integration; once your product serves customers, it needs a paid plan.
Not in the code. The response is JSON your backend reads, and the code field is yours to serve. The optional downloadUrl and previewUrl links are hosted on miromiro.app, so use the code field directly if everything should live on your own domain.
Call /v1/code with the page URL: it loads the page in a real browser and returns the main section as code, plus a list of the other sections with ready selectors. Call it again per section, pass framework=elementor or shopify for builder files, and add /v1/brand or /v1/images when you need the logo, colors or assets.
A section costs 10 credits, brand 10, an image list 1. Plans run from 5,000 credits for €19 a month to 200,000 for €199, and failed or cached calls are free. For more than that, we set a custom volume price.
It is one section per call, rebuilt from the page as it looks in a browser, so content that only appears after a click, such as closed tabs or later slides, may be missing. The builder files hold the section as one styled block, edited as code rather than as native widgets.
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.
MiroMiro turns any public URL into working code: it loads the page in a real browser, reads the CSS that actually applies, and returns the section as Tailwind, React, Vue or HTML, or as an importable Elementor template or Shopify section. The same API returns the brand, the design tokens and every asset, so the product you build on top has everything it needs from one key.
Every paid plan, from Developer at €19 a month, allows you to use the API inside your own product and sell it under your own name, with no attribution. Teams use it to add "start from any website" to an AI builder, to launch a website cloner, or to run a migration service that moves client sites to WordPress or Shopify.
300 free credits a month, no credit card. One key works for every endpoint, over REST or MCP.
Get a free API key