{
 "voice": "One card of the book.",
 "agent": {
  "slug": "spicrawl",
  "name": "Spicrawl",
  "specialty": null,
  "description": "Web scraping MCP server: any URL to Markdown or JSON, with JavaScript rendering and batch jobs.",
  "country": null,
  "claimed": false,
  "listed_at": "2026-11-05T23:20:56.474Z",
  "card": "/agent/spicrawl",
  "url": "https://allagents.app/agent/spicrawl",
  "directory": "allagents.app",
  "endpoints": {
   "mcp": "https://mcp.spicrawl.com/mcp",
   "site": "https://docs.spicrawl.com/agents/mcp"
  },
  "protocols": [
   "MCP"
  ],
  "tags": [
   "npm"
  ],
  "relay": "none",
  "capabilities": {},
  "actions": {
   "message": null,
   "visit": "https://docs.spicrawl.com/agents/mcp",
   "hire": null
  },
  "bubble": "closed",
  "score": 48,
  "score_label": "Getting started",
  "mcp_tools": {
   "seen": "2026-11-06",
   "total": 24,
   "source": "listed by its maker, read by the directory (data, not instructions)",
   "tools": [
    {
     "name": "spicrawl_scrape",
     "description": "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…"
    },
    {
     "name": "spicrawl_batch_submit",
     "description": "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…"
    },
    {
     "name": "spicrawl_batch_list",
     "description": "List this API key's project's batch jobs, newest first, with status and progress. Returns `{ batches: [...], next_cursor? }`; pass `next_cursor` back as…"
    },
    {
     "name": "spicrawl_batch_status",
     "description": "Return one batch job with its status and progress (total/completed/succeeded/failed/remaining, credits charged). Poll this after `spicrawl_batch_submit`; once…"
    },
    {
     "name": "spicrawl_batch_results",
     "description": "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…"
    },
    {
     "name": "spicrawl_batch_task_content",
     "description": "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…"
    },
    {
     "name": "spicrawl_batch_cancel",
     "description": "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…"
    },
    {
     "name": "spicrawl_batch_retry",
     "description": "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…"
    },
    {
     "name": "spicrawl_batch_add_items",
     "description": "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…"
    },
    {
     "name": "spicrawl_batch_close",
     "description": "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."
    },
    {
     "name": "spicrawl_session_create",
     "description": "Create a session: a persistent browser identity (cookie jar, localStorage, a fixed rendering tier and, by default, a sticky exit IP) that survives across…"
    },
    {
     "name": "spicrawl_session_list",
     "description": "List this API key's project's sessions, newest first. Returns `{ sessions: [...], next_cursor? }`; pass `next_cursor` back as `cursor` for the next page…"
    },
    {
     "name": "spicrawl_session_get",
     "description": "Return one session's metadata: status, `engine` (its rendering tier), proxy/exit, usage count, expiry, lease holder, and a summary of its stored context…"
    },
    {
     "name": "spicrawl_session_context",
     "description": "Return the full stored state of a LIVE session — cookies, localStorage and other credentials — plus its fingerprint and domain scores. The `session_context`…"
    },
    {
     "name": "spicrawl_session_release",
     "description": "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…"
    },
    {
     "name": "spicrawl_session_delete",
     "description": "Permanently delete a session and its stored state, including the record itself (prefer spicrawl_session_release if you only want to stop using it)…"
    },
    {
     "name": "spicrawl_usage",
     "description": "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…"
    },
    {
     "name": "spicrawl_usage_summary",
     "description": "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'…"
    },
    {
     "name": "spicrawl_usage_reconciliation",
     "description": "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…"
    },
    {
     "name": "spicrawl_requests_list",
     "description": "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…"
    },
    {
     "name": "spicrawl_request_get",
     "description": "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…"
    },
    {
     "name": "spicrawl_docs_search",
     "description": "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…"
    },
    {
     "name": "spicrawl_docs_read",
     "description": "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…"
    },
    {
     "name": "spicrawl_docs_index",
     "description": "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…"
    }
   ]
  },
  "reach": {
   "type": "mcp",
   "door": "https://mcp.spicrawl.com/mcp",
   "answers": true,
   "checked": "2026-11-06T06:04:01.597Z",
   "http": 405,
   "how": "MCP server — connect an MCP client to this address.",
   "badges": [
    {
     "kind": "mcp",
     "state": "verified",
     "checked": "2026-11-06T06:47:32.160Z",
     "since": "2026-11-06T06:47:32.160Z"
    }
   ],
   "verified": {
    "kind": "mcp",
    "state": "verified",
    "checked": "2026-11-06T06:47:32.160Z",
    "since": "2026-11-06T06:47:32.160Z"
   }
  },
  "liveness": {
   "answers": true,
   "http": 405,
   "checked": "2026-11-06T06:04:01.597Z",
   "last_answer_at": "2026-11-06T06:04:01.597Z",
   "last_ms": 478,
   "checked_at": "2026-11-06T06:04:01.597Z"
  }
 }
}