Run a saved crawl
writ_run_saved_crawlRun a saved crawl using its stored settings. Set max_age to reuse recently collected data instead of re-crawling, and check _cache.hit to see which path was taken.
Instructions
Run a saved crawl with its stored settings. Pass max_age to get the data it already collected if that run is recent enough — the cheap path. Otherwise it re-crawls. The response carries _cache.hit and _cache.age_seconds so you can tell which happened.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| wait | No | Block until the crawl converges (default false — a crawl is slow). | |
| crawl | Yes | Saved crawl slug, name, or id (from writ_saved_crawls). | |
| limit | No | Rows of collected data to include (default 50). | |
| output | No | RESPONSE SHAPE — set this whenever the answer is for a program or an API you are building, not for you to read. {shape: 'envelope' (default: Writ's full answer, projected) | 'table' ({columns, rows, total}) | 'records' (bare list of records) | 'record' (the newest record alone — one entity, a usage meter, a dashboard), fields: ['used', 'percent_used as pct', 'items.0.price as first_price'] (ordered pick, renames, dotted paths; missing → null so keys are stable), exclude: ['depth'], include_meta: false (page metadata content_kind/depth/thumbnails are STRIPPED unless true), key: 'usage' (wrap)}. On writ_crawl_site with save_as it is SAVED as the API's default shape. | |
| max_age | No | Reuse the last completed crawl if it finished within this many seconds. 0 (default) always re-crawls. | |
| preview_chars | No | Cut each inline page's text cells to this many characters (default 12000; 0 = full). Full page: writ_workflow_data(workflow_id=<data_workflow_id>, refs=[...]). | |
| timeout_seconds | No | Max seconds to wait when wait=true. |