Skip to main content
Version: Next

RateLimitError

Thrown when the Apify API responds with HTTP 429 Too Many Requests. The client retries such requests, so the error surfaces once the retries are exhausted.

Hierarchy

Index

Properties

inheritedattempt

attempt: number

Number of the API call attempt.

externaloptionalinheritedcause

cause?: unknown

inheritedclientMethod

clientMethod: string

The resource client and the method parsed from the stack trace, such as ActorClient.getResource. A public method that delegates to a shared helper of its class is reported under the helper. The value is unknown when the stack trace cannot be parsed.

optionalinheriteddata

data?: Record<string, unknown>

Additional data provided by the API about the error

optionalinheritedhttpMethod

httpMethod?: string

HTTP method of the API call.

externalinheritedmessage

message: string

inheritedname

name: string

inheritedoriginalStack

originalStack: string

Original stack trace of the exception. It is replaced by a more informative stack with API call information.

optionalinheritedpath

path?: string

Full path of the API endpoint (URL excluding origin).

externaloptionalinheritedstack

stack?: string

inheritedstatusCode

statusCode: number

HTTP status code of the error.

optionalinheritedtype

type?: LiteralUnion<3d-secure-auth-failed | access-right-already-exists | action-not-found | actor-already-rented | actor-can-not-be-rented | actor-disabled | actor-is-not-rented | actor-memory-limit-exceeded | actor-name-exists-new-owner | actor-name-not-unique | actor-not-found | actor-not-github-actor | actor-not-public | actor-permission-level-not-supported-for-agentic-payments | actor-review-already-exists | actor-run-failed | actor-standby-not-supported-for-agentic-payments | actor-task-name-not-unique | agentic-payment-info-retrieval-error | agentic-payment-information-missing | agentic-payment-insufficient-amount | agentic-payment-provider-internal-error | agentic-payment-provider-unauthorized | airtable-webhook-deprecated | already-subscribed-to-paid-actor | apify-plan-required-to-use-paid-actor | apify-signup-not-allowed | auth-method-not-supported | authorization-server-not-found | auto-issue-date-invalid | background-check-required | billing-system-error | black-friday-plan-expired | braintree-error | braintree-not-linked | braintree-operation-timed-out | braintree-unsupported-currency | build-not-found | build-outdated | cannot-add-apify-events-to-ppe-actor | cannot-add-multiple-pricing-infos | cannot-add-pricing-info-that-alters-past | cannot-add-second-future-pricing-info | cannot-build-actor-from-webhook | cannot-change-billing-interval | cannot-change-owner | cannot-charge-apify-event | cannot-charge-non-pay-per-event-actor | cannot-comment-as-other-user | cannot-copy-actor-task | cannot-create-payout | cannot-create-public-actor | cannot-create-tax-transaction | cannot-delete-critical-actor | cannot-delete-invoice | cannot-delete-paid-actor | cannot-disable-one-time-event-for-apify-start-event | cannot-disable-organization-with-enabled-members | cannot-disable-user-with-subscription | cannot-link-oauth-to-unverified-email | cannot-metamorph-to-pay-per-result-actor | cannot-modify-actor-pricing-too-frequently | cannot-modify-actor-pricing-with-immediate-effect | cannot-monetize-without-payout-billing-info | cannot-override-paid-actor-trial | cannot-permanently-delete-subscription | cannot-publish-actor | cannot-publish-actor-task | cannot-reduce-last-full-token | cannot-reimburse-more-than-original-charge | cannot-reimburse-non-rental-charge | cannot-remove-own-actor-from-recently-used | cannot-remove-payment-method | cannot-remove-pricing-info | cannot-remove-running-run | cannot-remove-user-with-public-actors | cannot-remove-user-with-subscription | cannot-remove-user-with-unpaid-invoice | cannot-rename-env-var | cannot-rent-paid-actor | cannot-review-own-actor | cannot-set-access-rights-for-owner | cannot-set-is-status-message-terminal | cannot-unpublish-critical-actor | cannot-unpublish-paid-actor | cannot-unpublish-profile | cannot-update-invoice-field | concurrent-runs-limit-exceeded | concurrent-update-detected | conference-token-not-found | content-encoding-forbidden-for-html | coupon-already-redeemed | coupon-expired | coupon-for-new-customers | coupon-for-subscribed-users | coupon-limits-are-in-conflict-with-current-limits | coupon-max-number-of-redemptions-reached | coupon-not-found | coupon-not-unique | coupons-disabled | create-github-issue-not-allowed | creator-plan-not-available | cron-expression-invalid | daily-ai-token-limit-exceeded | daily-publication-limit-exceeded | dataset-does-not-have-fields-schema | dataset-does-not-have-schema | dataset-locked | dataset-schema-invalid | dcr-not-supported | default-dataset-not-found | deleting-default-build | deleting-unfinished-build | email-already-taken | email-already-taken-removed-user | email-domain-not-allowed-for-coupon | email-invalid | email-not-allowed | email-not-valid | email-update-too-soon | elevated-permissions-needed | env-var-already-exists | exchange-rate-fetch-failed | expired-conference-token | failed-to-charge-user | final-invoice-negative | full-permission-actor-blocked-for-admin | full-permission-actor-not-approved | github-branch-empty | github-issue-already-exists | github-public-key-not-found | github-repository-not-found | github-signature-does-not-match-payload | github-user-not-authorized-for-issues | gmail-not-allowed | id-does-not-match | incompatible-billing-interval | incomplete-payout-billing-info | inconsistent-currencies | incorrect-pricing-modifier-prefix | input-json-invalid-characters | input-json-not-object | input-json-too-long | input-update-collision | insufficient-permissions | insufficient-permissions-to-change-field | insufficient-security-measures | insufficient-tax-country-evidence | integration-auth-error | internal-server-error | invalid-billing-info | invalid-billing-period-for-payout | invalid-build | invalid-client-key | invalid-collection | invalid-conference-login-password | invalid-content-type-header | invalid-credentials | invalid-git-auth-token | invalid-github-issue-url | invalid-header | invalid-id | invalid-idempotency-key | invalid-input | invalid-input-schema | invalid-invoice | invalid-invoice-type | invalid-issue-date | invalid-label-params | invalid-main-account-user-id | invalid-oauth-app | invalid-oauth-scope | invalid-one-time-invoice | invalid-parameter | invalid-payout-status | invalid-picture-url | invalid-record-key | invalid-request | invalid-resource-type | invalid-signature | invalid-subscription-plan | invalid-tax-number | invalid-tax-number-format | invalid-token | invalid-token-type | invalid-two-factor-code | invalid-two-factor-code-or-recovery-code | invalid-two-factor-recovery-code | invalid-username | invalid-value | invitation-invalid-resource-type | invitation-no-longer-valid | invoice-canceled | invoice-cannot-be-refunded-due-to-too-high-amount | invoice-incomplete | invoice-is-draft | invoice-locked | invoice-must-be-buffer | invoice-not-canceled | invoice-not-draft | invoice-not-found | invoice-outdated | invoice-paid-already | issue-already-connected-to-github | issue-not-found | issues-bad-request | issuer-not-registered | job-finished | label-already-linked | last-api-token | limit-reached | max-items-must-be-greater-than-zero | max-metamorphs-exceeded | max-total-charge-usd-below-minimum | max-total-charge-usd-must-be-greater-than-zero | method-not-allowed | migration-disabled | missing-actor-rights | missing-api-token | missing-billing-info | missing-line-items | missing-payment-date | missing-payout-billing-info | missing-proxy-password | missing-reporting-fields | missing-resource-name | missing-settings | missing-username | monthly-usage-limit-too-low | more-than-one-update-not-allowed | multiple-records-found | must-be-admin | name-not-unique | next-runtime-computation-failed | no-columns-in-exported-dataset | no-payment-attempt-for-refund-found | no-payment-method-available | no-team-account-seats-available | non-temporary-email | not-enough-usage-to-run-paid-actor | not-implemented | not-supported-currencies | o-auth-service-already-connected | o-auth-service-not-connected | oauth-resource-access-failed | one-time-invoice-already-marked-paid | only-drafts-can-be-deleted | operation-canceled | operation-not-allowed | operation-timed-out | organization-cannot-own-itself | organization-role-not-found | overlapping-payout-billing-periods | own-token-required | page-not-found | param-not-one-of | parameter-required | parameters-mismatched | password-reset-email-already-sent | password-reset-token-expired | pay-as-you-go-without-monthly-interval | payment-attempt-status-message-required | payout-already-paid | payout-canceled | payout-invalid-state | payout-must-be-approved-to-be-marked-paid | payout-not-found | payout-number-already-exists | phone-number-invalid | phone-number-landline | phone-number-opted-out | phone-verification-disabled | platform-feature-disabled | price-overrides-validation-failed | pricing-model-not-supported | promotional-plan-not-available | proxy-auth-ip-not-unique | public-actor-disabled | query-timeout | quoted-price-outdated | rate-limit-exceeded | recaptcha-invalid | recaptcha-required | record-not-found | record-not-public | record-or-token-not-found | record-too-large | redirect-uri-mismatch | reduced-plan-not-available | rental-charge-already-reimbursed | rental-not-allowed | request-aborted-prematurely | request-handled-or-locked | request-id-invalid | request-queue-duplicate-requests | request-too-large | requested-dataset-view-does-not-exist | resume-token-expired | run-failed | run-input-body-not-valid-json | run-timeout-exceeded | russia-is-evil | same-user | schedule-actor-not-found | schedule-actor-task-not-found | schedule-name-not-unique | schema-validation | schema-validation-error | schema-validation-failed | service-worker-registration-not-allowed | sign-up-method-not-allowed | slack-integration-not-custom | socket-closed | socket-destroyed | store-schema-invalid | store-terms-not-accepted | stripe-enabled | stripe-generic-decline | stripe-not-enabled | stripe-not-enabled-for-user | tagged-build-required | tax-country-invalid | tax-number-invalid | tax-number-validation-failed | taxamo-call-failed | taxamo-request-failed | testing-error | token-not-provided | too-few-versions | too-many-actor-tasks | too-many-actors | too-many-labels-on-resource | too-many-mcp-connectors | too-many-o-auth-apps | too-many-organizations | too-many-requests | too-many-schedules | too-many-ui-access-keys | too-many-user-labels | too-many-values | too-many-versions | too-many-webhooks | unexpected-route | unknown-build-tag | unknown-payment-provider | unsubscribe-token-invalid | unsupported-actor-pricing-model-for-agentic-payments | unsupported-content-encoding | unsupported-file-type-for-issue | unsupported-file-type-image-expected | unsupported-file-type-text-or-json-expected | unsupported-permission | upcoming-subscription-bill-not-up-to-date | user-already-exists | user-already-verified | user-creates-organizations-too-fast | user-disabled | user-email-is-disposable | user-email-not-set | user-email-not-verified | user-has-no-subscription | user-integration-not-found | user-is-already-invited | user-is-already-organization-member | user-is-not-member-of-organization | user-is-not-organization | user-is-organization | user-is-organization-owner | user-is-removed | user-not-found | user-not-logged-in | user-not-verified | user-or-token-not-found | user-plan-not-allowed-for-coupon | user-problem-with-card | user-record-not-found | username-already-taken | username-missing | username-not-allowed | username-removal-forbidden | username-required | verification-email-already-sent | verification-token-expired | version-already-exists | versions-size-exceeded | weak-password | x402-agentic-payment-already-finalized | x402-agentic-payment-insufficient-amount | x402-agentic-payment-malformed-token | x402-agentic-payment-settlement-failed | x402-agentic-payment-settlement-in-progress | x402-agentic-payment-settlement-stuck | x402-agentic-payment-unauthorized | x402-payment-required | zero-invoice, string>

The type of the error, as returned by the API. Typed as the known ApifyApiErrorType values for autocompletion, while still accepting any string the API may return.

staticexternalinheritedstackTraceLimit

stackTraceLimit: number

The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Methods

staticexternalinheritedcaptureStackTrace

  • captureStackTrace(targetObject, constructorOpt): void
  • Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

    const myObject = {};
    Error.captureStackTrace(myObject);
    myObject.stack; // Similar to `new Error().stack`

    The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.

    The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.

    The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

    function a() {
    b();
    }

    function b() {
    c();
    }

    function c() {
    // Create an error without stack trace to avoid calculating the stack trace twice.
    const { stackTraceLimit } = Error;
    Error.stackTraceLimit = 0;
    const error = new Error();
    Error.stackTraceLimit = stackTraceLimit;

    // Capture the stack trace above function b
    Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
    throw error;
    }

    a();

    Parameters

    • externaltargetObject: object
    • externaloptionalconstructorOpt: Function

    Returns void

staticexternalinheritedprepareStackTrace

  • prepareStackTrace(err, stackTraces): any