Skip to main content
Version: Next

ApifyApiError

An ApifyApiError is thrown for successful HTTP requests that reach the API, but the API responds with an error response. Typically, those are rate limit errors and internal errors, which are automatically retried, or validation errors, which are thrown immediately, because a correction by the user is needed.

Hierarchy

  • Error
    • ApifyApiError

Index

Properties

attempt

attempt: number

Number of the API call attempt.

externaloptionalinheritedcause

cause?: unknown

clientMethod

clientMethod: string

The invoked resource client and the method. Known issue: Sometimes it displays as unknown because it can't be parsed from a stack trace.

optionaldata

data?: Record<string, unknown>

Additional data provided by the API about the error

optionalhttpMethod

httpMethod?: string

HTTP method of the API call.

externalinheritedmessage

message: string

name

name: string

originalStack

originalStack: string

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

optionalpath

path?: string

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

externaloptionalinheritedstack

stack?: string

statusCode

statusCode: number

HTTP status code of the error.

optionaltype

type?: string

The type of the error, as returned by the API.

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