scrapewise_get_run_columns_batch
Batch variant of scrapewise_get_run_columns: returns the distinct top-level column
names of up to 200 scraper runs of one group in a single request, instead of one
request per run. Built for the column-mapping canvas, where a large group (100+
scrapers) opening the builder would otherwise fan out one columns call per scraper
and exhaust the per-customer rate limit. Column semantics are identical to the
single-run endpoint: keys are unioned across each run's documents, url and numeric
fields included, internal keys removed, names sorted. Requires DATA_ENRICHMENT.
Args:
- id (string, path param, required): the group's MongoDB ObjectId. Every jobId in
the body must belong to this group.
- jobIds (array of strings, body, required): the runs' scraperJobStatusIds, at most
200, at least 1. Duplicates are deduped server-side. Body shape:
{"jobIds": ["...", "..."]}.
Returns:
`RunColumnsBatchDTO` — `{"columns": {"<jobId>": ["ean", "name", ...]}, "omittedIds":
[...]}`. `columns` has one entry per processed run (sorted names). `omittedIds`
lists every requested id that was NOT processed: ids that are unknown, belong to
another customer, or belong to a different group (lenient read — never a 4xx for
the whole batch), plus any ids left unprocessed when the server's aggregate time
budget for the call ran out (partial result, still HTTP 200). Retry omitted ids
individually via scrapewise_get_run_columns.
Examples:
- Use when: "load the columns of every scraper's latest run in group {id} for the
join/matching canvas" → one call with all latestRunJobIds.
- Don't use when: you need ONE run's columns → scrapewise_get_run_columns (cheaper,
cacheable per job).
- Don't use when: you need the matcher's matchable fields → the matcher
field-detection endpoint (that one excludes url/numerics).
Error Handling:
- 402 if customer plan lacks DATA_ENRICHMENT feature.
- 400 (CustomerError envelope) if the group is missing or not owned, jobIds is
empty, jobIds has more than 200 entries, or any id is not a valid ObjectId.
- Per-id problems (unknown / foreign / wrong-group id) do NOT error — the id is
returned in omittedIds instead.
- 401 Unauthorized.
- 500 INTERNAL.[runtime hint] This tool returns JSON-as-text — its response shape is dynamic (per-scraper itemsConfig, file binary, etc.) so the MCP outputSchema is omitted. Do not rely on the presence of any specific field in the response; treat the result as a string-or-object blob and parse defensively.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"id": "<id>",
"body": "<body>"
},
"name": "scrapewise_get_run_columns_batch"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| body | Yes |