accueil / serveurs / Recherche & Web / io.github.OfficialSpicrawl/mcp
io.github.OfficialSpicrawl/mcp
serveur MCP (Model Context Protocol) · spicrawl-mcp-server 0.1.7
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.OfficialSpicrawl/mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.OfficialSpicrawl/mcp » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 24 outils
- spicrawl_batch_add_items≈ 1824 tokens
Append URLs to a batch job that was submitted with `open: true`. Same item vocabulary as `spicrawl_batch_submit` (EITHER `urls` or `items`, not both, plus shared settings for these new items). Fails with CONFLICT if the job is closed or finished. Not idempotent: calling twice adds the URLs twice. Returns `{ job, items_added, items_dispatched }`.
Paramètres, retour & exemple (11)
Paramètresurls· array · optionnel
Shorthand: URLs scraped with the shared settings and no per-item overrides. Mutually exclusive with `items`.wait· integer · optionnel
Milliseconds to wait after load (rendered scrapes).items· array · optionnel
Long form: one /v1/scrape request object per item. Besides `url` and `external_id`, any /v1/scrape field (e.g. `js_render`, `wait_for`, `response_format`) overrides the shared setting for that item only. Mutually exclusive with `urls`.format· string · optionnel · markdown | text | html | json
Output format for every item (`response_format`). spicrawl_batch_submit defaults to 'markdown', the same as spicrawl_scrape; an item's own `response_format` overrides it.job_id· string · requis
The batch job id returned by spicrawl_batch_submit or spicrawl_batch_list.render· boolean · optionnel
Render every URL with a browser (`js_render`).max_cost· integer · optionnel
Ceiling in credits for ONE item (not the whole job — see credit_budget).wait_for· string · optionnel
CSS selector to wait for before capturing (rendered scrapes).custom_headers· object · optionnel
Extra request headers sent with every URL.block_resources· array · optionnel
Resource types to block while rendering, e.g. ["image","font","media"].main_content_only· boolean · optionnel
Strip each page to its main article.
Exemple d'appel{"name": "spicrawl_batch_add_items", "arguments": {"job_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"job": {}, "items_added": 1, "items_dispatched": 1}} - spicrawl_batch_cancel≈ 1248 tokens
Cancel a batch job: items not yet started are cancelled and will never run; items already finished keep their results; items already running finish first, so the job comes back `cancelling` and moves to `cancelled` when they drain. Cannot be undone — resubmit to run the URLs again. Returns the job object.
Paramètres, retour & exemple (1)
Paramètresjob_id· string · requis
The batch job id returned by spicrawl_batch_submit or spicrawl_batch_list.
Exemple d'appel{"name": "spicrawl_batch_cancel", "arguments": {"job_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "name": "texte", "open": true, "params": "texte", "status": "texte", "priority": 1, "progress": {}, "warnings": "texte", "error_code": "texte", "project_id": "texte", "started_at": "texte", "status_url": "texte"}} - spicrawl_batch_close≈ 1210 tokens
Stop an open batch job accepting items, so it completes once its queued work drains. Idempotent (closing a closed job succeeds). Returns the job object.
Paramètres, retour & exemple (1)
Paramètresjob_id· string · requis
The batch job id returned by spicrawl_batch_submit or spicrawl_batch_list.
Exemple d'appel{"name": "spicrawl_batch_close", "arguments": {"job_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "name": "texte", "open": true, "params": "texte", "status": "texte", "priority": 1, "progress": {}, "warnings": "texte", "error_code": "texte", "project_id": "texte", "started_at": "texte", "status_url": "texte"}} - spicrawl_batch_list≈ 1348 tokens
List this API key's project's batch jobs, newest first, with status and progress. Returns `{ batches: [...], next_cursor? }`; pass `next_cursor` back as `cursor` for the next page.
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionnel
Page size (default 50, max 200).cursor· string · optionnel
`next_cursor` from a previous page, verbatim.status· string · optionnel · queued | running | paused | cancelling | completed | failed | cancelled
Only jobs in this status.
Exemple d'appel{"name": "spicrawl_batch_list", "arguments": {"limit": 1, "cursor": "texte", "status": "queued"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"batches": [], "next_cursor": "texte"}} - spicrawl_batch_results≈ 1057 tokens
Return a page of FINISHED items of a batch job (one record per item: seq, url, external_id, status, error, and content, or a `result_url` API path (GET /v1/batch/{id}/tasks/{seq}/content, same key) for large bodies). Unfinished items are not listed yet. Returns `{ results: [...], next_cursor? }`; pass `next_cursor` back as `cursor` for the next page. Results expire after the job's retention window (410 Gone).
Paramètres, retour & exemple (4)
Paramètreslimit· integer · optionnel
Page size (default 500, max 5000).cursor· string · optionnel
`next_cursor` from a previous page, verbatim.job_id· string · requis
The batch job id returned by spicrawl_batch_submit or spicrawl_batch_list.status· string · optionnel · succeeded | failed | cancelled | skipped
Only items that finished with this status.
Exemple d'appel{"name": "spicrawl_batch_results", "arguments": {"job_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"results": [], "next_cursor": "texte"}} - spicrawl_batch_retry≈ 1318 tokens
Re-queue every FAILED item of a batch job so it runs again (succeeded items are untouched; a job with no failures is returned unchanged). Returns `{ job, items_reset, items_dispatched }`.
Paramètres, retour & exemple (1)
Paramètresjob_id· string · requis
The batch job id returned by spicrawl_batch_submit or spicrawl_batch_list.
Exemple d'appel{"name": "spicrawl_batch_retry", "arguments": {"job_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"job": {}, "items_reset": 1, "items_dispatched": 1}} - spicrawl_batch_status≈ 1232 tokens
Return one batch job with its status and progress (total/completed/succeeded/failed/remaining, credits charged). Poll this after `spicrawl_batch_submit`; once status is `completed`, `failed` or `cancelled`, read `spicrawl_batch_results`.
Paramètres, retour & exemple (1)
Paramètresjob_id· string · requis
The batch job id returned by spicrawl_batch_submit or spicrawl_batch_list.
Exemple d'appel{"name": "spicrawl_batch_status", "arguments": {"job_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "name": "texte", "open": true, "params": "texte", "status": "texte", "priority": 1, "progress": {}, "warnings": "texte", "error_code": "texte", "project_id": "texte", "started_at": "texte", "status_url": "texte"}} - spicrawl_batch_submit≈ 2020 tokens
Submit many URLs to be scraped as one asynchronous job, with shared settings applied to every URL. Give EITHER `urls` or `items`, not both (at least one URL, unless `open` is true). Returns the job object (id, status, estimated_credits, progress). Poll with `spicrawl_batch_status`, read with `spicrawl_batch_results` or `spicrawl_batch_task_content`. Use this instead of many `spicrawl_scrape` calls when you have tens or thousands of URLs. Set `open: true` to keep the job accepting more URLs via `spicrawl_batch_add_items`; an open job never finishes until you call `spicrawl_batch_close`.
Paramètres, retour & exemple (18)
Paramètresname· string · optionnel
A human label for the job.open· boolean · optionnel
Keep the job accepting items after submission (append with spicrawl_batch_add_items, finish with spicrawl_batch_close).urls· array · optionnel
Shorthand: URLs scraped with the shared settings and no per-item overrides. Mutually exclusive with `items`.wait· integer · optionnel
Milliseconds to wait after load (rendered scrapes).items· array · optionnel
Long form: one /v1/scrape request object per item. Besides `url` and `external_id`, any /v1/scrape field (e.g. `js_render`, `wait_for`, `response_format`) overrides the shared setting for that item only. Mutually exclusive with `urls`.format· string · optionnel · markdown | text | html | json
Output format for every item (`response_format`). spicrawl_batch_submit defaults to 'markdown', the same as spicrawl_scrape; an item's own `response_format` overrides it.render· boolean · optionnel
Render every URL with a browser (`js_render`).max_cost· integer · optionnel
Ceiling in credits for ONE item (not the whole job — see credit_budget).priority· integer · optionnel
Scheduling priority of the job relative to your other jobs.wait_for· string · optionnel
CSS selector to wait for before capturing (rendered scrapes).concurrency· integer · optionnel
Max items in flight at once for this job (may be capped by the server; see warnings).max_attempts· integer · optionnel
Per-item retry attempts on failure.credit_budget· integer · optionnel
Ceiling on the WHOLE job, in credits; the run aborts when it would exceed this.custom_headers· object · optionnel
Extra request headers sent with every URL.block_resources· array · optionnel
Resource types to block while rendering, e.g. ["image","font","media"].failure_threshold· integer · optionnel
Abort the job once this many items have failed.main_content_only· boolean · optionnel
Strip each page to its main article.webhook_endpoint_id· string · optionnel
Id of a registered webhook endpoint notified (with the job object) when the job completes.
Exemple d'appel{"name": "spicrawl_batch_submit", "arguments": {"name": "texte", "open": true, "urls": [], "wait": 1, "items": [], "format": "markdown"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "name": "texte", "open": true, "params": "texte", "status": "texte", "priority": 1, "progress": {}, "warnings": "texte", "error_code": "texte", "project_id": "texte", "started_at": "texte", "status_url": "texte"}} - spicrawl_batch_task_content≈ 344 tokens
Return the full payload one item of a batch job produced, by its `seq` (items are numbered from 0 in submission order). Cheaper than paging results when you need one URL's output. A CONFLICT error means either the item has not finished yet (poll `spicrawl_batch_status` and ask again) or it finished as failed (it will never produce content; the message says which). NOT_FOUND means no such seq.
Paramètres, retour & exemple (2)
Paramètresseq· integer · requis
The item's sequence number (0-based, submission order).job_id· string · requis
The batch job id returned by spicrawl_batch_submit or spicrawl_batch_list.
Exemple d'appel{"name": "spicrawl_batch_task_content", "arguments": {"seq": 1, "job_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"content": "texte"}} - spicrawl_docs_index≈ 284 tokens
The docs' llms.txt: every Spicrawl documentation page with its title, a one-line description and its Markdown URL. Use it to find the right page when a search does not, or to get an overview of what is documented; read a page with spicrawl_docs_read. No parameters.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "spicrawl_docs_index", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"url": "texte", "content": "texte", "truncated": true}} - spicrawl_docs_read≈ 457 tokens
Fetches one Spicrawl documentation page as Markdown. `path` may be a page path (`guides/anti-bot`), a docs URL from spicrawl_docs_search (url or md_url), or either with a `#anchor` (the whole page is returned; the anchor names the section to look at). Only pages on the Spicrawl docs (https://docs.spicrawl.com/docs) can be read. Pages over 60000 characters are truncated, and the text says so. Don't know the path? Use spicrawl_docs_search, or spicrawl_docs_index (llms.txt) for the list of every page.
Paramètres, retour & exemple (1)
Paramètrespath· string · requis
Page path (`guides/anti-bot`, `errors#AUTH_INVALID_KEY`) or a full docs URL, as returned by spicrawl_docs_search.
Exemple d'appel{"name": "spicrawl_docs_read", "arguments": {"path": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"url": "texte", "title": "texte", "md_url": "texte", "content": "texte", "section": "texte", "truncated": true}} - spicrawl_docs_search≈ 726 tokens
Full-text search over the Spicrawl documentation (guides, API reference, errors, limits). Use it to look up a parameter name, value or combination for a spicrawl_* tool, or to explain an error a spicrawl_* tool returned: search the error code itself (e.g. `ERR::UPSTREAM::CHALLENGE`) and the result also carries a direct link to that code's entry on the errors page. Returns the best-matching pages, each with its title, the matching sections (heading, a short snippet, URL) and md_url; then call spicrawl_docs_read with a page's md_url or url to read it in full.
Paramètres, retour & exemple (2)
Paramètreslimit· integer · optionnel
Maximum pages to return, 1-20. Default 8.query· string · requis
What to look for: a feature, parameter, error code or question, e.g. 'wait_for selector' or 'ERR::AUTH::INSUFFICIENT_SCOPE'.
Exemple d'appel{"name": "spicrawl_docs_search", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"hint": "texte", "query": "texte", "results": [], "error_code": {}}} - spicrawl_request_get≈ 1078 tokens
The full log record of one past API call by its request id. Every response carries its id in the X-Request-Id header (and error bodies carry it too), so this is the tool for debugging a failed or slow scrape: it shows status, error_code/error_detail, attempts, the engine and proxy (tier, country, provider, sticky) actually used, whether and how the target blocked it (vendor/signal/rule), per-stage latency spans and credits charged. Returns not_found both for unknown ids and for ones older than your retention window, and for another project's request unless your key has the `read` scope.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
The request id (a ULID, from X-Request-Id or a spicrawl_requests_list row's `id`).
Exemple d'appel{"name": "spicrawl_request_get", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "url": "texte", "proxy": {}, "spans": {}, "engine": "texte", "status": "texte", "blocked": {}, "attempts": 1, "bytes_in": 1, "features": {}, "url_host": "texte", "bytes_out": 1}} - spicrawl_requests_list≈ 1562 tokens
Recent API calls in your key's project, newest first, each with project_id, status, engine, http_status, error_code/error_detail, attempts, URL, proxy used, latency spans (queue/engine/upstream/total ms), block detection and credits. Use it to find failing calls (only_errors=true) or to spot patterns across a target. all_projects=true lists every project in your organization instead (needs a key with the `read` scope; 403 ERR::AUTH::INSUFFICIENT_SCOPE otherwise). Records only exist within the retention window reported in page.retention_hours / page.retained_since; an empty page means nothing in that window. Paginate by passing page.next_before and page.next_before_id back as before and before_id while page.has_more is true, keeping all_projects the same. Not billing-grade: use spicrawl_usage for totals.
Paramètres, retour & exemple (6)
Paramètreslimit· integer · optionnel
Rows per page, 1-200. Default 50.before· string · optionnel
Cursor: RFC 3339 timestamp, exactly as returned in page.next_before. Pass together with before_id.status· string · optionnel · success | failed | timeout | blocked | rejected | cancelled
Only requests with this outcome.before_id· string · optionnel
Cursor: request id, exactly as returned in page.next_before_id.only_errors· boolean · optionnel
Only requests whose status is anything other than 'success'.all_projects· boolean · optionnel
Every project in your organization, not just the key's own. Needs the `read` scope. Keep it the same across pages.
Exemple d'appel{"name": "spicrawl_requests_list", "arguments": {"limit": 1, "before": "texte", "status": "success", "before_id": "texte", "only_errors": true, "all_projects": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": [], "page": {}}} - spicrawl_scrape≈ 4328 tokens
Retrieve a web page and return its content as markdown (default), text, HTML, a JSON envelope, or a printed PDF. Handles the fetch vs. browser decision, charset decoding, and PDF-to-text for you. Optionally extract structured data with CSS selectors (`extract`) or `autoparse`, return discovered `links`, take a `screenshot`, or scope the DOM with `include_tags`/`exclude_tags`. Each successful call is billed in credits (a failure costs 0). Results are cached by default, and a cache hit is billed like the fetch that stored it (the cache saves time, not credits); set `cache=false` for time-sensitive pages. With the defaults it only reads the page. A `method` other than GET, HEAD or OPTIONS, and the `actions` that click, fill or run scripts on the page, can change state on the target site: set them only when the user asks for that. For markdown, text and HTML it returns `{ content }`. With `format: "json"`, or when `extract`, `autoparse`, `links`, `screenshot` or `network_capture` is set, it returns the JSON envelope: `content`, the site's `status`, `credits`, `engine` (the rendering tier: `fetch`, `js` or `browser`), `warnings` and `data` for extraction. Screenshots come back as image content blocks; each `screenshots` entry in the JSON keeps its metadata and says which block holds it. A PDF comes back as a resource content block, with its size, the rendering tier and the credits in the JSON.
Paramètres, retour & exemple (33)
Paramètresurl· string · requis
The absolute URL to retrieve.mode· string · optionnel · auto
Routing mode. `auto` lets the platform escalate fetch -> browser as needed, billing only the rung that worked.wait· integer · optionnel
Milliseconds to wait after load before capturing (render only).cache· boolean · optionnel
Serve a recent cached result if fresh (on by default). A hit is billed at the same price as the fetch that stored it: the cache saves time, not credits. Set false only when you need live data.links· boolean · optionnel
Also return the page's discovered links as an absolute, de-duplicated list.proxy· string · optionnel
Your own proxy URL to egress through. Takes precedence over the pool; no surcharge.format· string · optionnel · markdown | text | html | json | pdf
Output format. 'markdown' (default) is best for feeding to an LLM; 'html' returns the raw document; 'json' returns a structured envelope; 'pdf' prints the page in a full browser (routed there for you) and returns the file as a resource content block.method· string · optionnel
HTTP method sent to the target (default GET; no request body can be sent). Anything but GET, HEAD or OPTIONS can change state on the target site: use it only when the user asks.render· boolean · optionnel
Render with a real browser (executes JavaScript). Use for single-page apps or pages whose content is painted client-side. Costs more than the default fetch tier.actions· array · optionnel
Browser steps run in order before capture (render only). Each step is {type, ...fields}. Examples: [{"type":"click","selector":"#load-more"},{"type":"wait_for","selector":".item:nth-child(20)","timeout_ms":5000}] · infinite scroll: [{"type":"scroll","to_bottom":true},{"type":"wait_for","ms":1000}] · login: [{"type":"fill","selector":"#user","value":"me"},{"type":"fill","selector":"#pass","value":"…","secret":true},{"type":"click","selector":"button[type=submit]","wait_for_navigation":true}]. A screenshot step switches the response to the JSON envelope (a FORMAT_COERCED warning says so).extract· object · optionnel
Selector-based extraction: a map of field -> CSS/XPath selector, e.g. {"title":"h1","price":".amount"}. Returns structured `data`. Precise and cheap when you know the page structure.max_cost· integer · optionnel
Refuse (rather than run) a request that would cost more than this many credits.wait_for· string · optionnel
CSS selector to wait for before capturing (render only).autoparse· boolean · optionnel
Return the structured data the page publishes about itself (JSON-LD, OpenGraph, Twitter Card, microdata). No selectors; survives redesigns.cache_ttl· integer · optionnel
Max age in seconds of a cached copy to accept (0 forces a fresh fetch; capped at 48h). Freshness only: a hit is billed like a fetch.parse_pdf· boolean · optionnel
Turn a PDF target into text/markdown (default true). false refuses PDFs.screenshot· boolean · optionnel
Capture a screenshot (requires render).session_id· string · optionnel
Run inside a session from spicrawl_session_create: same exit IP and browser state (cookies, localStorage) across calls.impersonate· boolean · optionnel
Fetch tier only: present a real browser's TLS/JA3 + HTTP/2 fingerprint to clear passive bot gates. On by default; set false to send a plain client handshake.exclude_tags· array · optionnel
CSS selectors to remove (e.g. ['nav','.ad','#cookie']).include_tags· array · optionnel
CSS selectors to KEEP (everything else is dropped).proxy_verify· boolean · optionnel
Verify `proxy` is reachable before using it.custom_headers· object · optionnel
Extra request headers sent to the target, e.g. {"Accept-Language":"de"}.block_resources· array · optionnel
Resource types the browser should not load, e.g. ["fonts","media","images"] (render only). Faster and cheaper.network_capture· object · optionnel
Record the API responses the PAGE fetched while rendering — often cleaner JSON than the DOM. Render only.original_status· boolean · optionnel
Return the target's own HTTP status instead of 200 for a successful scrape.wait_for_timeout· integer · optionnel
Max milliseconds to wait for `wait_for`.main_content_only· boolean · optionnel
Strip the page to its main article, dropping nav/footer/aside. Defaults on for markdown.screenshot_format· string · optionnel
Screenshot image format.screenshot_quality· integer · optionnel
Screenshot quality 1-100 (lossy formats).screenshot_fullpage· boolean · optionnel
Capture the whole page, not just the viewport.screenshot_selector· string · optionnel
Capture only the element matching this CSS selector.allowed_status_codes· array · optionnel
Target statuses to treat as success instead of an error (e.g. [404] to capture a not-found page).
Exemple d'appel{"name": "spicrawl_scrape", "arguments": {"url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"pdf": {}, "url": "texte", "data": "texte", "links": "texte", "engine": "texte", "status": 1, "content": "texte", "credits": 1, "headers": "texte", "network": "texte", "warnings": "texte", "final_url": "texte"}} - spicrawl_session_context≈ 791 tokens
Return the full stored state of a LIVE session — cookies, localStorage and other credentials — plus its fingerprint and domain scores. The `session_context` object can be passed to spicrawl_session_create to clone the session. The result contains secrets (login cookies): do not echo it to the user or logs unless asked.
Paramètres, retour & exemple (1)
Paramètressession_id· string · requis
The session id returned by spicrawl_session_create or spicrawl_session_list.
Exemple d'appel{"name": "spicrawl_session_context", "arguments": {"session_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"retired": "texte", "warning": "texte", "created_at": "texte", "expires_at": "texte", "session_id": "texte", "fingerprint": "texte", "usage_count": 1, "last_used_at": "texte", "domain_scores": {}, "schema_version": 1, "session_context": {}}} - spicrawl_session_create≈ 1438 tokens
Create a session: a persistent browser identity (cookie jar, localStorage, a fixed rendering tier and, by default, a sticky exit IP) that survives across scrapes. Use it for multi-step flows — log in, then fetch pages behind the login — by passing the returned `id` as `session_id` to every `spicrawl_scrape` call that should share the state. The rendering tier is fixed for the session's lifetime and every scrape on the session runs on it. Leave `engine` out and one is chosen for you. Release the session with `spicrawl_session_release` when done. Returns the session object (id, engine, status, sticky_key, proxy, expires_at).
Paramètres, retour & exemple (4)
Paramètresengine· string · optionnel · fetch | js | browser
Rendering tier fixed for the session's lifetime. Optional: leave it out and one is chosen for you. `fetch` is plain HTTP; `js` is JavaScript rendering and refuses `actions`, `block_resources`, screenshots and PDFs; `browser` is a full browser.ttl_seconds· integer · optionnel
Idle lifetime in seconds (min 30, default 1800; the organization's maximum is enforced, not clamped).domain_scores· object · optionnel
Seed per-domain error scores (usually copied from a spicrawl_session_context dump).session_context· object · optionnel
Seed the session's state (cookies, storage) — e.g. the `session_context` object from spicrawl_session_context, to clone a session.
Exemple d'appel{"name": "spicrawl_session_create", "arguments": {"engine": "fetch", "ttl_seconds": 1, "domain_scores": {}, "session_context": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "lease": {}, "proxy": {}, "engine": "texte", "status": "texte", "context": "texte", "retired": "texte", "warnings": [], "created_at": "texte", "expires_at": "texte", "project_id": "texte", "sticky_key": "texte"}} - spicrawl_session_delete≈ 325 tokens
Permanently delete a session and its stored state, including the record itself (prefer spicrawl_session_release if you only want to stop using it). Idempotent: deleting an already-deleted session succeeds. Refused while a scrape holds the session's lease unless `force` is true.
Paramètres, retour & exemple (2)
Paramètresforce· boolean · optionnel
Break an active lease (a scrape currently using the session). Only set when you know it is safe.session_id· string · requis
The session id returned by spicrawl_session_create or spicrawl_session_list.
Exemple d'appel{"name": "spicrawl_session_delete", "arguments": {"session_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"deleted": true, "session_id": "texte"}} - spicrawl_session_get≈ 1098 tokens
Return one session's metadata: status, `engine` (its rendering tier), proxy/exit, usage count, expiry, lease holder, and a summary of its stored context. Never returns the credentials themselves (use spicrawl_session_context for that).
Paramètres, retour & exemple (1)
Paramètressession_id· string · requis
The session id returned by spicrawl_session_create or spicrawl_session_list.
Exemple d'appel{"name": "spicrawl_session_get", "arguments": {"session_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "lease": {}, "proxy": {}, "engine": "texte", "status": "texte", "context": "texte", "retired": "texte", "warnings": [], "created_at": "texte", "expires_at": "texte", "project_id": "texte", "sticky_key": "texte"}} - spicrawl_session_list≈ 1244 tokens
List this API key's project's sessions, newest first. Returns `{ sessions: [...], next_cursor? }`; pass `next_cursor` back as `cursor` for the next page. Never includes the stored credentials.
Paramètres, retour & exemple (4)
Paramètreslimit· integer · optionnel
Page size (default 50, max 200).cursor· string · optionnel
`next_cursor` from a previous page, verbatim.engine· string · optionnel · fetch | js | browser
Only sessions on this rendering tier.status· string · optionnel · active | released | expired
Only sessions in this state.
Exemple d'appel{"name": "spicrawl_session_list", "arguments": {"limit": 1, "cursor": "texte", "engine": "fetch", "status": "active"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"sessions": [], "next_cursor": "texte"}} - spicrawl_session_release≈ 1184 tokens
End a session when you are done with it: frees its exit IP and browser state; it can no longer be used with spicrawl_scrape. Its stored cookies and storage are purged and cannot be recovered; start a new session and log in again to continue. The record stays visible (status `released`) so its history can still be inspected. Refused while a scrape holds the session's lease unless `force` is true. Returns the session object.
Paramètres, retour & exemple (2)
Paramètresforce· boolean · optionnel
Break an active lease (a scrape currently using the session). Only set when you know it is safe.session_id· string · requis
The session id returned by spicrawl_session_create or spicrawl_session_list.
Exemple d'appel{"name": "spicrawl_session_release", "arguments": {"session_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "lease": {}, "proxy": {}, "engine": "texte", "status": "texte", "context": "texte", "retired": "texte", "warnings": [], "created_at": "texte", "expires_at": "texte", "project_id": "texte", "sticky_key": "texte"}} - spicrawl_usage≈ 1363 tokens
Billing-grade usage for your org over a date window, from the daily rollup (usage_daily), grouped by day, project, engine, feature or key. group_by=key returns per API key (key_id, name, prefix, project_id) counters per metric per day, from usage_key_daily; keyless (dashboard) usage is not in it, and a project-scoped key sees only its own project's keys. Use it to answer 'how many requests/credits did I use, and where'. The window defaults to the last 30 days including today; `to` is EXCLUSIVE (a single day 2026-08-01 is from=2026-08-01, to=2026-08-02) and the window may not exceed 400 days. The response carries stale_seconds (age of the newest rollup row; null when the window is empty). Requires the key to have the `read` scope.
Paramètres, retour & exemple (5)
Paramètresto· ? · optionnel
EXCLUSIVE end date, YYYY-MM-DD (UTC). Default: tomorrow, so today is included.from· string · optionnel
Inclusive start date, YYYY-MM-DD (UTC). Default: 29 days before today.metrics· array · optionnel
Metrics to return. Omit for all of them.group_by· string · optionnel · day | project | engine | feature | key
How to group the rows. Default 'day'.project_id· string · optionnel
Restrict to one project id (must be a valid Spicrawl identifier).
Exemple d'appel{"name": "spicrawl_usage", "arguments": {"to": "texte", "from": "texte", "metrics": [], "group_by": "day", "project_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"keys": "texte", "groups": "texte", "period": {}, "totals": "texte", "group_by": "texte", "warnings": [], "usage_as_of": "texte", "unattributed": "texte", "stale_seconds": 1}} - spicrawl_usage_reconciliation≈ 513 tokens
Drift report for ONE day: re-derives usage from that day's request log and compares it with the billed daily rollup, so you can see whether the rollup missed or double-counted anything. Defaults to yesterday (UTC); today is still accumulating and would always show drift. Requires the `read` scope.
Paramètres, retour & exemple (1)
Paramètresday· string · optionnel
The UTC day to reconcile, YYYY-MM-DD. Default: yesterday.
Exemple d'appel{"name": "spicrawl_usage_reconciliation", "arguments": {"day": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"day": "texte", "drift": "texte", "warnings": [], "repairable": true, "interpretation": "texte", "request_log_rows": 1}} - spicrawl_usage_summary≈ 946 tokens
A compact current-period summary of your org's usage (totals as of now, from the daily rollup). No parameters. Use for a quick 'how much have I used so far'; use spicrawl_usage for a windowed breakdown. Requires the `read` scope.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "spicrawl_usage_summary", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"plan": {}, "period": {}, "credits": "texte", "metrics": "texte", "warnings": [], "allowance": {}, "usage_as_of": "texte", "unattributed": "texte", "stale_seconds": 1, "period_elapsed_days": 1}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».