Start an Apify actor run in the background
apify.web.scrape.job.startStart a scraper run in the background and get back its run id
- Price
- freeZum Anbieterpreis
- Success rate
- 99,9 %Last 30 days · 1.509 calls
- Latency p50
- 4.4 sp95 15 s
- Last verified
- 31.07.2026Verified working
POSThttps://toolswitch.dev/v1/tools/apify.web.scrape.job.start?memory=256&timeout=60&waitForFinish=0&maxTotalChargeUsd=0.05Preview- Uses platform quota
- Synchronous response
- Reads public data
Parameter
the whole request body IS the actor's input object — there is no wrapper key; use the same fields as the run-sync entries above (startUrls/resultsLimit for the Facebook actor, search/limit for the TikTok one). Returns immediately with {data: {id, status, defaultDatasetId}}. This is the route for anything that outruns run-sync's 300-second ceiling: keep `id` to poll and `defaultDatasetId` to collect results. The test_request deliberately targets apify~hello-world rather than a data actor — REPLAYING IT STARTS A REAL RUN, and hello-world is the cheapest actor that exists (observed 2026-07-31: $0.00013 of compute, no results, so nothing pay-per-result can bill). Verified live 2026-07-31 that /actors/{id}/runs and the older /acts/{id}/runs are the same endpoint — both answer 201
| Parameter | Typ | Erforderlich | Beschreibung | Beispiel |
|---|---|---|---|---|
| Pfadparameter | ||||
actor_id | Zeichenkette | Erforderlich | username~actorname with a TILDE, e.g. apify~facebook-ads-scraper | apify~facebook-ads-scraper |
| Abfrageparameter | ||||
memory | Ganzzahl | Optional | MB; higher memory is faster and costs more compute | 2048 |
timeout | Ganzzahl | Optional | seconds the RUN may take (not the HTTP call) | 900 |
maxItems | Ganzzahl | Optional | result cap for pay-per-result actors | 500 |
waitForFinish | Ganzzahl | Optional | seconds to hold the HTTP response open waiting for the run, max 60 — a middle ground between async and run-sync | 0 |
maxTotalChargeUsd | Zahl | Optional | 5 | |
- Pfadparameter
actor_idZeichenketteErforderlichusername~actorname with a TILDE, e.g. apify~facebook-ads-scraper
Beispiel:
apify~facebook-ads-scraper- Abfrageparameter
memoryGanzzahlOptionalMB; higher memory is faster and costs more compute
Beispiel:
2048timeoutGanzzahlOptionalseconds the RUN may take (not the HTTP call)
Beispiel:
900maxItemsGanzzahlOptionalresult cap for pay-per-result actors
Beispiel:
500waitForFinishGanzzahlOptionalseconds to hold the HTTP response open waiting for the run, max 60 — a middle ground between async and run-sync
Beispiel:
0maxTotalChargeUsdZahlOptionalBeispiel:
5
Codebeispiele
Ersetze $TOOLSWITCH_KEY durch den in der Konsole erstellten Schlüssel.
curl -X POST 'https://toolswitch.dev/v1/tools/apify.web.scrape.job.start?memory=256&timeout=60&waitForFinish=0&maxTotalChargeUsd=0.05' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY" \
-H "Content-Type: application/json" \
--data-raw '{}'import os
import json
import requests
response = requests.request(
"POST",
"https://toolswitch.dev/v1/tools/apify.web.scrape.job.start?memory=256&timeout=60&waitForFinish=0&maxTotalChargeUsd=0.05",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
json=json.loads("{}"),
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/apify.web.scrape.job.start?memory=256&timeout=60&waitForFinish=0&maxTotalChargeUsd=0.05", {
method: "POST",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
"Content-Type": "application/json",
},
body: JSON.stringify(JSON.parse("{}")),
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());Diese Gateway-API ist eine Vorschauversion; URL und Authentifizierung können sich ändern. Die Beispielparameter sind Musterdaten. Aufrufe werden mit free einschließlich Servicegebühr abgerechnet.