Scrapers
Scrapers are pre-built modules on the Scrayle platform that handle specific scraping and unlocking tasks. Each scraper targets a particular website or use case - for example, Google search extraction or web page unlocking. You select a scraper by passing its identifier (the actor field) in your request.
What Are Scrapers?
Every scraping, SERP, and universal request uses a scraper under the hood. Scrapers follow acategory.name naming convention:
| Scraper ID | Category | Description |
|---|---|---|
scraper.google.search | DeepSERP | Google search result extraction |
unlocker.webUnlocker | Universal | General web page unlocking with anti-bot bypass |
unlocker.jsRender | Universal | JavaScript rendering for dynamic pages |
unlocker.akamaiWebCookie | Universal | Akamai cookie generation |
unlocker.akamaiWebSensor | Universal | Akamai sensor data generation |
Check the dashboard for the full list, or call client.actor.getActors().
Using Scrapers
You reference scrapers by their ID in the actor field of any scraping request:
// DeepSERP - Google search
const results = await client.deepserp.scrape({
actor: 'scraper.google.search',
input: { q: 'web scraping API' },
});
// Universal - Web unlocking
const page = await client.universal.scrape({
actor: 'unlocker.webUnlocker',
input: { url: 'https://example.com' },
});Scraper Management (Advanced)
The SDK exposes client.actor for managing and running scrapers programmatically. This is an advanced feature - most users will use the higher-level client.scraping,client.deepserp, and client.universal services instead.
List Available Scrapers
const scrapers = await client.actor.getActors();
for (const scraper of scrapers) {
console.log(scraper.name, scraper.description);
}Run a Scraper Directly
const result = await client.actor.callActor({
actor: 'scraper.google.search',
input: { q: 'web scraping' },
});Run Asynchronously
const run = await client.actor.startActor({
actor: 'scraper.google.search',
input: { q: 'web scraping' },
});
console.log(run.runId);
// Check result later
const result = await client.actor.getActorRunResult(run.actorId, run.runId);View Run History
const runs = await client.actor.getActorRuns('scraper-id');
for (const run of runs) {
console.log(run.id, run.status, run.startedAt);
}Get Run Logs
const logs = await client.actor.getRunLogs('scraper-id', 'run-id');
console.log(logs);