Dashboard

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 IDCategoryDescription
scraper.google.searchDeepSERPGoogle search result extraction
unlocker.webUnlockerUniversalGeneral web page unlocking with anti-bot bypass
unlocker.jsRenderUniversalJavaScript rendering for dynamic pages
unlocker.akamaiWebCookieUniversalAkamai cookie generation
unlocker.akamaiWebSensorUniversalAkamai 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);