Dashboard
How it Works Documentation Quick Start PAPI — Pages & Assets MAPI — Dynamic Data Integrations SAPI — Sessions & Forms MCP Server OpenClaw Skill Tools Deploy Dashboard
Site Import

Site Import

⚡ Built-in — Platform Built-in

Import an existing external website into this project: pages become clean URLs, assets are copied path-preserving, and every reference is rewritten to work on the new origin. Pages are taken from the source host only; assets are also taken from asset subdomains of that host (cdn./static./assets.) and from the WebsitePublisher CDN when the source is itself hosted here. Anything not imported is reported per reason. Runs as a background job with progress polling.

⚡ Built-in — No Setup Required This integration is built into the WebsitePublisher platform. All endpoints are available immediately — no API key needed.

Endpoints (8)

POST start

Start importing an external website into this project. Returns a job_id; poll "status" for progress. Requires an ownership/permission confirmation. Limits: one active import per project at a time, a daily import limit per project that depends on the plan, and page/asset counts capped by the plan tier. Limits you request above the plan are quietly reduced to the plan value — the call still succeeds, and the "errors" report lists what was left out under reason "cap". Do not promise the user a page or asset count before the job reports done.

Field Type Required Description
url url ✓ Yes
asset_ref_style string No
confirm_ownership boolean ✓ Yes
mode string No
max_pages integer No
max_assets integer No
max_asset_mb integer No
max_depth integer No
overwrite_pages boolean No
delay_ms integer No
GET status

Progress snapshot of an import job: status, counts and progress_pct. Poll this for the dashboard progress meter. pages_found and assets_found are DISCOVERY counts, not import counts — a job can report pages_found 18 while the plan allowed only one page to be written, so never report these numbers to the user as "imported". items_done counts items that reached a terminal state, written and skipped alike. Also returns items_excluded: references the crawler did not import at all. A finished job with items_excluded > 0 is NOT a clean import — call "errors" for the breakdown before telling the user the site is ready.

Field Type Required Description
job_id integer ✓ Yes
GET current

The most recent import job for this project (any status, progress-shaped), or null when the project has never run an import. Lets a dashboard or assistant re-attach without a stored job_id.

No input parameters required.

GET errors

Error, exclusion and dynamics report for an import job: failed items, skipped items grouped by reason (cap, not_found, external_redirect, not_html, page_exists, duplicate_target = the same page reached through a second URL such as /about and /about.html, user_skipped), references the crawler never imported at all (grouped by reason and host — cross_host, subdomain_page, platform_host_page, platform_host_path, excluded_path, unsupported_type, scan_extensionless, unresolvable), and references to source backend endpoints (PHP/AJAX/REST) that a static import cannot carry over. A large cross_host group means the imported pages still reference the original host for those files.

Field Type Required Description
job_id integer ✓ Yes
GET review

List items awaiting review (manual mode): discovered pages/assets with their proposed target paths.

Field Type Required Description
job_id integer ✓ Yes
POST approve

Approve pending items for import (manual mode) and resume the crawl.

Field Type Required Description
job_id integer ✓ Yes
item_ids array No
all boolean No
POST cancel

Cancel a queued or running import. Already-imported pages/assets stay in the project.

Field Type Required Description
job_id integer ✓ Yes

MCP Tool Names

When using this integration through an AI assistant (Claude, ChatGPT, Cursor, etc.), the endpoints are available as MCP tools:

EndpointMCP Tool Name
start site-import_start
status site-import_status
current site-import_current
errors site-import_errors
review site-import_review
approve site-import_approve
skip site-import_skip
cancel site-import_cancel
← Back to all integrations