Apify integrationApify logo

Apify integration for AI agents.

Apify integration for AI agents with secure authentication and server-side credential injection. Open Connector runs the OAuth, seals the token in an encrypted vault, and serves Apify tools to your agent over MCP or a typed API — credentials injected server-side, every call audited, nothing leaving your infrastructure. Open source (AGPL-3.0) and self-hostable.

What your agents can do

Real Apify actions, managed and audited.

Your user connects Apify once; your agent can then run actors and manage Apify datasets, key-value stores, schedules, crawlers, and automation resources — scoped to the OAuth permissions you grant and the tool allowlist you configure. Every action is least-privilege and written to a tamper-evident audit trail.

  1. 1

    Your user grants Apify access once (OAuth) — the token lands in the vault.

  2. 2

    Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.

  3. 3

    Every routed call appends a hash-chained audit record — nothing leaves your infra.

Tools & triggers

Supported Apify tools.

229 tools are generated from the published Apify catalog. Descriptions are plain text; each action remains subject to its configured authentication and tool allowlist.

Showing 229 tools. All published catalog entries are included in this page's server-rendered HTML.

Abort build
**[DEPRECATED]** API endpoints related to build of the Actor were moved under new namespace [`actor-builds`](#/reference/actor-builds). Aborts an Actor build and returns an object that contains all the details about the build. Only builds that are starting or running are aborted. For builds with status `FINISHED`, `FAILED`, `ABORTING` and `TIMED-OUT` this call does nothing.
Actors/Actor builds
Get default build
Get the default build for an Actor. Use the optional `waitForFinish` parameter to synchronously wait for the build to finish. This avoids the need for periodic polling when waiting for the build to complete. This endpoint does not require an authentication token. Instead, calls are authenticated using the Actor's unique ID. However, if you access the endpoint without a token, certain attributes (e.g., `usageUsd` and `usageTotalUsd`) will be hidden.
Actors/Actor builds
Get build
By passing the optional `waitForFinish` parameter the API endpoint will synchronously wait for the build to finish. This is useful to avoid periodic polling when waiting for an Actor build to finish. This endpoint does not require the authentication token. Instead, calls are authenticated using a hard-to-guess ID of the build. However, if you access the endpoint without the token, certain attributes, such as `usageUsd` and `usageTotalUsd`, will be hidden.
Actors/Actor builds
Get list of builds
Gets the list of builds of a specific Actor. The response is a JSON with the list of objects, where each object contains basic information about a single build. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 records. By default, the records are sorted by the `startedAt` field in ascending order, therefore you can use pagination to incrementally fetch all builds while new ones are still being started. To sort the records in descending order, use the `desc=1` parameter.
Actors/Actor builds
Build Actor
Builds an Actor. The response is the build object as returned by the [Get build](#/reference/actors/build-object/get-build) endpoint.
Actors/Actor builds
Delete Actor
Deletes an Actor with the specified ID.
Actors
Get Actor
Gets an object that contains all the details about a specific Actor.
Actors
Get OpenAPI definition
Get the OpenAPI definition for Actor builds. Two similar endpoints are available: - [First endpoint](/api/v2/act-openapi-json-get): Requires both `actorId` and `buildId`. Use `default` as the `buildId` to get the OpenAPI schema for the default Actor build. - [Second endpoint](/api/v2/actor-build-openapi-json-get): Requires only `buildId`. Get the OpenAPI definition for a specific Actor build. To fetch the default Actor build, simply pass `default` as the `buildId`. Authentication is based on the build's unique ID. No authentication token is required. :::note You can also use the [`/api/v2/actor-build-openapi-json-get`](/api/v2/actor-build-openapi-json-get) endpoint to get the OpenAPI definition for a build. :::
Actors/Actor builds
Update Actor
Updates an Actor's settings with the values specified in an `Actor` object passed as JSON in the POST payload. Only the fields specified in the request body are updated. Returns the full `Actor` object, the same as the [Get Actor](/api/v2/act-get) endpoint. In the HTTP request, set the `Content-Type` header to `application/json`. ### Authentication To provide the authentication token, we recommend using the request's `Authorization` header, rather than the URL. For details, see [Authentication](/api/v2/getting-started#authentication). ### Make an Actor public To make your Actor [public](https://docs.apify.com/platform/actors/publishing): - Set `isPublic` to `true`. - Provide `title` and `categories`. For reference, see [constants from the `apify-shared-js` package](https://github.com/apify/apify-shared-js/blob/2d43ebc41ece9ad31cd6525bd523fb86939bf860/packages/consts/src/consts.ts#L452-L471) ### Update build tags To change tags assigned to Actor builds, use the `taggedBuilds` object. It's a dictionary that maps tag names to specific builds, where: - the key is the tag name, for example `latest` or `beta` - the value is either `null` or an object with a build ID Changing tags is a patch operation. Only the tags that you provide in this object are updated. Note that you can assign multiple tags to a single build, but you can't assign the same tag to multiple builds. - To create or reassign a tag, provide the tag name with a build ID. For example, to assign the `latest` tag to a build, use: ```json { "latest": { "buildId": "z2EryhbfhgSyqj6Hn" } } ``` - To remove a tag from a build, provide the tag name with a `null` value. For example, to remove the `beta` tag, use: ```json { "beta": null } ``` - You can perform multiple actions at once. The following example reassigns `latest` and removes `beta`, while preserving other existing tags: ```json { "latest": { "buildId": "z2EryhbfhgSyqj6Hn" }, "beta": null } ```
Actors
Abort run
**[DEPRECATED]** API endpoints related to run of the Actor were moved under new namespace [`actor-runs`](#/reference/actor-runs). Aborts an Actor run and returns an object that contains all the details about the run. Only runs that are starting or running are aborted. For runs with status `FINISHED`, `FAILED`, `ABORTING` and `TIMED-OUT` this call does nothing.
Actors/Actor runs
Get run
**[DEPRECATED]** API endpoints related to run of the Actor were moved under new namespace [`actor-runs`](#/reference/actor-runs). Gets an object that contains all the details about a specific run of an Actor. By passing the optional `waitForFinish` parameter the API endpoint will synchronously wait for the run to finish. This is useful to avoid periodic polling when waiting for Actor run to complete. This endpoint does not require the authentication token. Instead, calls are authenticated using a hard-to-guess ID of the run. However, if you access the endpoint without the token, certain attributes, such as `usageUsd` and `usageTotalUsd`, will be hidden.
Actors/Actor runs
Metamorph run
**[DEPRECATED]** API endpoints related to run of the Actor were moved under new namespace [`actor-runs`](#/reference/actor-runs). Transforms an Actor run into a run of another Actor with a new input. This is useful if you want to use another Actor to finish the work of your current Actor run, without the need to create a completely new run and waiting for its finish. For the users of your Actors, the metamorph operation is transparent, they will just see your Actor got the work done. There is a limit on how many times you can metamorph a single run. You can check the limit in [the Actor runtime limits](https://docs.apify.com/platform/limits#actor-limits). Internally, the system stops the Docker container corresponding to the Actor run and starts a new container using a different Docker image. All the default storages are preserved and the new input is stored under the `INPUT-METAMORPH-1` key in the same default key-value store. For more information, see the [Actor docs](https://docs.apify.com/platform/actors/development/programming-interface/metamorph).
Actors/Actor runs
Resurrect run
**[DEPRECATED]** API endpoints related to run of the Actor were moved under new namespace [`actor-runs`](#/reference/actor-runs).Resurrects a finished Actor run and returns an object that contains all the details about the resurrected run. Only finished runs, i.e. runs with status `FINISHED`, `FAILED`, `ABORTED` and `TIMED-OUT` can be resurrected. Run status will be updated to RUNNING and its container will be restarted with the same storages (the same behaviour as when the run gets migrated to the new server). For more information, see the [Actor docs](https://docs.apify.com/platform/actors/running/runs-and-builds#resurrection-of-finished-run).
Actors/Actor runs
Run Actor synchronously without input
Runs a specific Actor and returns a key-value store record. The response contains the record stored under the `OUTPUT` key in the run's default key-value store. This is a legacy approach that has been replaced by the Actor [output object](https://docs.apify.com/platform/actors/development/actor-definition/output-schema#output-object-definition); the record may not exist, in which case the response contains no data. Use the `outputRecordKey` query parameter to return a different record. The run must finish in 300<!-- MAX_ACTOR_JOB_SYNC_WAIT_SECS --> seconds otherwise the API endpoint returns a timeout error. The Actor is not passed any input. Beware that it might be impossible to maintain an idle HTTP connection for a long period of time, due to client timeout or network conditions. Make sure your HTTP client is configured to have a long enough connection timeout. If the connection breaks, you will not receive any information about the run and its status. To run the Actor asynchronously, use the [Run Actor](#/reference/actors/run-collection/run-actor) API endpoint instead.
Actors/Actor runs
Run Actor synchronously without input and get dataset items
Runs a specific Actor and returns its dataset items. The run must finish in 300<!-- MAX_ACTOR_JOB_SYNC_WAIT_SECS --> seconds otherwise the API endpoint returns a timeout error. The Actor is not passed any input. It allows to send all possible options in parameters from [Get Dataset Items](#/reference/datasets/item-collection/get-items) API endpoint. Beware that it might be impossible to maintain an idle HTTP connection for a long period of time, due to client timeout or network conditions. Make sure your HTTP client is configured to have a long enough connection timeout. If the connection breaks, you will not receive any information about the run and its status. To run the Actor asynchronously, use the [Run Actor](#/reference/actors/run-collection/run-actor) API endpoint instead.
Actors/Actor runs
Run Actor synchronously and get dataset items
Runs a specific Actor and returns its dataset items. The POST payload including its `Content-Type` header is passed as `INPUT` to the Actor (usually `application/json`). The HTTP response contains the Actors dataset items, while the format of items depends on specifying dataset items' `format` parameter. You can send all the same options in parameters as the [Get Dataset Items](#/reference/datasets/item-collection/get-items) API endpoint. The Actor is started with the default options; you can override them using URL query parameters. If the Actor run exceeds 300<!-- MAX_ACTOR_JOB_SYNC_WAIT_SECS --> seconds, the HTTP response will return the 408 status code (Request Timeout). Beware that it might be impossible to maintain an idle HTTP connection for a long period of time, due to client timeout or network conditions. Make sure your HTTP client is configured to have a long enough connection timeout. If the connection breaks, you will not receive any information about the run and its status. To run the Actor asynchronously, use the [Run Actor](#/reference/actors/run-collection/run-actor) API endpoint instead.
Actors/Actor runs
Run Actor synchronously and return key-value store record
Runs a specific Actor and returns a key-value store record. The POST payload including its `Content-Type` header is passed as `INPUT` to the Actor (usually <code>application/json</code>). The response contains the record stored under the `OUTPUT` key in the run's default key-value store. This is a legacy approach that has been replaced by the Actor [output object](https://docs.apify.com/platform/actors/development/actor-definition/output-schema#output-object-definition); Actors aren't required to store a record under this key, so the response may not contain any data. Use the `outputRecordKey` query parameter to return a different record. The Actor is started with the default options; you can override them using various URL query parameters. If the Actor run exceeds 300<!-- MAX_ACTOR_JOB_SYNC_WAIT_SECS --> seconds, the HTTP response will have status 408 (Request Timeout). Beware that it might be impossible to maintain an idle HTTP connection for a long period of time, due to client timeout or network conditions. Make sure your HTTP client is configured to have a long enough connection timeout. If the connection breaks, you will not receive any information about the run and its status. To run the Actor asynchronously, use the [Run Actor](#/reference/actors/run-collection/run-actor) API endpoint instead.
Actors/Actor runs
Get list of runs
Gets the list of runs of a specific Actor. The response is a list of objects, where each object contains basic information about a single Actor run. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 array elements. By default, the records are sorted by the `startedAt` field in ascending order, therefore you can use pagination to incrementally fetch all records while new ones are still being created. To sort the records in descending order, use `desc=1` parameter. You can also filter runs by status ([available statuses](https://docs.apify.com/platform/actors/running/runs-and-builds#lifecycle)).
Actors/Actor runs
Abort Actor's last run
Aborts the last run of the specified Actor and returns an object that contains all the details about the run. This endpoint is a shortcut for [Abort run](#/reference/actor-runs/abort-run/abort-run) on the Actor's last run. Only runs that are starting or running are aborted. For runs with status `FINISHED`, `FAILED`, `ABORTING` and `TIMED-OUT` this call does nothing.
Last Actor run's abort
Delete last run's default dataset
Deletes the default dataset associated with the last Actor run. This endpoint is a shortcut for getting the last run's `defaultDatasetId` and then using the [Delete dataset](/api/v2/dataset-delete) endpoint.
Last Actor run's default dataset
Get last run's default dataset
Returns the default dataset associated with the last Actor run. This endpoint is a shortcut for getting the last run's `defaultDatasetId` and then using the [Get dataset](/api/v2/dataset-get) endpoint.
Last Actor run's default dataset
Get last run's dataset items
Returns data stored in the default dataset of the last Actor run in the desired format. This endpoint is a shortcut that resolves the last run's `defaultDatasetId` and proxies to the [Get dataset items](/api/v2/dataset-items-get) endpoint.
Last Actor run's default dataset
Store items in last run's dataset
Appends an item or an array of items to the end of the last Actor run's default dataset. This endpoint is a shortcut that resolves the last run's `defaultDatasetId` and proxies to the [Store items](/api/v2/dataset-items-post) endpoint.
Last Actor run's default dataset
Update last run's default dataset
Updates the default dataset associated with the last Actor run. This endpoint is a shortcut for getting the last run's `defaultDatasetId` and then using the [Update dataset](/api/v2/dataset-put) endpoint.
Last Actor run's default dataset
Get last run's dataset statistics
Returns statistics for the last Actor run's default dataset. This endpoint is a shortcut that resolves the last run's `defaultDatasetId` and proxies to the [Get dataset statistics](/api/v2/dataset-statistics-get) endpoint.
Last Actor run's default dataset
Get last run
This is not a single endpoint, but an entire group of endpoints that lets you to retrieve and manage the last run of given Actor or any of its default storages. All the endpoints require an authentication token. The base path represents the last Actor run object is: `/v2/actors/{actorId}/runs/last{?token,status,origin}` Using the `status` query parameter you can ensure to only get a run with a certain status (e.g. `status=SUCCEEDED`). Similarly, the `origin` query parameter filters runs by the means by which they were started (e.g. `origin=API`). The output of this endpoint and other query parameters are the same as in the [Run object](#/reference/actors/run-object) endpoint. ##### Convenience endpoints for last Actor run * [Dataset](/api/v2/last-actor-runs-default-dataset) * [Key-value store](/api/v2/last-actor-runs-default-key-value-store) * [Request queue](/api/v2/last-actor-runs-default-request-queue) * [Log](/api/v2/last-actor-runs-log)
Actors/Actor runs
Delete last run's default store
Deletes the last Actor run key-value store. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Delete store](/api/v2/key-value-store-delete) endpoint.
Last Actor run's default key-value store
Get last run's default store
Gets an object that contains all the details about the default key-value store associated with the last Actor run. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Get store](/api/v2/key-value-store-get) endpoint.
Last Actor run's default key-value store
Get last run's default store's list of keys
Returns a list of keys for the default key-value store of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultKeyValueStoreId` and then using the [Get list of keys](/api/v2/key-value-store-keys-get) endpoint.
Last Actor run's default key-value store
Update last run's default store
Updates the last Actor run key-value store's name and general resource access level using a value specified by a JSON object passed in the PUT payload. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Update store](/api/v2/key-value-store-put) endpoint.
Last Actor run's default key-value store
Delete last run's default store's record
Removes a record specified by a key from the default key-value store of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultKeyValueStoreId` and then using the [Delete record](/api/v2/key-value-store-record-delete) endpoint.
Last Actor run's default key-value store
Get last run's default store's record
Gets a value stored under a specific key in the default key-value store of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultKeyValueStoreId` and then using the [Get record](/api/v2/key-value-store-record-get) endpoint.
Last Actor run's default key-value store
Store record in last run's default store (POST)
Stores a value under a specific key in the default key-value store of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultKeyValueStoreId` and then using the [Store record](/api/v2/key-value-store-record-post) endpoint.
Last Actor run's default key-value store
Store record in last run's default store
Stores a value under a specific key in the default key-value store of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultKeyValueStoreId` and then using the [Store record](/api/v2/key-value-store-record-put) endpoint.
Last Actor run's default key-value store
Download last run's default store's records
Downloads all records from the default key-value store of the last Actor run as a ZIP archive. This endpoint is a shortcut for getting the last run's `defaultKeyValueStoreId` and then using the [Download records](/api/v2/key-value-store-records-get) endpoint.
Last Actor run's default key-value store
Get last Actor run's log
Retrieves last Actor run's logs. This endpoint is a shortcut for getting last Actor run's log. Same as [Get log](/api/v2/log-get) endpoint.
Last Actor run's log
Metamorph Actor's last run
Transforms the last run of the specified Actor into a run of another Actor with a new input. This endpoint is a shortcut for [Metamorph run](#/reference/actor-runs/metamorph-run/metamorph-run) on the Actor's last run.
Last Actor run's metamorph
Reboot Actor's last run
Reboots the last run of the specified Actor and returns an object that contains all the details about the rebooted run. This endpoint is a shortcut for [Reboot run](#/reference/actor-runs/reboot-run/reboot-run) on the Actor's last run. Only runs with status `RUNNING` can be rebooted. The run's container will be restarted, so any data not persisted in the key-value store, dataset, or request queue will be lost.
Last Actor run's reboot
Delete last run's default request queue
Deletes the default request queue associated with the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Delete request queue](/api/v2/request-queue-delete) endpoint.
Last Actor run's default request queue
Get last run's default request queue
Returns the default request queue associated with the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Get request queue](/api/v2/request-queue-get) endpoint.
Last Actor run's default request queue
Get last run's default request queue head
Returns the given number of first requests from the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Get head](/api/v2/request-queue-head-get) endpoint.
Last Actor run's default request queue
Get and lock last run's default request queue head
Returns the given number of first requests from the default request queue of the last Actor run and locks them for the given time. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Get head and lock](/api/v2/request-queue-head-lock-post) endpoint.
Last Actor run's default request queue
Update last run's default request queue
Updates the default request queue associated with the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Update request queue](/api/v2/request-queue-put) endpoint.
Last Actor run's default request queue
Delete request from last run's default request queue
Deletes a request from the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Delete request](/api/v2/request-queue-request-delete) endpoint.
Last Actor run's default request queue
Get request from last run's default request queue
Returns a request from the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Get request](/api/v2/request-queue-request-get) endpoint.
Last Actor run's default request queue
Delete lock on request in last run's default request queue
Deletes a request lock in the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Delete request lock](/api/v2/request-queue-request-lock-delete) endpoint.
Last Actor run's default request queue
Prolong lock on request in last run's default request queue
Prolongs a request lock in the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Prolong request lock](/api/v2/request-queue-request-lock-put) endpoint.
Last Actor run's default request queue
Update request in last run's default request queue
Updates a request in the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Update request](/api/v2/request-queue-request-put) endpoint.
Last Actor run's default request queue
Batch delete requests from last run's default request queue
Batch-deletes requests from the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Delete requests](/api/v2/request-queue-requests-batch-delete) endpoint.
Last Actor run's default request queue
Batch add requests to last run's default request queue
Adds requests to the default request queue of the last Actor run in batch. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Add requests](/api/v2/request-queue-requests-batch-post) endpoint.
Last Actor run's default request queue
List last run's default request queue's requests
Returns a list of requests from the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [List requests](/api/v2/request-queue-requests-get) endpoint.
Last Actor run's default request queue
Add request to last run's default request queue
Adds a request to the default request queue of the last Actor run. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Add request](/api/v2/request-queue-requests-post) endpoint.
Last Actor run's default request queue
Unlock requests in last run's default request queue
Unlocks requests in the default request queue of the last Actor run that are currently locked by the client. This endpoint is a shortcut for getting the last run's `defaultRequestQueueId` and then using the [Unlock requests](/api/v2/request-queue-requests-unlock-post) endpoint.
Last Actor run's default request queue
Run Actor
Runs an Actor and immediately returns without waiting for the run to finish. The POST payload including its `Content-Type` header is passed as `INPUT` to the Actor (usually `application/json`). The Actor is started with the default options; you can override them using various URL query parameters. The response is the Run object as returned by the [Get run](#/reference/actor-runs/run-object-and-its-storages/get-run) API endpoint. If you want to wait for the run to finish and receive the actual output of the Actor as the response, please use one of the [Run Actor synchronously](#/reference/actors/run-actor-synchronously) API endpoints instead. To fetch the Actor run results that are typically stored in the default dataset, you'll need to pass the ID received in the `defaultDatasetId` field received in the response JSON to the [Get dataset items](#/reference/datasets/item-collection/get-items) API endpoint.
Actors/Actor runs
Validate Actor input
Validates the provided input against the Actor's input schema for the specified build. The endpoint checks whether the JSON payload conforms to the input schema defined in the Actor's build. If no `build` query parameter is provided, the `latest` build tag is used by default.
Actors
Delete version
Deletes a specific version of Actor's source code.
Actors/Actor versions
Delete environment variable
Deletes a specific environment variable.
Actors/Actor versions
Get environment variable
Gets a [EnvVar object](#/reference/actors/environment-variable-object) that contains all the details about a specific environment variable of an Actor. If `isSecret` is set to `true`, then `value` will never be returned.
Actors/Actor versions
Update environment variable (POST)
Updates Actor environment variable using values specified by a [EnvVar object](#/reference/actors/environment-variable-object) passed as JSON in the POST payload. This endpoint is an alias for the [`PUT` update environment variable](#tag/ActorsEnvironment-variable-object/operation/act_version_envVar_put) method and behaves identically.
Actors/Actor versions
Update environment variable
Updates Actor environment variable using values specified by a [EnvVar object](#/reference/actors/environment-variable-object) passed as JSON in the POST payload. If the object does not define a specific property, its value will not be updated. The request needs to specify the `Content-Type: application/json` HTTP header! When providing your API authentication token, we recommend using the request's `Authorization` header, rather than the URL. ([More info](#/introduction/authentication)). The response is the [EnvVar object](#/reference/actors/environment-variable-object) as returned by the [Get environment variable](#/reference/actors/environment-variable-object/get-environment-variable) endpoint.
Actors/Actor versions
Get list of environment variables
Gets the list of environment variables for a specific version of an Actor. The response is a JSON object with the list of [EnvVar objects](#/reference/actors/environment-variable-object), where each contains basic information about a single environment variable.
Actors/Actor versions
Create environment variable
Creates an environment variable of an Actor using values specified in a [EnvVar object](#/reference/actors/environment-variable-object) passed as JSON in the POST payload. The request must specify `name` and `value` parameters (as strings) in the JSON payload and a `Content-Type: application/json` HTTP header. ``` { "name": "ENV_VAR_NAME", "value": "my-env-var" } ``` The response is the [EnvVar object](#/reference/actors/environment-variable-object) as returned by the [Get environment variable](#/reference/actors/environment-variable-object/get-environment-variable) endpoint.
Actors/Actor versions
Get version
Gets a [Version object](#/reference/actors/version-object) that contains all the details about a specific version of an Actor.
Actors/Actor versions
Update version (POST)
Updates Actor version using values specified by a [Version object](#/reference/actors/version-object) passed as JSON in the POST payload. This endpoint is an alias for the [`PUT` update version](#tag/ActorsVersion-object/operation/act_version_put) method and behaves identically.
Actors/Actor versions
Update version
Updates Actor version using values specified by a [Version object](#/reference/actors/version-object) passed as JSON in the POST payload. If the object does not define a specific property, its value will not be updated. The request needs to specify the `Content-Type: application/json` HTTP header! When providing your API authentication token, we recommend using the request's `Authorization` header, rather than the URL. ([More info](#/introduction/authentication)). The response is the [Version object](#/reference/actors/version-object) as returned by the [Get version](#/reference/actors/version-object/get-version) endpoint.
Actors/Actor versions
Get list of versions
Gets the list of versions of a specific Actor. The response is a JSON object with the list of [Version objects](#/reference/actors/version-object), where each contains basic information about a single version.
Actors/Actor versions
Create version
Creates a version of an Actor using values specified in a [Version object](#/reference/actors/version-object) passed as JSON in the POST payload. The request must specify `versionNumber` and `sourceType` parameters (as strings) in the JSON payload and a `Content-Type: application/json` HTTP header. Each `sourceType` requires its own additional properties to be passed to the JSON payload object. These are outlined in the [Version object](#/reference/actors/version-object) table below and in more detail in the [Apify documentation](https://docs.apify.com/platform/actors/development/deployment/source-types). For example, if an Actor's source code is stored in a [GitHub repository](https://docs.apify.com/platform/actors/development/deployment/source-types#git-repository), you will set the `sourceType` to `GIT_REPO` and pass the repository's URL in the `gitRepoUrl` property. ``` { "versionNumber": "0.1", "sourceType": "GIT_REPO", "gitRepoUrl": "https://github.com/my-github-account/actor-repo" } ``` The response is the [Version object](#/reference/actors/version-object) as returned by the [Get version](#/reference/actors/version-object/get-version) endpoint.
Actors/Actor versions
Get list of webhooks
Gets the list of webhooks of a specific Actor. The response is a JSON with the list of objects, where each object contains basic information about a single webhook. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 records. By default, the records are sorted by the `createdAt` field in ascending order, to sort the records in descending order, use the `desc=1` parameter.
Actors/Webhook collection
Abort build
Aborts an Actor build and returns an object that contains all the details about the build. Only builds that are starting or running are aborted. For builds with status `FINISHED`, `FAILED`, `ABORTING` and `TIMED-OUT` this call does nothing.
Actor builds
Delete build
Delete the build. The build that is the current default build for the Actor cannot be deleted. Only users with build permissions for the Actor can delete builds.
Actor builds
Get build
Gets an object that contains all the details about a specific build of an Actor. By passing the optional `waitForFinish` parameter the API endpoint will synchronously wait for the build to finish. This is useful to avoid periodic polling when waiting for an Actor build to finish. This endpoint does not require the authentication token. Instead, calls are authenticated using a hard-to-guess ID of the build. However, if you access the endpoint without the token, certain attributes, such as `usageUsd` and `usageTotalUsd`, will be hidden.
Actor builds
Get build's Log
Retrieves Actor build's logs. This endpoint is a shortcut for getting the build's log. Same as [Get log](/api/v2/log-get) endpoint.
Actor builds
Get OpenAPI definition
Get the OpenAPI definition for Actor builds. Two similar endpoints are available: - [First endpoint](/api/v2/act-openapi-json-get): Requires both `actorId` and `buildId`. Use `default` as the `buildId` to get the OpenAPI schema for the default Actor build. - [Second endpoint](/api/v2/actor-build-openapi-json-get): Requires only `buildId`. Get the OpenAPI definition for a specific Actor build. Authentication is based on the build's unique ID. No authentication token is required. :::note You can also use the [`/api/v2/act-openapi-json-get`](/api/v2/act-openapi-json-get) endpoint to get the OpenAPI definition for a build. :::
Actor builds
Get user builds list
Gets a list of all builds for a user. The response is a JSON array of objects, where each object contains basic information about a single build. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 records. By default, the records are sorted by the `startedAt` field in ascending order. Therefore, you can use pagination to incrementally fetch all builds while new ones are still being started. To sort the records in descending order, use the `desc=1` parameter.
Actor builds
Abort run
Aborts an Actor run and returns an object that contains all the details about the run. Only runs that are starting or running are aborted. For runs with status `FINISHED`, `FAILED`, `ABORTING` and `TIMED-OUT` this call does nothing.
Actor runs
Delete default dataset
Deletes default dataset associated with an Actor run. This endpoint is a shortcut for getting the last run's `defaultDatasetId` and then using the [ Delete dataset ](/api/v2/dataset-delete) endpoint.
Default dataset
Get default dataset
Returns the default dataset associated with an Actor run. This endpoint is a shortcut for getting the run's `defaultDatasetId` and then using the [Get dataset](/api/v2/dataset-get) endpoint.
Default dataset
Get default dataset items
Returns data stored in the default dataset of the Actor run in the desired format. This endpoint is a shortcut that resolves the run's `defaultDatasetId` and proxies to the [Get dataset items](/api/v2/dataset-items-get) endpoint.
Default dataset
Store items
Appends an item or an array of items to the end of the Actor run's default dataset. This endpoint is a shortcut that resolves the run's `defaultDatasetId` and proxies to the [Store items](/api/v2/dataset-items-post) endpoint.
Default dataset
Update default dataset
Updates the default dataset associated with an Actor run. This endpoint is a shortcut for getting the run's `defaultDatasetId` and then using the [Put dataset](/api/v2/dataset-put) endpoint.
Default dataset
Get default dataset statistics
Returns statistics for the Actor run's default dataset. This endpoint is a shortcut that resolves the run's `defaultDatasetId` and proxies to the [Get dataset statistics](/api/v2/dataset-statistics-get) endpoint.
Default dataset
Delete run
Delete the run. Only finished runs can be deleted. Only the person or organization that initiated the run can delete it.
Actor runs
Get run
This is not a single endpoint, but an entire group of endpoints that lets you retrieve the run or any of its default storages. ##### Convenience endpoints for Actor run default storages * [Dataset](/api/v2/default-dataset) * [Key-value store](/api/v2/default-key-value-store) * [Request queue](/api/v2/default-request-queue) Gets an object that contains all the details about a specific run of an Actor. By passing the optional `waitForFinish` parameter the API endpoint will synchronously wait for the run to finish. This is useful to avoid periodic polling when waiting for Actor run to complete. Note that the first response after completion can still show preliminary `stats`, costs, and event counts. For stable figures, wait about 10 seconds and call the endpoint again. This endpoint does not require the authentication token. Instead, calls are authenticated using a hard-to-guess ID of the run. However, if you access the endpoint without the token, certain attributes, such as `usageUsd` and `usageTotalUsd`, will be hidden.
Actor runs
Delete default store
Delete the default key-value store. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Delete store](/api/v2/key-value-store-delete) endpoint.
Default key-value store
Get default store
Gets an object that contains all the details about the default key-value store. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Get store](/api/v2/key-value-store-get) endpoint.
Default key-value store
Get default store's list of keys
Returns a list of keys for the default key-value store of the Actor run. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Get list of keys](/api/v2/key-value-store-keys-get) endpoint.
Default key-value store
Update default store
Updates the default key-value store's name and general resource access level using a value specified by a JSON object passed in the PUT payload. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Update store](/api/v2/key-value-store-put) endpoint.
Default key-value store
Delete default store's record
Removes a record specified by a key from the default key-value store of the Actor run. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Delete record](/api/v2/key-value-store-record-delete) endpoint.
Default key-value store
Get default store's record
Gets a value stored under a specific key in the default key-value store of the Actor run. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Get record](/api/v2/key-value-store-record-get) endpoint.
Default key-value store
Store record in default store (POST)
Stores a value under a specific key in the default key-value store of the Actor run. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Store record](/api/v2/key-value-store-record-post) endpoint.
Default key-value store
Store record in default store
Stores a value under a specific key in the default key-value store of the Actor run. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Store record](/api/v2/key-value-store-record-put) endpoint.
Default key-value store
Download default store's records
Downloads all records from the default key-value store of the Actor run as a ZIP archive. This endpoint is a shortcut for getting the run's `defaultKeyValueStoreId` and then using the [Download records](/api/v2/key-value-store-records-get) endpoint.
Default key-value store
Get run's log
Retrieves Actor run's logs. This endpoint is a shortcut for getting the run's log. Same as [Get log](/api/v2/log-get) endpoint.
Actor runs
Metamorph run
Transforms an Actor run into a run of another Actor with a new input. This is useful if you want to use another Actor to finish the work of your current Actor run, without the need to create a completely new run and waiting for its finish. For the users of your Actors, the metamorph operation is transparent, they will just see your Actor got the work done. Internally, the system stops the Docker container corresponding to the Actor run and starts a new container using a different Docker image. All the default storages are preserved and the new input is stored under the `INPUT-METAMORPH-1` key in the same default key-value store. For more information, see the [Actor docs](https://docs.apify.com/platform/actors/development/programming-interface/metamorph).
Actor runs
Update run
This endpoint can be used to update both the run's status message and to configure its general resource access level. **Status message:** You can set a single status message on your run that will be displayed in the Apify Console UI. During an Actor run, you will typically do this in order to inform users of your Actor about the Actor's progress. The request body must contain `runId` and `statusMessage` properties. The `isStatusMessageTerminal` property is optional and it indicates if the status message is the very last one. In the absence of a status message, the platform will try to substitute sensible defaults. **General resource access:** You can also update the run's general resource access setting, which determines who can view the run and its related data. Allowed values: * `FOLLOW_USER_SETTING` - The run inherits the general access setting from the account level. * `ANYONE_WITH_ID_CAN_READ` - The run can be viewed anonymously by anyone who has its ID. * `RESTRICTED` - Only users with explicit access to the resource can access the run. When a run is accessible anonymously, all of the run's default storages and logs also become accessible anonymously.
Actor runs
Reboot run
Reboots an Actor run and returns an object that contains all the details about the rebooted run. Only runs that are running, i.e. runs with status `RUNNING` can be rebooted. The run's container will be restarted, so any data not persisted in the key-value store, dataset, or request queue will be lost.
Actor runs
Delete default request queue
Deletes the default request queue associated with an Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Delete request queue](/api/v2/request-queue-delete) endpoint.
Default request queue
Get default request queue
Returns the default request queue associated with an Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Get request queue](/api/v2/request-queue-get) endpoint.
Default request queue
Get default request queue head
Returns the given number of first requests from the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Get head](/api/v2/request-queue-head-get) endpoint.
Default request queue
Get and lock default request queue head
Returns the given number of first requests from the default request queue of the Actor run and locks them for the given time. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Get head and lock](/api/v2/request-queue-head-lock-post) endpoint.
Default request queue
Update default request queue
Updates the default request queue associated with an Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Update request queue](/api/v2/request-queue-put) endpoint.
Default request queue
Delete request from default request queue
Deletes a request from the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Delete request](/api/v2/request-queue-request-delete) endpoint.
Default request queue
Get request from default request queue
Returns a request from the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Get request](/api/v2/request-queue-request-get) endpoint.
Default request queue
Delete lock on request in default request queue
Deletes a request lock in the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Delete request lock](/api/v2/request-queue-request-lock-delete) endpoint.
Default request queue
Prolong lock on request in default request queue
Prolongs a request lock in the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Prolong request lock](/api/v2/request-queue-request-lock-put) endpoint.
Default request queue
Update request in default request queue
Updates a request in the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Update request](/api/v2/request-queue-request-put) endpoint.
Default request queue
Batch delete requests from default request queue
Batch-deletes requests from the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Delete requests](/api/v2/request-queue-requests-batch-delete) endpoint.
Default request queue
Batch add requests to default request queue
Adds requests to the default request queue of the Actor run in batch. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Add requests](/api/v2/request-queue-requests-batch-post) endpoint.
Default request queue
List default request queue's requests
Returns a list of requests from the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [List requests](/api/v2/request-queue-requests-get) endpoint.
Default request queue
Add request to default request queue
Adds a request to the default request queue of the Actor run. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Add request](/api/v2/request-queue-requests-post) endpoint.
Default request queue
Unlock requests in default request queue
Unlocks requests in the default request queue of the Actor run that are currently locked by the client. This endpoint is a shortcut for getting the run's `defaultRequestQueueId` and then using the [Unlock requests](/api/v2/request-queue-requests-unlock-post) endpoint.
Default request queue
Get user runs list
Gets a list of all runs for a user. The response is a list of objects, where each object contains basic information about a single Actor run. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 array elements. By default, the records are sorted by the `startedAt` field in ascending order. Therefore, you can use pagination to incrementally fetch all records while new ones are still being created. To sort the records in descending order, use `desc=1` parameter. You can also filter runs by `startedAt`` and `status`` fields ([available statuses](https://docs.apify.com/platform/actors/running/runs-and-builds#lifecycle)).
Actor runs
Delete task
Delete the task specified through the `actorTaskId` parameter.
Actor tasks
Get task
Get an object that contains all the details about a task.
Actor tasks
Get task input
Returns the input of a given task.
Actor tasks
Update task input
Updates the input of a task using values specified by an object passed as JSON in the PUT payload. If the object does not define a specific property, its value is not updated. The response is the full task input as returned by the [Get task input](#/reference/tasks/task-input-object/get-task-input) endpoint. The request needs to specify the `Content-Type: application/json` HTTP header! When providing your API authentication token, we recommend using the request's `Authorization` header, rather than the URL. ([More info](#/introduction/authentication)).
Actor tasks
Get last Actor task run's log
Retrieves last Actor task run's logs. This endpoint is a shortcut for getting last Actor task run's log. Same as [Get log](/api/v2/log-get) endpoint.
Last Actor task run's log
Update task
Update settings of a task using values specified by an object passed as JSON in the POST payload. If the object does not define a specific property, its value is not updated. The response is the full task object as returned by the [Get task](/api/v2/actor-task-get) endpoint. The request needs to specify the `Content-Type: application/json` HTTP header! When providing your API authentication token, we recommend using the request's `Authorization` header, rather than the URL.
Actor tasks
Run task synchronously
Runs an Actor task and synchronously returns a key-value store record. The response contains the record stored under the `OUTPUT` key in the run's default key-value store. This is a legacy approach that has been replaced by the Actor [output object](https://docs.apify.com/platform/actors/development/actor-definition/output-schema#output-object-definition); Actors aren't required to store a record under this key, so the response may not contain any data. Use the `outputRecordKey` query parameter to return a different record. The run must finish in 300<!-- MAX_ACTOR_JOB_SYNC_WAIT_SECS --> seconds otherwise the HTTP request fails with a timeout error (this won't abort the run itself). Beware that it might be impossible to maintain an idle HTTP connection for an extended period, due to client timeout or network conditions. Make sure your HTTP client is configured to have a long enough connection timeout. If the connection breaks, you will not receive any information about the run and its status. To run the Task asynchronously, use the [Run task asynchronously](#/reference/actor-tasks/run-collection/run-task) endpoint instead.
Actor tasks
Run task synchronously and get dataset items
Run a specific task and return its dataset items. The run must finish in 300<!-- MAX_ACTOR_JOB_SYNC_WAIT_SECS --> seconds otherwise the HTTP request fails with a timeout error (this won't abort the run itself). You can send all the same options in parameters as the [Get Dataset Items](#/reference/datasets/item-collection/get-items) API endpoint. Beware that it might be impossible to maintain an idle HTTP connection for an extended period, due to client timeout or network conditions. Make sure your HTTP client is configured to have a long enough connection timeout. If the connection breaks, you will not receive any information about the run and its status. To run the Task asynchronously, use the [Run task asynchronously](#/reference/actor-tasks/run-collection/run-task) endpoint instead.
Actor tasks
Run task synchronously and get dataset items
Runs an Actor task and synchronously returns its dataset items. The run must finish in 300<!-- MAX_ACTOR_JOB_SYNC_WAIT_SECS --> seconds otherwise the HTTP request fails with a timeout error (this won't abort the run itself). Optionally, you can override the Actor input configuration by passing a JSON object as the POST payload and setting the `Content-Type: application/json` HTTP header. Note that if the object in the POST payload does not define a particular input property, the Actor run uses the default value defined by the task (or the Actor's input schema if not defined by the task). You can send all the same options in parameters as the [Get Dataset Items](#/reference/datasets/item-collection/get-items) API endpoint. Beware that it might be impossible to maintain an idle HTTP connection for an extended period, due to client timeout or network conditions. Make sure your HTTP client is configured to have a long enough connection timeout. If the connection breaks, you will not receive any information about the run and its status. Input fields from Actor task configuration can be overloaded with values passed as the POST payload. Just make sure to specify the `Content-Type` header as `application/json` and that the input is an object. To run the task asynchronously, use the [Run task](#/reference/actor-tasks/run-collection/run-task) API endpoint instead.
Actor tasks
Run task synchronously
Runs an Actor task and synchronously returns a key-value store record. The response contains the record stored under the `OUTPUT` key in the run's default key-value store. This is a legacy approach that has been replaced by the Actor [output object](https://docs.apify.com/platform/actors/development/actor-definition/output-schema#output-object-definition); Actors aren't required to store a record under this key, so the response may not contain any data. Use the `outputRecordKey` query parameter to return a different record. The run must finish in 300<!-- MAX_ACTOR_JOB_SYNC_WAIT_SECS --> seconds otherwise the HTTP request fails with a timeout error (this won't abort the run itself). Optionally, you can override the Actor input configuration by passing a JSON object as the POST payload and setting the `Content-Type: application/json` HTTP header. Note that if the object in the POST payload does not define a particular input property, the Actor run uses the default value defined by the task (or Actor's input schema if not defined by the task). Beware that it might be impossible to maintain an idle HTTP connection for an extended period, due to client timeout or network conditions. Make sure your HTTP client is configured to have a long enough connection timeout. If the connection breaks, you will not receive any information about the run and its status. Input fields from Actor task configuration can be overloaded with values passed as the POST payload. Just make sure to specify `Content-Type` header to be `application/json` and input to be an object. To run the task asynchronously, use the [Run task](#/reference/actor-tasks/run-collection/run-task) API endpoint instead.
Actor tasks
Get list of task runs
Get a list of runs of a specific task. The response is a list of objects, where each object contains essential information about a single task run. The endpoint supports pagination using the `limit` and `offset` parameters, and it does not return more than a 1000 array elements. By default, the records are sorted by the `startedAt` field in ascending order; therefore you can use pagination to incrementally fetch all records while new ones are still being created. To sort the records in descending order, use the `desc=1` parameter. You can also filter runs by status ([available statuses](https://docs.apify.com/platform/actors/running/runs-and-builds#lifecycle)).
Actor tasks
Abort Actor task's last run
Aborts the last run of the specified Actor task and returns an object that contains all the details about the run. This endpoint is a shortcut for [Abort run](#/reference/actor-runs/abort-run/abort-run) on the Actor task's last run. Only runs that are starting or running are aborted. For runs with status `FINISHED`, `FAILED`, `ABORTING` and `TIMED-OUT` this call does nothing.
Last Actor task run's abort
Delete last task run's default dataset
Deletes the default dataset associated with the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultDatasetId` and then using the [Delete dataset](/api/v2/dataset-delete) endpoint.
Last Actor task run's default dataset
Get last task run's default dataset
Returns the default dataset associated with the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultDatasetId` and then using the [Get dataset](/api/v2/dataset-get) endpoint.
Last Actor task run's default dataset
Get last task run's dataset items
Returns data stored in the default dataset of the last Actor task run in the desired format. This endpoint is a shortcut that resolves the last task run's `defaultDatasetId` and proxies to the [Get dataset items](/api/v2/dataset-items-get) endpoint.
Last Actor task run's default dataset
Store items in last task run's dataset
Appends an item or an array of items to the end of the last Actor task run's default dataset. This endpoint is a shortcut that resolves the last task run's `defaultDatasetId` and proxies to the [Store items](/api/v2/dataset-items-post) endpoint.
Last Actor task run's default dataset
Update last task run's default dataset
Updates the default dataset associated with the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultDatasetId` and then using the [Update dataset](/api/v2/dataset-put) endpoint.
Last Actor task run's default dataset
Get last task run's dataset statistics
Returns statistics for the last Actor task run's default dataset. This endpoint is a shortcut that resolves the last task run's `defaultDatasetId` and proxies to the [Get dataset statistics](/api/v2/dataset-statistics-get) endpoint.
Last Actor task run's default dataset
Get last run
This is not a single endpoint, but an entire group of endpoints that lets you to retrieve and manage the last run of given actor task or any of its default storages. All the endpoints require an authentication token. The base path represents the last actor task run object is: `/v2/actor-tasks/{actorTaskId}/runs/last{?token,status,origin}` Using the `status` query parameter you can ensure to only get a run with a certain status (e.g. `status=SUCCEEDED`). Similarly, the `origin` query parameter filters runs by the means by which they were started (e.g. `origin=API`). The output of this endpoint and other query parameters are the same as in the [Run object](/api/v2/actor-run-get) endpoint. ##### Convenience endpoints for last Actor task run * [Dataset](/api/v2/last-actor-task-runs-default-dataset) * [Key-value store](/api/v2/last-actor-task-runs-default-key-value-store) * [Request queue](/api/v2/last-actor-task-runs-default-request-queue) * [Log](/api/v2/last-actor-task-runs-log)
Actor tasks
Delete last task run's default store
Deletes the default key-value store of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Delete store](/api/v2/key-value-store-delete) endpoint.
Last Actor task run's default key-value store
Get last task run's default store
Gets an object that contains all the details about the default key-value store of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Get store](/api/v2/key-value-store-get) endpoint.
Last Actor task run's default key-value store
Get last task run's default store's list of keys
Returns a list of keys for the default key-value store of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Get list of keys](/api/v2/key-value-store-keys-get) endpoint.
Last Actor task run's default key-value store
Update last task run's default store
Updates the default key-value store associated with the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Update store](/api/v2/key-value-store-put) endpoint.
Last Actor task run's default key-value store
Delete last task run's default store's record
Removes a record specified by a key from the default key-value store of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Delete record](/api/v2/key-value-store-record-delete) endpoint.
Last Actor task run's default key-value store
Get last task run's default store's record
Gets a value stored under a specific key in the default key-value store of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Get record](/api/v2/key-value-store-record-get) endpoint.
Last Actor task run's default key-value store
Store record in last task run's default store (POST)
Stores a value under a specific key in the default key-value store of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Store record](/api/v2/key-value-store-record-post) endpoint.
Last Actor task run's default key-value store
Store record in last task run's default store
Stores a value under a specific key in the default key-value store of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Store record](/api/v2/key-value-store-record-put) endpoint.
Last Actor task run's default key-value store
Download last task run's default store's records
Downloads all records from the default key-value store of the last Actor task run as a ZIP archive. This endpoint is a shortcut for getting the last task run's `defaultKeyValueStoreId` and then using the [Download records](/api/v2/key-value-store-records-get) endpoint.
Last Actor task run's default key-value store
Metamorph Actor task's last run
Transforms the last run of the specified Actor task into a run of another Actor with a new input. This endpoint is a shortcut for [Metamorph run](#/reference/actor-runs/metamorph-run/metamorph-run) on the Actor task's last run.
Last Actor task run's metamorph
Reboot Actor task's last run
Reboots the last run of the specified Actor task and returns an object that contains all the details about the rebooted run. This endpoint is a shortcut for [Reboot run](#/reference/actor-runs/reboot-run/reboot-run) on the Actor task's last run. Only runs with status `RUNNING` can be rebooted. The run's container will be restarted, so any data not persisted in the key-value store, dataset, or request queue will be lost.
Last Actor task run's reboot
Delete last task run's default request queue
Deletes the default request queue associated with the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Delete request queue](/api/v2/request-queue-delete) endpoint.
Last Actor task run's default request queue
Get last task run's default request queue
Returns the default request queue associated with the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Get request queue](/api/v2/request-queue-get) endpoint.
Last Actor task run's default request queue
Get last task run's default request queue head
Returns the given number of first requests from the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Get head](/api/v2/request-queue-head-get) endpoint.
Last Actor task run's default request queue
Get and lock last task run's default request queue head
Returns the given number of first requests from the default request queue of the last Actor task run and locks them for the given time. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Get head and lock](/api/v2/request-queue-head-lock-post) endpoint.
Last Actor task run's default request queue
Update last task run's default request queue
Updates the default request queue associated with the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Update request queue](/api/v2/request-queue-put) endpoint.
Last Actor task run's default request queue
Delete request from last task run's default request queue
Deletes a request from the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Delete request](/api/v2/request-queue-request-delete) endpoint.
Last Actor task run's default request queue
Get request from last task run's default request queue
Returns a request from the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Get request](/api/v2/request-queue-request-get) endpoint.
Last Actor task run's default request queue
Delete lock on request in last task run's default request queue
Deletes a request lock in the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Delete request lock](/api/v2/request-queue-request-lock-delete) endpoint.
Last Actor task run's default request queue
Prolong lock on request in last task run's default request queue
Prolongs a request lock in the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Prolong request lock](/api/v2/request-queue-request-lock-put) endpoint.
Last Actor task run's default request queue
Update request in last task run's default request queue
Updates a request in the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Update request](/api/v2/request-queue-request-put) endpoint.
Last Actor task run's default request queue
Batch delete requests from last task run's default request queue
Batch-deletes requests from the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Delete requests](/api/v2/request-queue-requests-batch-delete) endpoint.
Last Actor task run's default request queue
Batch add requests to last task run's default request queue
Adds requests to the default request queue of the last Actor task run in batch. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Add requests](/api/v2/request-queue-requests-batch-post) endpoint.
Last Actor task run's default request queue
List last task run's default request queue's requests
Returns a list of requests from the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [List requests](/api/v2/request-queue-requests-get) endpoint.
Last Actor task run's default request queue
Add request to last task run's default request queue
Adds a request to the default request queue of the last Actor task run. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Add request](/api/v2/request-queue-requests-post) endpoint.
Last Actor task run's default request queue
Unlock requests in last task run's default request queue
Unlocks requests in the default request queue of the last Actor task run that are currently locked by the client. This endpoint is a shortcut for getting the last task run's `defaultRequestQueueId` and then using the [Unlock requests](/api/v2/request-queue-requests-unlock-post) endpoint.
Last Actor task run's default request queue
Run task
Runs an Actor task and immediately returns without waiting for the run to finish. Optionally, you can override the Actor input configuration by passing a JSON object as the POST payload and setting the `Content-Type: application/json` HTTP header. Note that if the object in the POST payload does not define a particular input property, the Actor run uses the default value defined by the task (or Actor's input schema if not defined by the task). The response is the Actor Run object as returned by the [Get run](#/reference/actor-runs/run-object-and-its-storages/get-run) endpoint. If you want to wait for the run to finish and receive the actual output of the Actor run as the response, use one of the [Run task synchronously](#/reference/actor-tasks/run-task-synchronously) API endpoints instead. To fetch the Actor run results that are typically stored in the default dataset, you'll need to pass the ID received in the `defaultDatasetId` field received in the response JSON to the [Get dataset items](#/reference/datasets/item-collection/get-items) API endpoint.
Actor tasks
Get list of webhooks
Gets the list of webhooks of a specific Actor task. The response is a JSON with the list of objects, where each object contains basic information about a single webhook. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 records. By default, the records are sorted by the `createdAt` field in ascending order, to sort the records in descending order, use the `desc=1` parameter.
Actor tasks
Get list of tasks
Gets the complete list of tasks that a user has created or used. The response is a list of objects in which each object contains essential information about a single task. The endpoint supports pagination using the `limit` and `offset` parameters, and it does not return more than a 1000 records. By default, the records are sorted by the `createdAt` field in ascending order; therefore you can use pagination to incrementally fetch all tasks while new ones are still being created. To sort the records in descending order, use the `desc=1` parameter.
Actor tasks
Create task
Create a new task with settings specified by the object passed as JSON in the POST payload. The response is the full task object as returned by the [Get task](/api/v2/actor-task-get) endpoint. The request needs to specify the `Content-Type: application/json` HTTP header! When providing your API authentication token, we recommend using the request's `Authorization` header, rather than the URL.
Actor tasks
Get list of Actors
Gets the list of all Actors that the user created or used. The response is a list of objects, where each object contains a basic information about a single Actor. To only get Actors created by the user, add the `my=1` query parameter. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 records. By default, the records are sorted by the `createdAt` field in ascending order, therefore you can use pagination to incrementally fetch all Actors while new ones are still being created. To sort the records in descending order, use the `desc=1` parameter. You can also sort by your last run by using the `sortBy=stats.lastRunStartedAt` query parameter. In this case, descending order means the most recently run Actor appears first.
Actors
Create Actor
Creates an Actor with the settings specified in an `Actor` object passed as JSON in the POST payload. Returns the full `Actor` object, the same as the [Get Actor](/api/v2/act-get) endpoint. In the HTTP request, set the `Content-Type` header to `application/json`. ### Define a source code version An Actor must specify at least one version of the source code. For details, see [Actor versions](/api/v2/actors-actor-versions). ### Create a public Actor To make your Actor [public](https://docs.apify.com/platform/actors/publishing): - Set `isPublic` to `true`. - Provide `title` and `categories`. For reference, see [constants from the `apify-shared-js` package](https://github.com/apify/apify-shared-js/blob/2d43ebc41ece9ad31cd6525bd523fb86939bf860/packages/consts/src/consts.ts#L452-L471)
Actors
Delete dataset
Deletes a specific dataset.
Storage/Datasets
Get dataset
Returns dataset object for given dataset ID. This does not return dataset items, only information about the storage itself. To retrieve dataset items, use the [List dataset items](/api/v2/dataset-items-get) endpoint. :::note Keep in mind that attributes `itemCount` and `cleanItemCount` are not propagated right away after data are pushed into a dataset. ::: There is a short period (up to 5 seconds) during which these counters may not match with exact counts in dataset items.
Storage/Datasets
Get dataset items
Returns data stored in the dataset in a desired format. ### Response format The format of the response depends on <code>format</code> query parameter. The <code>format</code> parameter can have one of the following values: <code>json</code>, <code>jsonl</code>, <code>xml</code>, <code>html</code>, <code>csv</code>, <code>xlsx</code> and <code>rss</code>. The following table describes how each format is treated. <table> <tr> <th>Format</th> <th>Items</th> </tr> <tr> <td><code>json</code></td> <td rowspan="3">The response is a JSON, JSONL or XML array of raw item objects.</td> </tr> <tr> <td><code>jsonl</code></td> </tr> <tr> <td><code>xml</code></td> </tr> <tr> <td><code>html</code></td> <td rowspan="3">The response is a HTML, CSV or XLSX table, where columns correspond to the properties of the item and rows correspond to each dataset item.</td> </tr> <tr> <td><code>csv</code></td> </tr> <tr> <td><code>xlsx</code></td> </tr> <tr> <td><code>rss</code></td> <td colspan="2">The response is a RSS file. Each item is displayed as child elements of one <code>&lt;item&gt;</code>.</td> </tr> </table> Note that CSV, XLSX and HTML tables are limited to 2000 columns and the column names cannot be longer than 200 characters. JSON, XML and RSS formats do not have such restrictions. ### Hidden fields The top-level fields starting with the `#` character are considered hidden. These are useful to store debugging information and can be omitted from the output by providing the `skipHidden=1` or `clean=1` query parameters. For example, if you store the following object to the dataset: ``` { productName: "iPhone Xs", description: "Welcome to the big screens." #debug: { url: "https://www.apple.com/lae/iphone-xs/", crawledAt: "2019-01-21T16:06:03.683Z" } } ``` The `#debug` field will be considered as hidden and can be omitted from the results. This is useful to provide nice cleaned data to end users, while keeping debugging info available if needed. The Dataset object returned by the API contains the number of such clean items in the`dataset.cleanItemCount` property. ### XML format extension When exporting results to XML or RSS formats, the names of object properties become XML tags and the corresponding values become tag's children. For example, the following JavaScript object: ``` { name: "Paul Newman", address: [ { type: "home", street: "21st", city: "Chicago" }, { type: "office", street: null, city: null } ] } ``` will be transformed to the following XML snippet: ``` <name>Paul Newman</name> <address> <type>home</type> <street>21st</street> <city>Chicago</city> </address> <address> <type>office</type> <street/> <city/> </address> ``` If the JavaScript object contains a property named `@` then its sub-properties are exported as attributes of the parent XML element. If the parent XML element does not have any child elements then its value is taken from a JavaScript object property named `#`. For example, the following JavaScript object: ``` { "address": [{ "@": { "type": "home" }, "street": "21st", "city": "Chicago" }, { "@": { "type": "office" }, "#": 'unknown' }] } ``` will be transformed to the following XML snippet: ``` <address type="home"> <street>21st</street> <city>Chicago</city> </address> <address type="office">unknown</address> ``` This feature is also useful to customize your RSS feeds generated for various websites. By default the whole result is wrapped in a `<items>` element and each page object is wrapped in a `<item>` element. You can change this using <code>xmlRoot</code> and <code>xmlRow</code> url parameters. ### Pagination The generated response supports [pagination](#/introduction/pagination). The pagination is always performed with the granularity of a single item, regardless whether <code>unwind</code> parameter was provided. By default, the **Items** in the response are sorted by the time they were stored to the database, therefore you can use pagination to incrementally fetch the items as they are being added. No limit exists to how many items can be returned in one response. If you specify `desc=1` query parameter, the results are returned in the reverse order than they were stored (i.e. from newest to oldest items). Note that only the order of **Items** is reversed, but not the order of the `unwind` array elements.
Storage/Datasets
Store items
Appends an item or an array of items to the end of the dataset. The POST payload is a JSON object or a JSON array of objects to save into the dataset. If the data you attempt to store in the dataset is invalid (meaning any of the items received by the API fails the validation), the whole request is discarded and the API will return a response with status code 400. For more information about dataset schema validation, see [Dataset schema](https://docs.apify.com/platform/actors/development/actor-definition/dataset-schema/validation). **IMPORTANT:** The limit of request payload size for the dataset is 5 MB. If the array exceeds the size, you'll need to split it into a number of smaller arrays.
Storage/Datasets
Update dataset
Updates a dataset's name and general resource access level using a value specified by a JSON object passed in the PUT payload. The response is the updated dataset object, as returned by the [Get dataset](/api/v2/dataset-get) API endpoint.
Storage/Datasets
Get dataset statistics
Returns statistics for given dataset. Provides only [field statistics](https://docs.apify.com/platform/actors/development/actor-definition/dataset-schema/validation#dataset-field-statistics).
Storage/Datasets
Get list of datasets
Lists all of a user's datasets. The response is a JSON array of objects, where each object contains basic information about one dataset. By default, the objects are sorted by the `createdAt` field in ascending order, therefore you can use pagination to incrementally fetch all datasets while new ones are still being created. To sort them in descending order, use `desc=1` parameter. The endpoint supports pagination using `limit` and `offset` parameters and it will not return more than 1000 array elements.
Storage/Datasets
Create dataset
Creates a dataset and returns its object. Keep in mind that data stored under unnamed dataset follows [data retention period](https://docs.apify.com/platform/storage#data-retention). It creates a dataset with the given name if the parameter name is used. If a dataset with the given name already exists then returns its object.
Storage/Datasets
Delete store
Deletes a key-value store.
Storage/Key-value stores
Get store
Gets an object that contains all the details about a specific key-value store.
Storage/Key-value stores
Get list of keys
Returns a list of objects describing keys of a given key-value store, as well as some information about the values (e.g. size). This endpoint is paginated using `exclusiveStartKey` and `limit` parameters - see [Pagination](/api/v2#using-key) for more details.
Storage/Key-value stores
Update store
Updates a key-value store's name and general resource access level using a value specified by a JSON object passed in the PUT payload. The response is the updated key-value store object, as returned by the [Get store](#/reference/key-value-stores/store-object/get-store) API endpoint.
Storage/Key-value stores
Delete record
Removes a record specified by a key from the key-value store.
Storage/Key-value stores
Get record
Gets a value stored in the key-value store under a specific key. The response body has the same `Content-Encoding` header as it was set in [Put record](#tag/Key-value-storesRecord/operation/keyValueStore_record_put). If the request does not define the `Accept-Encoding` HTTP header with the right encoding, the record will be decompressed. Most HTTP clients support decompression by default. After using the HTTP client with decompression support, the `Accept-Encoding` header is set by the client and body is decompressed automatically. Please note that for security reasons, Apify API can perform small modifications to HTML documents before they are served via this endpoint. To fetch the raw HTML content without any modifications, use the `attachment` query parameter.
Storage/Key-value stores
Store record (POST)
Stores a value under a specific key to the key-value store. This endpoint is an alias for the [`PUT` record](#tag/Key-value-storesRecord/operation/keyValueStore_record_put) method and behaves identically.
Storage/Key-value stores
Store record
Stores a value under a specific key to the key-value store. The value is passed as the PUT payload and it is stored with a MIME content type defined by the `Content-Type` header and with encoding defined by the `Content-Encoding` header. To save bandwidth, storage, and speed up your upload, send the request payload compressed with Gzip compression and add the `Content-Encoding: gzip` header. It is possible to set up another compression type with `Content-Encoding` request header. Below is a list of supported `Content-Encoding` types. * Gzip compression: `Content-Encoding: gzip` * Deflate compression: `Content-Encoding: deflate` * Brotli compression: `Content-Encoding: br`
Storage/Key-value stores
Download records
Downloads all records from the key-value store as a ZIP archive. Each record is stored as a separate file in the archive, with the filename equal to the record key. You can optionally filter the records by `collection` or `prefix` to download only a subset of the store.
Storage/Key-value stores
Get list of key-value stores
Gets the list of key-value stores owned by the user. The response is a list of objects, where each objects contains a basic information about a single key-value store. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 array elements. By default, the records are sorted by the `createdAt` field in ascending order, therefore you can use pagination to incrementally fetch all key-value stores while new ones are still being created. To sort the records in descending order, use the `desc=1` parameter.
Storage/Key-value stores
Create key-value store
Creates a key-value store and returns its object. The response is the same object as returned by the [Get store](#/reference/key-value-stores/store-object/get-store) endpoint. Keep in mind that data stored under unnamed store follows [data retention period](https://docs.apify.com/platform/storage#data-retention). It creates a store with the given name if the parameter name is used. If there is another store with the same name, the endpoint does not create a new one and returns the existing object instead.
Storage/Key-value stores
Get log
Retrieves logs for a specific Actor build or run.
Logs
Charge events in run
Charge for events in the run of your [pay per event Actor](https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event). The event you are charging for must be one of the configured events in your Actor. If the Actor is not set up as pay per event, or if the event is not configured, the endpoint will return an error. The endpoint must be called from the Actor run itself, with the same API token that the run was started with. :::info Learn more about pay-per-event pricing For more details about pay-per-event (PPE) pricing, refer to our [PPE documentation](/actors/publishing/monetize/pay-per-event). :::
Actor runs
Resurrect run
Resurrects a finished Actor run and returns an object that contains all the details about the resurrected run. Only finished runs, i.e. runs with status `FINISHED`, `FAILED`, `ABORTED` and `TIMED-OUT` can be resurrected. Run status will be updated to RUNNING and its container will be restarted with the same storages (the same behaviour as when the run gets migrated to the new server). For more information, see the [Actor docs](https://docs.apify.com/platform/actors/running/runs-and-builds#resurrection-of-finished-run).
Actor runs
Delete request queue
Deletes given queue.
Storage/Request queues
Get request queue
Returns queue object for given queue ID.
Storage/Request queues
Get head
Returns given number of first requests from the queue. The response contains the `hadMultipleClients` boolean field which indicates that the queue was accessed by more than one client (with unique or empty `clientKey`). This field is used by [Apify SDK](https://sdk.apify.com) to determine whether the local cache is consistent with the request queue, and thus optimize performance of certain operations.
Storage/Request queues/Requests locks
Get head and lock
Returns the given number of first requests from the queue and locks them for the given time. If this endpoint locks the request, no other client or run will be able to get and lock these requests. The response contains the `hadMultipleClients` boolean field which indicates that the queue was accessed by more than one client (with unique or empty `clientKey`).
Storage/Request queues/Requests locks
Update request queue
Updates a request queue's name and general resource access level using a value specified by a JSON object passed in the PUT payload. The response is the updated request queue object, as returned by the [Get request queue](#/reference/request-queues/queue-collection/get-request-queue) API endpoint.
Storage/Request queues
Delete request
Deletes given request from queue.
Storage/Request queues/Requests
Get request
Returns request from queue.
Storage/Request queues/Requests
Delete request lock
Deletes a request lock. The request lock can be deleted only by the client that has locked it using [Get and lock head operation](#/request-queue-head-lock-post). The clientKey identifier is used for locking and unlocking requests. You can delete or prolong the lock only for requests that were locked by the same client key or from the same Actor run.
Storage/Request queues/Requests locks
Prolong request lock
Prolongs request lock. The request lock can be prolonged only by the client that has locked it using [Get and lock head operation](#/request-queue-head-lock-post). The clientKey identifier is used for locking and unlocking requests. You can delete or prolong the lock only for requests that were locked by the same client key or from the same Actor run.
Storage/Request queues/Requests locks
Update request
Updates a request in a queue. Mark request as handled by setting `request.handledAt = new Date()`. If `handledAt` is set, the request will be removed from head of the queue (and unlocked, if applicable).
Storage/Request queues/Requests
Delete requests
Batch-deletes given requests from the queue. The number of requests in a batch is limited to 25. The response contains an array of unprocessed and processed requests. If any delete operation fails because the request queue rate limit is exceeded or an internal failure occurs, the failed request is returned in the `unprocessedRequests` response parameter. You can re-send these delete requests. It is recommended to use an exponential backoff algorithm for these retries. Each request is identified by its ID or uniqueKey parameter. You can use either of them to identify the request.
Storage/Request queues
Add requests
Adds requests to the queue in batch. The maximum requests in batch is limited to 25. The response contains an array of unprocessed and processed requests. If any add operation fails because the request queue rate limit is exceeded or an internal failure occurs, the failed request is returned in the unprocessedRequests response parameter. You can resend these requests to add. It is recommended to use an exponential backoff algorithm for these retries. If a request with the same `uniqueKey` was already present in the queue, then it returns an ID of the existing request.
Storage/Request queues
List requests
Returns a list of requests. This endpoint is paginated using cursor (pagination by `exclusiveStartId` is deprecated) and limit parameters.
Storage/Request queues/Requests
Add request
Adds request to the queue. Response contains ID of the request and info if request was already present in the queue or handled. If request with same `uniqueKey` was already present in the queue then returns an ID of existing request.
Storage/Request queues/Requests
Unlock requests
Unlocks requests in the queue that are currently locked by the client. * If the client is within an Actor run, it unlocks all requests locked by that specific run plus all requests locked by the same clientKey. * If the client is outside of an Actor run, it unlocks all requests locked using the same clientKey.
Storage/Request queues/Requests locks
Get list of request queues
Lists all of a user's request queues. The response is a JSON array of objects, where each object contains basic information about one queue. By default, the objects are sorted by the `createdAt` field in ascending order, therefore you can use pagination to incrementally fetch all queues while new ones are still being created. To sort them in descending order, use `desc=1` parameter. The endpoint supports pagination using `limit` and `offset` parameters and it will not return more than 1000 array elements.
Storage/Request queues
Create request queue
Creates a request queue and returns its object. Keep in mind that requests stored under unnamed queue follows [data retention period](https://docs.apify.com/platform/storage#data-retention). It creates a queue of given name if the parameter name is used. If a queue with the given name already exists then the endpoint returns its object.
Storage/Request queues
Delete schedule
Deletes a schedule.
Schedules
Get schedule
Gets the schedule object with all details.
Schedules
Get schedule log
Gets the schedule log as a JSON array containing information about up to a 1000 invocations of the schedule.
Schedules
Update schedule
Updates a schedule using values specified by a schedule object passed as JSON in the POST payload. If the object does not define a specific property, its value will not be updated. The response is the full schedule object as returned by the [Get schedule](#/reference/schedules/schedule-object/get-schedule) endpoint. **The request needs to specify the `Content-Type: application/json` HTTP header!** When providing your API authentication token, we recommend using the request's `Authorization` header, rather than the URL. ([More info](#/introduction/authentication)).
Schedules
Get list of schedules
Gets the list of schedules that the user created. The endpoint supports pagination using the `limit` and `offset` parameters. It will not return more than 1000 records. By default, the records are sorted by the `createdAt` field in ascending order. To sort the records in descending order, use the `desc=1` parameter.
Schedules
Create schedule
Creates a new schedule with settings provided by the schedule object passed as JSON in the payload. The response is the created schedule object. The request needs to specify the `Content-Type: application/json` HTTP header! When providing your API authentication token, we recommend using the request's `Authorization` header, rather than the URL. ([More info](#/introduction/authentication)).
Schedules
Get list of Actors in Store
Gets the list of public Actors in Apify Store. You can use `search` parameter to search Actors by string in title, name, description, username and readme. If you need detailed info about a specific Actor, use the [Get Actor](#/reference/actors/actor-object/get-actor) endpoint. The endpoint supports pagination using the `limit` and `offset` parameters. It will not return more than 1,000 records.
Store
Get browser info
Returns information about the HTTP request, including the client IP address, country code, request headers, and body length. This endpoint is designed for proxy testing. It accepts any HTTP method so you can verify that your proxy correctly forwards requests of any type and that client IP addresses are anonymized.
Tools
Get browser info
Returns information about the HTTP request, including the client IP address, country code, request headers, and body length. This endpoint is designed for proxy testing. It accepts any HTTP method so you can verify that your proxy correctly forwards requests of any type and that client IP addresses are anonymized.
Tools
Get browser info
Returns information about the HTTP request, including the client IP address, country code, request headers, and body length. This endpoint is designed for proxy testing. It accepts any HTTP method so you can verify that your proxy correctly forwards requests of any type and that client IP addresses are anonymized.
Tools
Get browser info
Returns information about the HTTP request, including the client IP address, country code, request headers, and body length. This endpoint is designed for proxy testing. It accepts any HTTP method so you can verify that your proxy correctly forwards requests of any type and that client IP addresses are anonymized.
Tools
Decode and verify object
Decodes and verifies an encoded value previously created by the encode-and-sign endpoint. Returns the original decoded object along with information about the user who encoded it and whether that user is verified. **Important**: The request must specify the `Content-Type: application/json` HTTP header.
Tools
Encode and sign object
Encodes and signs any JSON object. The encoded value includes a signature tied to the authenticated user's ID, which can later be verified using the decode-and-verify endpoint. **Important**: The request must specify the `Content-Type: application/json` HTTP header.
Tools
Get public user data
Returns public information about a specific user account, similar to what can be seen on public profile pages (e.g. https://apify.com/apify). This operation requires no authentication token.
Users
Get private user data
Returns information about the current user account, including both public and private information. The user account is identified by the provided authentication token. The fields `plan`, `email` and `profile` are omitted when this endpoint is accessed from Actor run.
Users
Get limits
Returns a complete summary of your account's limits. It is the same information you will see on your account's [Limits page](https://console.apify.com/billing#/limits). The returned data includes the current usage cycle, a summary of your limits, and your current usage.
Users
Update limits
Updates the account's limits manageable on your account's [Limits page](https://console.apify.com/billing#/limits). Specifically the: `maxMonthlyUsageUsd` and `dataRetentionDays` limits (see request body schema for more details).
Users
Get monthly usage
Returns a complete summary of your usage for the current monthly usage cycle, an overall sum, as well as a daily breakdown of usage. It is the same information you will see on your account's [Billing > Historical usage page](https://console.apify.com/billing/historical-usage). The information includes your use of Actors, compute, data transfer, and storage. Using the `date` parameter will show your usage in the monthly usage cycle that includes that date.
Users
Delete webhook
Deletes a webhook.
Webhooks/Webhooks
Get webhook dispatch
Gets webhook dispatch object with all details.
Webhooks/Webhook dispatches
Get list of webhook dispatches
Gets the list of webhook dispatches that the user have. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 records. By default, the records are sorted by the `createdAt` field in ascending order. To sort the records in descending order, use the `desc=1` parameter.
Webhooks/Webhook dispatches
Get webhook
Gets webhook object with all details.
Webhooks/Webhooks
Update webhook
Updates a webhook using values specified by a webhook object passed as JSON in the POST payload. If the object does not define a specific property, its value will not be updated. The response is the full webhook object as returned by the [Get webhook](#/reference/webhooks/webhook-object/get-webhook) endpoint. The request needs to specify the `Content-Type: application/json` HTTP header! When providing your API authentication token, we recommend using the request's `Authorization` header, rather than the URL. ([More info](#/introduction/authentication)).
Webhooks/Webhooks
Test webhook
Tests a webhook. Creates a webhook dispatch with a dummy payload.
Webhooks/Webhooks
Get collection
Gets a given webhook's list of dispatches.
Webhooks/Webhooks
Get list of webhooks
Gets the list of webhooks that the user created. The endpoint supports pagination using the `limit` and `offset` parameters and it will not return more than 1000 records. By default, the records are sorted by the `createdAt` field in ascending order. To sort the records in descending order, use the `desc=1` parameter.
Webhooks/Webhooks
Create webhook
Creates a new webhook with settings provided by the webhook object passed as JSON in the payload. The response is the created webhook object. To avoid duplicating a webhook, use the `idempotencyKey` parameter in the request body. Multiple calls to create a webhook with the same `idempotencyKey` will only create the webhook with the first call and return the existing webhook on subsequent calls. Idempotency keys must be unique, so use a UUID or another random string with enough entropy. To assign the new webhook to an Actor or task, the request body must contain `requestUrl`, `eventTypes`, and `condition` properties. * `requestUrl` is the webhook's target URL, to which data is sent as a POST request with a JSON payload. * `eventTypes` is a list of events that will trigger the webhook, e.g. when the Actor run succeeds. * `condition` should be an object containing the ID of the Actor or task to which the webhook will be assigned. * `payloadTemplate` is a JSON-like string, whose syntax is extended with the use of variables. * `headersTemplate` is a JSON-like string, whose syntax is extended with the use of variables. Following values will be re-written to defaults: "host", "Content-Type", "X-Apify-Webhook", "X-Apify-Webhook-Dispatch-Id", "X-Apify-Request-Origin" * `description` is an optional string. * `shouldInterpolateStrings` is a boolean indicating whether to interpolate variables contained inside strings in the `payloadTemplate` ``` "isAdHoc" : false, "requestUrl" : "https://example.com", "eventTypes" : [ "ACTOR.RUN.SUCCEEDED", "ACTOR.RUN.ABORTED" ], "condition" : { "actorId": "5sTMwDQywwsLzKRRh", "actorTaskId" : "W9bs9JE9v7wprjAnJ" }, "payloadTemplate": "", "headersTemplate": "", "description": "my awesome webhook", "shouldInterpolateStrings": false, ``` **Important**: The request must specify the `Content-Type: application/json` HTTP header.
Webhooks/Webhooks
FAQ

Apify integration, answered

How do AI agents use Apify through Open Connector?
Your user connects Apify once with one of its cataloged authentication methods. Open Connector stores the credential in an encrypted vault and exposes Apify tools to your agent over MCP or a typed API, with credentials injected server-side on each call.
Is this a Apify MCP server?
Yes. Open Connector can serve Apify as a named MCP server with a scoped allowlist and a per-user connection URL, so any MCP client can call Apify actions with credentials injected server-side.
Where do Apify credentials live?
In your own infrastructure. Open Connector keeps credentials in its own vault and injects them at call time, so they never leave your environment.

Give your agents Apify — keep the keys.

Open source, self-hostable, with Apify credentials that never leave your infrastructure. Run it from source today.