Developers

Public tools API

Scan a page, fetch its source, or download a single-page export from your own scripts.

Discovery and access

Base URL: https://api.kodexport.com. The operations below do not require an API key. Download the OpenAPI 3.1 specification or discover the API through the RFC 9727 API catalog. This reference covers the free public tools and health endpoint. auth.md documents agent access and the absence of a registration requirement. Agents can discover reusable instructions through the skills index.

Pass the source URL in the url query parameter. URL-encode it so its own query parameters stay intact. Sources must be public HTTP or HTTPS URLs, without embedded credentials, on ports 80 or 443. Private and loopback addresses are rejected, including redirect targets. Requests fetch source text without executing JavaScript.

Scan a supported page

GET /scan?url=… detects Framer, Bubble, WordPress, Wix, or Webflow and returns JSON.

curl --get 'https://api.kodexport.com/scan' --data-urlencode 'url=https://your-site.framer.website/'

The response includes status, platform, url, domain, title (which can be null), ready, stats, integrations, and warnings. Stats report HTML bytes, asset count, internal link count, and distinct external script hostnames. ready means the scan found no warnings; it does not guarantee a complete migration.

Fetch source text

GET /fetch?url=… downloads HTML or other supported text from any public site. XML, JSON, plain text, and SVG are accepted; binary resources are rejected.

curl --get 'https://api.kodexport.com/fetch' --data-urlencode 'url=https://example.com/' --output page.html

The response is a text/html attachment. X-Source-Content-Type preserves the upstream media type, and X-Source-Bytes reports the UTF-8 size. X-Thin-Shell: true flags responses under 2 KiB that may be placeholders for a client-rendered page. The source body limit is 8 MiB.

Export a single page

GET /export?url=… returns an application/zip attachment for a supported Framer, Bubble, WordPress, Wix, or Webflow page. The ZIP includes index.html and downloaded assets in _assets/.

curl --get 'https://api.kodexport.com/export' --data-urlencode 'url=https://your-site.framer.website/' --output page.zip

Exports download up to 500 assets within a 24 MiB asset budget. Individual assets over 10 MiB are skipped; the source HTML limit is 8 MiB. Only downloaded assets get local paths. Skipped assets keep their remote URLs. Read X-Asset-Count and X-Skipped-Asset-Count to check coverage. Backend logic, logins, and runtime workflows require separate migration work.

Limits and errors

  • Scan: 60 requests per IP and 20 per IP/domain pair per 24-hour window.
  • Fetch: 1,000 requests per IP per 24-hour window.
  • Single-page export: 25 requests per IP and 10 per IP/domain pair per 24-hour window.

A 429 response includes Retry-After: 86400. Error bodies are plain text: 400 for invalid input, 422 for unsupported or empty page content, and 502 when source retrieval fails. Fetch can also return 413 for a source over the size limit or 415 for an unsupported media type. See the specification for each operation's responses.

Health and other services

GET /health returns {"status":"ok","service":"kodexport-api"} when the API is responding. It does not test downstream payment, storage, or browser services.

For agent-assisted migration, see the MCP setup guide. The MCP server card advertises the hosted endpoint and server identity. For full-site exports and guided migration, see pricing.