## Table of Contents

- [Error codes](#error-codes)
- [EAUTH](#eauth)
- [EBRWSRTIMEOUT](#ebrwsrtimeout)
- [EFATAL](#efatal)
- [EFILENAME](#efilename)
- [EFATALCLIENT](#efatalclient)
- [EFORBIDDENURL](#eforbiddenurl)
- [EHEADERS](#eheaders)
- [EINVALURL](#einvalurl)
- [EINVALPROXY](#einvalproxy)
- [EINVALURLCLIENT](#einvalurlclient)
- [EINVALTTL](#einvalttl)
- [EINVALEVAL](#einvaleval)
- [EINVALFUNCTION](#einvalfunction)
- [EINVALSTTL](#einvalsttl)
- [EINVALOVERLAYBG](#einvaloverlaybg)
- [EMAXREDIRECTS](#emaxredirects)
- [EPRO](#epro)
- [EPROXY](#eproxy)
- [EPROXYNEEDED](#eproxyneeded)
- [ERATE](#erate)
- [ETIMEOUT](#etimeout)
- [ETTL](#ettl)
- [ESTTL](#esttl)

---

[](https://microlink.io/docs/api/getting-started/overview)

[API](https://microlink.io/docs/api/getting-started/overview)

[](https://microlink.io/docs/guides)

GUIDES

[](https://microlink.io/docs/mql/getting-started/overview)

MQL

[](https://microlink.io/docs/sdk/getting-started/overview)

SDK

[](https://microlink.io/docs/cards/getting-started/overview)

CARDS

## 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](mailto:hello@microlink.io)

.

## EAUTH

**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

**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.

## EFATAL

**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.

## EFILENAME

**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

**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](mailto:hello@microlink.io)

.

## 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.

## EHEADERS

**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.

## EINVALURL

**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 [](https://nodejs.org/api/url.html#url_the_whatwg_url_api)

[WHATWG URL](https://nodejs.org/api/url.html#url_the_whatwg_url_api)

standard.

## 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 [](https://nodejs.org/api/url.html#url_the_whatwg_url_api)

[WHATWG URL](https://nodejs.org/api/url.html#url_the_whatwg_url_api)

.

## 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 [](https://nodejs.org/api/url.html#url_the_whatwg_url_api)

[WHATWG URL](https://nodejs.org/api/url.html#url_the_whatwg_url_api)

standard.

## EINVALTTL

**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.

## EINVALEVAL

**Message**

The `function` evaluation failed.

**Solution**

The [function](https://microlink.io/docs/api/parameters/function) code was executed but failed during evaluation. This typically means your function threw an error or encountered a runtime exception. Check your function code for:

- JavaScript runtime errors
- Undefined variables or functions
- Incorrect operations on the page data

## EINVALFUNCTION

**Message**

The `function` code has a syntax error.

**Solution**

The [function](https://microlink.io/docs/api/parameters/function) parameter contains invalid JavaScript syntax. Ensure your function:

- Has valid JavaScript syntax
- Uses proper function formatting (arrow function or regular function)
- Doesn't contain syntax errors like missing brackets or semicolons

## EINVALSTTL

**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

**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](https://developer.mozilla.org/en-US/docs/Web/CSS/gradient)

.

## 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.

## EPRO

**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](https://pro.microlink.io/)

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

## EPROXY

**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

**Message**

The URL provided uses antibot protection. Upgrade to a

PRO

plan.

**Solution**

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

## ERATE

**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.

## ETIMEOUT

**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.

## ETTL

**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.

## ESTTL

**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.