## Table of Contents

- [Nested rules definition](#nested-rules-definition)

---

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

## Nested rules definition

In case you need, you can use [attr](https://microlink.io/docs/mql/data/attr) for mapping data structures over the same property key:

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

const github = username =>

  mql(`https://github.com/${username}`, {

    data: {

      stats: {

        selector: '.application-main',

        attr: {

          followers: {

            selector: '.js-profile-editable-area a[href*="tab=followers"] span',

            type: 'number'

          },

          following: {

            selector: '.js-profile-editable-area a[href*="tab=following"] span',

            type: 'number'

          },

          stars: {

            selector:

              '.js-responsive-underlinenav a[data-tab-item="stars"] span',

            type: 'number'

          }

        }

      }

    }

  })

const username = 'kikobeats'

const { response, data } = await github(username)

console.log(`GitHub stats for @${username}:`, data.stats)
```

Last updated on January 10, 2026

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