soundcloud-api-ts-next
    Preparing search index...

    Class SoundCloudError

    Error class thrown when a SoundCloud API request fails.

    Provides structured access to HTTP status, error codes, and convenience getters for common error categories.

    import { SoundCloudError } from 'soundcloud-api-ts';

    try {
    await sc.tracks.getTrack(999999999);
    } catch (err) {
    if (err instanceof SoundCloudError) {
    if (err.isNotFound) console.log('Track not found');
    if (err.isRateLimited) console.log('Rate limited, retry later');
    console.log(err.status, err.message);
    }
    }

    Hierarchy

    • Error
      • SoundCloudError
    Index

    Constructors

    • Creates a new SoundCloudError.

      Parameters

      • status: number

        HTTP status code

      • statusText: string

        HTTP status text

      • Optionalbody: SoundCloudErrorBody

        Parsed JSON error response body from SoundCloud, if available

      Returns SoundCloudError

    Properties

    body?: SoundCloudErrorBody

    The full parsed error response body, if available

    docsLink?: string

    Link to SoundCloud API documentation, if included in the error response

    errorCode?: string

    Machine-readable error code from SoundCloud (e.g. "invalid_client"), if present

    errors: string[]

    Individual error messages extracted from the response body's errors array

    message: string
    name: string
    stack?: string
    status: number

    HTTP status code of the failed response (e.g. 401, 404, 429)

    statusText: string

    HTTP status text of the failed response (e.g. "Unauthorized", "Not Found")

    Accessors

    • get isForbidden(): boolean

      True if status is 403 Forbidden (insufficient permissions)

      Returns boolean

    • get isInvalidGrant(): boolean

      True if the OAuth error is invalid_grant (refresh token is dead; user must re-authorize)

      Returns boolean

    • get isNotFound(): boolean

      True if status is 404 Not Found (resource does not exist)

      Returns boolean

    • get isPermanentAuthError(): boolean

      True if the OAuth error means the user token is permanently unusable. Does not include invalid_client — SoundCloud sometimes returns that as a transient 401.

      Returns boolean

    • get isRateLimited(): boolean

      True if status is 429 Too Many Requests (rate limit exceeded)

      Returns boolean

    • get isServerError(): boolean

      True if status is 5xx (SoundCloud server error)

      Returns boolean

    • get isUnauthorized(): boolean

      True if status is 401 Unauthorized (invalid or expired token)

      Returns boolean