Skip to content

Errors

urlscan.APIError

Bases: URLScanError

Exception raised for API errors.

Source code in src/urlscan/error.py
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
class APIError(URLScanError):
    """Exception raised for API errors."""

    def __init__(
        self,
        message: str,
        *,
        status: int,
        description: str | None = None,
        errors: list[ItemError] | None = None,
        code: str | None = None,
        type_: str | None = None,
    ):
        """Initialize the API error.

        Args:
            message (str): error message.
            status (int): error status.
            description (str | None, optional): error description. Defaults to None.
            errors (list[ErrorItem] | None, optional): error items. Defaults to None.
            code (str | None, optional): error code. Defaults to None.
            type_ (str | None, optional): error type. Defaults to None.

        """
        self.message = message
        self.description = description
        self.status = status
        self.errors = errors
        self.code = code
        self.type = type_
        super().__init__(message)

__init__(message, *, status, description=None, errors=None, code=None, type_=None)

Initialize the API error.

Parameters:

Name Type Description Default
message str

error message.

required
status int

error status.

required
description str | None

error description. Defaults to None.

None
errors list[ErrorItem] | None

error items. Defaults to None.

None
code str | None

error code. Defaults to None.

None
type_ str | None

error type. Defaults to None.

None
Source code in src/urlscan/error.py
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
def __init__(
    self,
    message: str,
    *,
    status: int,
    description: str | None = None,
    errors: list[ItemError] | None = None,
    code: str | None = None,
    type_: str | None = None,
):
    """Initialize the API error.

    Args:
        message (str): error message.
        status (int): error status.
        description (str | None, optional): error description. Defaults to None.
        errors (list[ErrorItem] | None, optional): error items. Defaults to None.
        code (str | None, optional): error code. Defaults to None.
        type_ (str | None, optional): error type. Defaults to None.

    """
    self.message = message
    self.description = description
    self.status = status
    self.errors = errors
    self.code = code
    self.type = type_
    super().__init__(message)

urlscan.RateLimitError

Bases: APIError

Exception raised when rate limit is exceeded.

Source code in src/urlscan/error.py
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
class RateLimitError(APIError):
    """Exception raised when rate limit is exceeded."""

    def __init__(
        self,
        message: str,
        *,
        status: int,
        rate_limit_reset_after: float,
        description: str | None = None,
    ):
        """Initialize the rate limit error.

        Args:
            message: Error message.
            status: HTTP status code.
            rate_limit_reset_after: Seconds until rate limit resets.
            description: Optional error description.

        """
        super().__init__(message, description=description, status=status)
        self.rate_limit_reset_after = rate_limit_reset_after

__init__(message, *, status, rate_limit_reset_after, description=None)

Initialize the rate limit error.

Parameters:

Name Type Description Default
message str

Error message.

required
status int

HTTP status code.

required
rate_limit_reset_after float

Seconds until rate limit resets.

required
description str | None

Optional error description.

None
Source code in src/urlscan/error.py
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
def __init__(
    self,
    message: str,
    *,
    status: int,
    rate_limit_reset_after: float,
    description: str | None = None,
):
    """Initialize the rate limit error.

    Args:
        message: Error message.
        status: HTTP status code.
        rate_limit_reset_after: Seconds until rate limit resets.
        description: Optional error description.

    """
    super().__init__(message, description=description, status=status)
    self.rate_limit_reset_after = rate_limit_reset_after