Scrayle Web Scraper
Scrayle.com gives AI agents full web access through 35 tools spanning scraping, browser automation, AI-powered browsing, workflow orchestration, and more.
What it can do
- Scraping.Scrape Url: Scrape a single web page and extract its content. Returns markdown, HTML, links, and metadata. Use this for extracting text content, articles, product info, or any structured data
- Scraping.Batch Scrape: Scrape multiple web pages at once. Ideal for scraping lists of URLs like search results, product listings, or article collections. Returns content for each URL.
- Crawl.Website: Crawl a website starting from a URL. Follows links to discover and scrape multiple pages. Use this when you need to extract content from an entire site or section, not just a single pag
What data it sees
Do you need an account
No: the server works without sign-in
Scrayle.com gives AI agents full web access through 35 tools spanning scraping, browser automation, AI-powered browsing, workflow orchestration, and more.
• Scrape & Crawl - Extract content from single pages or crawl entire sites. Batch scrape multiple URLs at once. Get clean markdown, HTML, links, and metadata.
• Cloud Browsers - Launch stealth cloud browsers with anti-detection. Navigate, click, type, screenshot, scroll, select dropdowns, and execute JavaScript - all remotely.
• AI Browser Agent - Let an AI agent browse the web autonomously. Give it a task and it figures out the clicks, scrolls, and form fills on its own.
• Workflows Create, run, and manage multi-step automation workflows. Chain scraping, browser actions, and data processing together.
• CAPTCHA Solving Solve reCAPTCHA, hCaptcha, Turnstile, and other challenges automatically.
• Marketplace - Browse and run pre-built scraping templates from the Scrayle marketplace.
• Key-Value Storage - Store and retrieve data across sessions with persistent cloud storage.
Server tool list (33)
Raw names from tools/list. Only developers need these.
| scraping.scrape-url | Scrape a single web page and extract its content. Returns markdown, HTML, links, and metadata. Use this for extracting text content, articles, product info, or any structured data from a URL. |
| scraping.batch-scrape | Scrape multiple web pages at once. Ideal for scraping lists of URLs like search results, product listings, or article collections. Returns content for each URL. |
| crawl.website | Crawl a website starting from a URL. Follows links to discover and scrape multiple pages. Use this when you need to extract content from an entire site or section, not just a single page. |
| crawl.cancel | Cancel a running crawl job by its ID. |
| browser.start-session | Launch a cloud browser session and connect to it. Returns a task ID to use with browser-navigate, browser-click, browser-type, browser-screenshot, browser-get-content, browser-evaluate, and other browser-* tools. The browser runs in the cloud with anti-detection and stealth. |
| browser.navigate | Navigate the browser to a URL. Returns the page title and URL after navigation. |
| browser.click | Click an element on the page by CSS selector. Waits for the element to be visible before clicking. |
| browser.type | Type text into an input field by CSS selector. Optionally clear the field first and press Enter after typing. |
| browser.screenshot | Take a screenshot of the current page. Returns a base64 PNG image. Use this to see what the page looks like. |
| browser.get-content | Get the visible text content of the page or a specific element. Use this to read what is on the page. |
| browser.evaluate | Execute JavaScript in the browser page. Returns the result. Use for custom interactions, data extraction, or DOM manipulation. |
| browser.select | Select an option from a dropdown/select element by value or label. |
| browser.scroll | Scroll the page up or down. |
| browser.wait | Wait for an element to appear on the page, or for the page to finish loading. |
| browser.close-session | Close an active cloud browser session and disconnect. |
| browser.list-profiles | List your saved browser profiles. Profiles store cookies, localStorage, IndexedDB, and fingerprint data so sessions stay logged in. |
| browser.create-profile | Create a new browser profile. The worker materializes a pinned fingerprint (UA + Client Hints + WebGL + screen + hardware) on the first session run, AFTER the real proxy exit IP is known, and persists cookies/localStorage/IndexedDB between sessions. Optionally pin a proxy so every session with this profile uses the same exit IP (required for durable logins — device-trust heuristics flag cross-country jumps even with cookies intact). Pass the returned `id` as `profileId` to `browser.start-session`. |
| browser.delete-profile | Permanently delete a browser profile and its encrypted session-state snapshot (cookies + localStorage + sessionStorage + IndexedDB). |
| workflow.create | Create a new workflow definition. A workflow is a sequence of browser automation steps (navigate, click, type, extract data, loop, etc). Provide a name and an array of nodes (steps) and edges (connections between steps). |
| workflow.list | List your saved workflow definitions. Returns workflow IDs, names, descriptions, and run counts. Use the workflow ID with run_workflow to execute one. |
| workflow.run | Execute a Scrayle workflow by its ID. Workflows are pre-built automation sequences that navigate websites, extract data, fill forms, and perform complex multi-step browser tasks. Use list_workflows to see available workflows. |
| workflow.get-status | Check the status of a running or completed workflow by its task ID. |
| workflow.list-runs | List your recent workflow runs with their status and timing. |
| workflow.get | Get the full definition of a workflow including all its nodes, edges, and input parameters. Use this to inspect or review a workflow before editing it. |
| workflow.update | Update an existing workflow definition. You can change the name, description, nodes (steps), or edges (connections). Use get_workflow first to retrieve the current definition, make your changes, and pass the updated arrays back. All fields are optional - only provided fields are updated. |
| storage.kv.create-namespace | Create a new key-value store namespace. You need a namespace before you can store keys. |
| storage.kv.get | Get a value from a key-value store namespace. |
| storage.kv.set | Set a value in a key-value store namespace. The value is stored as a string - objects will be JSON-stringified. |
| storage.kv.list-namespaces | List your KV store namespaces. |
| storage.dataset.create | Create a new dataset. Datasets store structured tabular data from scraping runs. |
| storage.dataset.list | List your datasets. Datasets store structured tabular data from scraping runs. |
| storage.dataset.get-items | Get items from a dataset. Returns structured data rows. |
| storage.dataset.add-items | Add items to a dataset. Each item is a flat JSON object representing one row of data. |