Yeah, you guessed right - Apify also has its own API to enable programmatic access to the platform. Apify API is organized around RESTful HTTP endpoints. Both requests and responses (including errors) are encoded in JSON format with UTF-8. All API endpoints run on the host api.apify.com. For backwards compatibility, the legacy hostname api.apifier.com is still supported, but new integrations should not use it.

Note that you can find API endpoints related to specific sections of the app in the API tab, if available. For example, see the API tab on the actor list page.

IMPORTANT: All requests with JSON payloads need to specify the Content-Type: application/json HTTP header or they will not work!

For JavaScript / Node.js applications, the easiest way to access the Apify API is using the apify-client NPM package.

JavaScript API client

The apify-client NPM package provides a JavaScript client for both Crawlers API (v1) and Actors API (v2). This package greatly simplifies the development of apps that depend on the Apify platform.

API version 2

The latest version of the API used primarily to manage Apify actors and associated resources. The API enables the following operations:

  • List actors, view and update their settings
  • Run and stop actors
  • Manage key-value stores
  • Manage datasets
  • View user information
  • Download logs

View API version 2 reference

API version 1 (legacy)

This is a legacy API used to manage Apify crawlers. It enables the following operations:

  • List user's crawlers and access their settings
  • Execute a specific crawler, list its executions, check their status and stop them
  • Return the results of a particular crawler's execution

View API version 1 reference