Design Extraction API
Elementor APIGET /v1/code25 credits/call

Turn any website section into an Elementor template

The HTML to Elementor converter, as an API: point it at a section of any website and get back an Elementor JSON template you import into WordPress. One call, no plugin to install.

  • 300 free credits a month
  • Failed and repeat calls are free
  • Works from ChatGPT, Claude and Cursor
1 file
import it as a template
Scoped CSS
your theme cannot break it
Responsive
breakpoints and hover kept

From a URL to a file you can import

1

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.

2

MiroMiro reads the live page

It loads every stylesheet and works out which rule wins for each element, the way a browser does.

3

Get it back, ready to use

One file to import, for 25 credits. A repeat call within 24 hours is free.

stripe.com · pricing section Download

pricing.elementor.json

{
"title": "MiroMiro - stripe.com section",
"type": "section",
"version": "0.4",
"content": [{
"elType": "container",
"settings": { "content_width": "full" },
"elements": [{ "widgetType": "html" }]
}]
Elementor file ready to import

The API is the demo

One authenticated GET against any live URL. Typed JSON back.

HTML to Elementor API

What it captures

Found on the page

  • template .json
  • HTML widget
  • scoped CSS
  • responsive rules
  • hover states
  • web fonts
  • section tokens

Formats you can ask for

  • framework=elementor

Why this one

HTML to Elementor converters ask you to paste markup you first have to copy out of devtools, along with a stylesheet you do not have. This starts from the URL and resolves the styles for you.

Compare alternatives

What you can pass

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.

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.

Your agent can call this

ChatGPT & Codex

“Get the pricing section of stripe.com as an Elementor template I can import into WordPress.”

Step-by-step setup for your agent

What you can build

Rebuild a client site in WordPress

Pull the hero, pricing and footer of the old site as templates and assemble the new page from them.

Start from a reference

Import a section you like, then change the copy and colors in the HTML widget instead of building from a blank container.

Let an agent do the import prep

Ask ChatGPT or Claude for a section as an Elementor file through the MCP server and get the .json back in the chat.

Before you integrate

How do I import the result into Elementor?

Save the code field of the response as a .json file. In WordPress open Templates, then Saved Templates, and choose Import. The section appears in your template library and you can insert it into any page.

Do I get native Elementor widgets?

No. The section arrives as one full-width container holding one HTML widget, with the markup and its CSS inside. You edit it as code. Mapping an arbitrary page onto native widgets breaks the layout, so the file keeps the original structure instead.

Will my theme change how it looks?

The CSS in the file is scoped to the imported block, and the block resets the theme styles that usually leak in: heading margins, link colors, list bullets and button borders. Two imported sections on one page do not restyle each other.

Is it responsive?

Yes. The breakpoint and hover rules of the original section are written into the file as real CSS. Elements the source site fades in on scroll are emitted already visible, because its JavaScript does not come along.

Does it need Elementor Pro?

No. The file uses a container and the HTML widget, and it is imported through the template library.

What does it cost?

25 credits per section, the same as every other code format. Failed and blocked requests are never billed, a repeat call within 24 hours is free, and every key includes 300 free credits a month.

Does it work on sites built with JavaScript?

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.

Can it read pages behind a login?

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.

Can my AI agent call it without code?

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.

More about the HTML to Elementor API

From a live URL to an Elementor template

The MiroMiro HTML to Elementor API reads a section of any public web page and returns it as an Elementor template. It fetches the page, resolves every stylesheet it loads, works out which CSS rules actually apply to each element, and writes the result into the JSON format Elementor imports. You send a URL and a section name such as pricing or footer. You get back a file.

What is inside the file

One full-width container with one HTML widget. The widget holds clean markup, a stylesheet scoped to that block, the @font-face rules for the fonts the section uses, and the responsive and hover rules of the original. Image and link URLs are absolute, so nothing depends on the site you took it from being on the same domain.

Honest limits

It is a styled block you edit as code, not a set of native widgets, and it is one section at a time rather than a whole site migration. Sections that depend on JavaScript for layout, such as sliders and tabs, import with every panel visible. Add render=true when the page builds its content in the browser.

Get your free API key

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.