# Error codes

Microlink API considers an unexpected situation any request performed on which [status](https://microlink.io/docs/api/basics/format#status) is different from 'success'.

When this happens, the response payload includes some useful information in order to determine the root cause of the problem:

- `id`: The unique identifier associated with the request.
- `code`: The error code that represents the final request state.
- `message`: A brief explanantion about why the error happened.
- `more`: A link pointing this documentation.
- `report`: A link for reporting the problem directly to us.

If you are experience any of these errors are you not sure how to proceed, please feel free to [](mailto:hello@microlink.io)

reach us

.

##

**Message**

Invalid API key. Make sure you are attaching your API key as `x-api-key` header.

**Solution**

Ensure to [authenticate](https://microlink.io/docs/api/basics/authentication) your requests providing an API key attached as `x-api-key`.

## [EBRWSRTIMEOUT](https://microlink.io/docs/api/basics/error-codes#ebrwsrtimeout)

**Message**

The URL provided reached the maximum browser navigation time allowed.

**Solution**

When the target [url](https://microlink.io/docs/api/parameters/url) reached the [timeout](https://microlink.io/docs/api/parameters/timeout) associated with the request lifecycle, this error is thrown.

In order to avoid this error, the request should be resolved before timeout.

##

**Message**

Resolved the target URL failed. Make sure your URL is valid and it has HTML content.

**Solution**

This is the generic error used when it wasn't possible to determine the root cause of the problem.

If you are experimenting with this error, please [](mailto:hello@microlink.io)

contact us

, reporting the request `id` to make it possible to reproduce the original request.

##

**Message**

You need a

PRO

plan for using [filename](https://microlink.io/docs/api/parameters/filename) query parameter.

**Solution**

See [pricing](https://microlink.io/#pricing) for upgrading your plan.

## [EFATALCLIENT](https://microlink.io/docs/api/basics/error-codes#efatalclient)

**Message**

(no message)

**Solution**

There is a network problem trying to reach the API [endpoint](https://microlink.io/docs/api/basics/endpoint).

If you are experimenting with this error, please [](mailto:hello@microlink.io)

contact us

.

## [EFORBIDDENURL](https://microlink.io/docs/api/basics/error-codes#eforbiddenurl)

**Message**

The URL is being resolved into an IP address whose range is not allowed.

**Solution**

The service will only resolve URLs that point to unicast IP addresses.

##

**Message**

You need a

PRO

plan for using [headers](https://microlink.io/docs/api/parameters/headers) query parameters.

**Solution**

See [pricing](https://microlink.io/#pricing) for upgrading your plan.

##

**Message**

The target URL is considered not valid.

**Solution**

Ensure the [url](https://microlink.io/docs/api/parameters/url) provided has protocol, hostname and follows standard.

## [EINVALPROXY](https://microlink.io/docs/api/basics/error-codes#einvalproxy)

**Message**

The proxy URL is considered not valid.

**Solution**

Ensure the [url](https://microlink.io/docs/api/parameters/proxy) provided can be parsed as .

## [EINVALURLCLIENT](https://microlink.io/docs/api/basics/error-codes#einvalurlclient)

**Message**

The target URL is considered not valid.

**Solution**

Ensure the [url](https://microlink.io/docs/api/parameters/url) provided has protocol, hostname and follows standard.

##

**Message**

The `ttl` value is invalid.

**Solution**

The [ttl](https://microlink.io/docs/api/parameters/ttl) value should be a value between '1m' to '31d' range.

##

**Message**

The `staleTtl` value is invalid.

**Solution**

The [staleTtl](https://microlink.io/docs/api/parameters/staleTtl) value should be a value less than the current [ttl](https://microlink.io/docs/api/parameters/ttl) provided.

## [EINVALOVERLAYBG](https://microlink.io/docs/api/basics/error-codes#einvaloverlaybg)

**Message**

The gradient is not valid. Ensure it follows CSS gradient syntax.

**Solution**

The [overlay.background](https://microlink.io/docs/api/parameters/screenshot/overlay) value must be a valid CSS gradient or color. Common issues include:

- Missing color stops (e.g., `linear-gradient(90deg,)` instead of `linear-gradient(90deg, red, blue)`)
- Invalid color values
- Malformed gradient syntax

Ensure your gradient follows the [](https://developer.mozilla.org/en-US/docs/Web/CSS/gradient)

CSS gradient syntax

.

## [EMAXREDIRECTS](https://microlink.io/docs/api/basics/error-codes#emaxredirects)

**Message**

The target URL reached the maximum number of redirect after 10 times.

**Solution**

Ensure the [url](https://microlink.io/docs/api/parameters/url) provided reaches the destination URL in less than 10 hops.

##

**Message**

The request has `x-api-key` header present and it has been performed against [](https://api.microlink.io/)

api.microlink.io

endpoint.

**Solution**

In order to [authenticate](https://microlink.io/docs/api/basics/authentication) your requests, you need to perform them against [](https://pro.microlink.io/)

pro.microlink.io

. Check [endpoint](https://microlink.io/docs/api/basics/endpoint) to know more.

##

**Message**

You need a

PRO

plan for using [proxy](https://microlink.io/docs/api/parameters/proxy) query parameter.

**Solution**

See [pricing](https://microlink.io/#pricing) for upgrading your plan.

## [EPROXYNEEDED](https://microlink.io/docs/api/basics/error-codes#eproxyneeded)

**Message**

The URL provided uses antibot protection. Upgrade to a

PRO

plan.

**Solution**

See [pricing](https://microlink.io/#pricing) for upgrading your plan.

##

**Message**

Your daily rate limit has been reached. You need to wait or extend your plan.

**Solution**

You need to extend your [rate limit](https://microlink.io/docs/api/basics/rate-limit) quota or wait until you’re quota reset.

##

**Message**

The request reached maximum timeout.

**Solution**

When the target [url](https://microlink.io/docs/api/parameters/url) reached the [timeout](https://microlink.io/docs/api/parameters/timeout) associated with the request lifecycle, this error is thrown.

In order to avoid this error, the request should be resolved before timeout.

##

**Message**

You need a

PRO

plan for using [ttl](https://microlink.io/docs/api/parameters/ttl) query parameter.

**Solution**

See [pricing](https://microlink.io/#pricing) for upgrading your plan.

##

**Message**

You need a

PRO

plan for using [staleTtl](https://microlink.io/docs/api/parameters/staleTtl) query parameter.

**Solution**

See [pricing](https://microlink.io/#pricing) for upgrading your plan.