## Table of Contents

- [Usage](#usage)

---

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

[GUIDES](https://microlink.io/docs/guides) [MQL](https://microlink.io/docs/mql/getting-started/overview) [SDK](https://microlink.io/docs/sdk/getting-started/overview) [CARDS](https://microlink.io/docs/cards/getting-started/overview)

API GUIDES MQL SDK CARDS

Getting Started

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

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

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

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

Rules Definition

[Basic rule](https://microlink.io/docs/mql/rules/basic)

[Nested rules](https://microlink.io/docs/mql/rules/nested)

[Rules fallbacks](https://microlink.io/docs/mql/rules/fallbacks)

Data definition

[attr](https://microlink.io/docs/mql/data/attr)

[evaluate](https://microlink.io/docs/mql/data/evaluate)

[selector](https://microlink.io/docs/mql/data/selector)

[selectorAll](https://microlink.io/docs/mql/data/selectorAll)

[type](https://microlink.io/docs/mql/data/type)

API GUIDES MQL SDK CARDS

Getting Started

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

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

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

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

Rules Definition

[Basic rule](https://microlink.io/docs/mql/rules/basic)

[Nested rules](https://microlink.io/docs/mql/rules/nested)

[Rules fallbacks](https://microlink.io/docs/mql/rules/fallbacks)

Data definition

[attr](https://microlink.io/docs/mql/data/attr)

[evaluate](https://microlink.io/docs/mql/data/evaluate)

[selector](https://microlink.io/docs/mql/data/selector)

[selectorAll](https://microlink.io/docs/mql/data/selectorAll)

[type](https://microlink.io/docs/mql/data/type)

## Usage

[Copy for LLM](https://microlink.io/docs/mql/getting-started/usage.md "Copy content for LLM")

\|

[View as Markdown](https://microlink.io/docs/mql/getting-started/usage.md "View content as Markdown")

For using **MQL**, you need to provide at least a [url](https://microlink.io/docs/api/parameters/url).

```js
const mql = require('@microlink/mql')

const { status, data, response } = await mql('https://microlink.io')
```

It returns an \<object\> with the following properties:

- `status`: The [status](https://microlink.io/docs/api/basics/format#status) associated with the response.
- `data`: The [data](https://microlink.io/docs/api/basics/format#data) response from the API.
- `response`: The Node.js response object.

Under non succesful response it will throw a MicrolinkError:

```js
const mql = require('@microlink/mql')

// The library exposes `MicrolinkError` constructor

const { MicrolinkError } = mql

try {

  const { data } = await mql('https://example.com', {

    screenshot: true,

    waitFor: 1000

  })

  console.log(data)

} catch (error) {

  console.log(error instanceof MicrolinkError) // => true

  console.log(error.name) // => RequestError

  console.log(error.hostname) // => api.microlink.io

  console.log(error.status) // => fail

  console.log(error.url) // => 'https://api.microlink.io/?url=https%3A%2F%2Fkikobeats.com&screenshot=true&video=true&waitFor=40000&force=true'

  console.log(error.code) // => EFAILED

  console.log(error.message) // => EFAILED, Request timed out

  console.log(error.statusCode) // => 500

}
```

A \`MicrolinkError\` always has an associated \`status\`, \`message\` and \`code\`.

Last updated on January 10, 2026

[Edit on GitHub](https://github.com/microlinkhq/www/blob/master/src/content/docs/mql/getting-started/usage.md)