QUICKSTART

From your terminal
to your dataset.

Cravl Actors run on Apify. Start in the console, then use the API to integrate the same workflow.

01. Configure your input

Choose an available Actor from the catalog. Use its Apify input schema to create input.json. Input fields vary by Actor, so do not reuse one schema across platforms.

Set ACTOR_ID to its ID and provide APIFY_TOKEN securely in your environment. Never ship a token in frontend code or commit it to Git.

02. Start a run

The request starts an asynchronous run. Save data.id from the response as RUN_ID.

curl -X POST \
  "https://api.apify.com/v2/acts/$ACTOR_ID/runs" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  --data @input.json

03. Wait, then get results

Check the run endpoint at a bounded interval. Continue only after data.status is SUCCEEDED; handle failed, aborted, and timed-out runs explicitly.

curl "https://api.apify.com/v2/actor-runs/$RUN_ID" \
  -H "Authorization: Bearer $APIFY_TOKEN"

Set DATASET_ID to the run’s data.defaultDatasetId. Retrieve the dataset, using pagination for larger results.

curl "https://api.apify.com/v2/datasets/$DATASET_ID/items?format=json&clean=true" \
  -H "Authorization: Bearer $APIFY_TOKEN"

Apify API reference ↗

04. Inspect actual output

Saved local test excerpts show output shape, not a coverage guarantee. Missing fields and guest-visible subsets should be handled in your application.

Instagram comments / post header

{
  "url": "https://www.instagram.com/p/Dcy8AcYEQ1w/",
  "kind": "post",
  "owner": "adidasmotorsport",
  "commentCountExact": 20223,
  "guestVisibleCount": 47,
  "guestHasMore": true
}

Local staging dataset · Capture time not recorded. Selected fields from a saved dataset. Not a live response.