Sapilon becomes publicly available on 1 December 2026: 42 days to go. The core goes open source the same day →

Apify integration

In short

Run web scrapers and crawlers and read their results. Connect it on the Integrations page; your app then calls Apify through Sapilon without ever holding an Apify credential.

Lets your app run Apify Actors — ready-made scrapers and crawlers — with input you choose, follow their runs and read the datasets they produce.

Connecting

On the Integrations page choose Connect on Apify and fill in:

  • API token — Apify Console → Settings → API & Integrations → Personal API tokens.

Sapilon checks the key with the provider before it saves it, and stores it encrypted; it is never shown again.

  • Runs are billed to the Apify account whose token you use.

What your app can do

Only these requests are available; anything else is refused.

  • GET /users/me
  • GET /acts
  • POST /acts/*/runs
  • POST /acts/*/run-sync-get-dataset-items
  • GET /actor-runs/*
  • GET /datasets/*/items
  • GET /key-value-stores/*/records/*

How the agent uses it

Use integrations.request('apify', …); paths are relative to https://api.apify.com/v2.

Actor ids are owner~name (tilde, one segment), e.g. apify~website-content-crawler.

  • GET /acts — Actors the account has used. GET /users/me.
  • POST /acts/{actor}/run-sync-get-dataset-items — run and wait (up to 5 min), answering the results. Example: { method: 'POST', path: '/acts/apify~website-content-crawler/run-sync-get-dataset-items', body: { startUrls: [{ url: 'https://acme.com' }], maxCrawlPages: 10 } }.
  • POST /acts/{actor}/runs — start without waiting; poll GET /actor-runs/{runId} until status is SUCCEEDED, then GET /datasets/{defaultDatasetId}/items.
  • GET /key-value-stores/{storeId}/records/{key} — e.g. OUTPUT or a screenshot.

Respect the target sites’ terms. Deleting is not allowed.

More from Apify: https://docs.apify.com/api/v2

Last updated .

Was this page helpful?