## Table of Contents

- [Installation](#installation)
  - [From Node.js](#from-nodejs)
  - [From Edge](#from-edge)
  - [From Browser](#from-browser)

---

[](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

## Installation

**MQL** is available as [](https://www.npmjs.com/package/@microlink/react)

[npm package](https://www.npmjs.com/package/@microlink/react)

:

``` bash
npm install @microlink/mql --save
```

The package is fully typed, and it has been designed for being consumed in different environments and ways.

### From Node.js

Any Node.js above v16.14 is supported. We recommend running it using the active TLS. Check [](https://nodejs.dev/en/about/releases/)

[Node.js releases](https://nodejs.dev/en/about/releases/)

to know more.

Just require `@microlink/mql` dependency from your code:

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

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

  data: {

    avatar: {

      selector: '#avatar',

      type: 'image',

      attr: 'src'

    }

  }

})

console.log(

  `The avatar URL is '${data.avatar.url}' (${data.avatar.size_pretty})`

)
```

The same build is available for CommonJS and ESM.

### From Edge

If you are using [](https://workers.cloudflare.com/)

[CloudFlare Workers](https://workers.cloudflare.com/)

, [](https://vercel.com/features/edge-functions)

Vercel Edge Functions

, [](https://deno.com/)

Deno

, or any other provider that supports [](https://wintercg.org/)

WinterCG

, the Node.js ESM build is implemented on top of Web Standard APIs, nothing extra should be done.

Just import `@microlink/mql/lightweight` from your code:

``` js
import mql from '@microlink/mql/lightweight'

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

  data: {

    avatar: {

      selector: '#avatar',

      type: 'image',

      attr: 'src'

    }

  }

})

console.log(

  `The avatar URL is '${data.avatar.url}' (${data.avatar.size_pretty})`

)
```

The same build is available for CommonJS and ESM.

### From Browser

Last but not least, MQL can be loaded from any browser directly from HTML markup:

``` html
<script type="module">

  import mql from 'https://esm.sh/@microlink/mql'

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

    data: {

      avatar: {

        selector: '#avatar',

        type: 'image',

        attr: 'src',

      }

    }

  })

  console.log(`The avatar URL is '${data.avatar.url}' (${data.avatar.size_pretty})`)

</script>
```