## Table of Contents

- [evaluate](#evaluate)

---

[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)

## evaluate

[Copy for LLM](https://microlink.io/docs/mql/data/evaluate.md "Copy content for LLM")

\|

[View as Markdown](https://microlink.io/docs/mql/data/evaluate.md "View content as Markdown")

Type:

\<string\>

It evaluates the JavaScript stringified value provided inside the browser context over the target URL, returning the result.

It's quite similar to [selector](https://microlink.io/docs/mql/data/selector), but designed to specify the value to be obtained in a JavaScript-like way.

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

const getNextVersion = url =>

  mql(url, {

    data: {

      version: {

        evaluate: 'window.next.version',

        type: 'string'

      }

    }

  })

const { data } = await getNextVersion('https://vercel.com')

console.log(`Next.js version is: ${data.version}`)
```

You can combine evaluate with types for data correcteness.

It can evaluate anything browser compatible in the JavaScript context.

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

const getExcerpt = url =>

  mql(url, {

    data: {

      excerpt: {

        evaluate: async () => {

          const response = await window.fetch(

            'https://cdn.jsdelivr.net/npm/@mozilla/readability/Readability.js'

          )

          const script = await response.text()

          window.eval(script)

          const reader = new window.Readability(window.document)

          return reader.parse().excerpt

        },

        type: 'string'

      }

    }

  })

const { data } = await getExcerpt(

  'https://levelup.gitconnected.com/how-to-load-external-javascript-files-from-the-browser-console-8eb97f7db778'

)

console.log(data.excerpt)
```

Last updated on January 10, 2026

[Edit on GitHub](https://github.com/microlinkhq/www/blob/master/src/content/docs/mql/data/evaluate.md)