## Table of Contents

- [CLI Microlink API example](#cli-microlink-api-example)
  - [cURL Microlink API example](#curl-microlink-api-example)
  - [JavaScript Microlink API example](#javascript-microlink-api-example)
  - [Python Microlink API example](#python-microlink-api-example)
  - [Ruby Microlink API example](#ruby-microlink-api-example)
  - [PHP Microlink API example](#php-microlink-api-example)
  - [Golang Microlink API example](#golang-microlink-api-example)
- [Return JSON directly](#return-json-directly)
  - [CLI Microlink API example](#cli-microlink-api-example-1)
  - [cURL Microlink API example](#curl-microlink-api-example-1)
  - [JavaScript Microlink API example](#javascript-microlink-api-example-1)
  - [Python Microlink API example](#python-microlink-api-example-1)
  - [Ruby Microlink API example](#ruby-microlink-api-example-1)
  - [PHP Microlink API example](#php-microlink-api-example-1)
  - [Golang Microlink API example](#golang-microlink-api-example-1)
- [Keep the whole response body](#keep-the-whole-response-body)
- [When to use it](#when-to-use-it)
- [Next step](#next-step)

---

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

[What is Microlink](https://microlink.io/docs/guides/what-is-microlink)

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

[Customizing output](https://microlink.io/docs/guides/screenshot/customizing-output)

[Browser settings](https://microlink.io/docs/guides/screenshot/browser-settings)

[Page interaction](https://microlink.io/docs/guides/screenshot/page-interaction)

[Delivery and embedding](https://microlink.io/docs/guides/screenshot/embedding)

[Caching and performance](https://microlink.io/docs/guides/screenshot/caching-and-performance)

[Private pages](https://microlink.io/docs/guides/screenshot/private-pages)

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

[Data extraction](https://microlink.io/docs/guides/data-extraction)

[Defining rules](https://microlink.io/docs/guides/data-extraction/defining-rules)

[Page preparation](https://microlink.io/docs/guides/data-extraction/page-preparation)

[Delivery and response shaping](https://microlink.io/docs/guides/data-extraction/delivery-and-response)

[Caching and performance](https://microlink.io/docs/guides/data-extraction/caching-and-performance)

[Private pages](https://microlink.io/docs/guides/data-extraction/private-pages)

[Troubleshooting](https://microlink.io/docs/guides/data-extraction/troubleshooting)

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

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

[Iframe parameter](https://microlink.io/docs/guides/embed/iframe)

[Custom HTML/CSS](https://microlink.io/docs/guides/embed/metadata-api)

[Custom previews with AI](https://microlink.io/docs/guides/embed/custom-previews-with-ai)

[Caching and performance](https://microlink.io/docs/guides/embed/caching-and-performance)

[Private pages and proxy](https://microlink.io/docs/guides/embed/private-pages-and-proxy)

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

[Content conversion](https://microlink.io/docs/guides/content-conversion)

[Web page to Text](https://microlink.io/docs/guides/content-conversion/url-to-text)

[Web page to Markdown](https://microlink.io/docs/guides/content-conversion/url-to-markdown)

[Web page to HTML](https://microlink.io/docs/guides/content-conversion/url-to-html)

[PDF file to Markdown](https://microlink.io/docs/guides/content-conversion/pdf-url-to-markdown)

[PDF file to HTML](https://microlink.io/docs/guides/content-conversion/pdf-url-to-html)

[JSON endpoint to JSON](https://microlink.io/docs/guides/content-conversion/json-endpoint-to-json)

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

[Choosing scope](https://microlink.io/docs/guides/markdown/choosing-scope)

[Delivery and response shaping](https://microlink.io/docs/guides/markdown/delivery-and-response)

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

[Writing functions](https://microlink.io/docs/guides/function/writing-functions)

[Browser interaction](https://microlink.io/docs/guides/function/browser-interaction)

[Profiling and performance](https://microlink.io/docs/guides/function/profiling-and-performance)

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

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

[Page size and layout](https://microlink.io/docs/guides/pdf/page-size-and-layout)

[Page preparation](https://microlink.io/docs/guides/pdf/page-preparation)

[Delivery and embedding](https://microlink.io/docs/guides/pdf/embedding)

[Caching and performance](https://microlink.io/docs/guides/pdf/caching-and-performance)

[Private pages](https://microlink.io/docs/guides/pdf/private-pages)

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

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

[Choosing fields](https://microlink.io/docs/guides/metadata/choosing-fields)

[Extending results](https://microlink.io/docs/guides/metadata/extending-results)

[Delivery and response shaping](https://microlink.io/docs/guides/metadata/delivery-and-response)

[Page preparation](https://microlink.io/docs/guides/metadata/page-preparation)

[Caching and performance](https://microlink.io/docs/guides/metadata/caching-and-performance)

[Private pages](https://microlink.io/docs/guides/metadata/private-pages)

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

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

[Technology detection](https://microlink.io/docs/guides/insights/technology-detection)

[Lighthouse reports](https://microlink.io/docs/guides/insights/lighthouse-reports)

[Caching and performance](https://microlink.io/docs/guides/insights/caching-and-performance)

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

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

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

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

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

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

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

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

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

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

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

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

[Content expansion](https://microlink.io/docs/guides/search/content-expansion)

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

[Common patterns](https://microlink.io/docs/guides/common/caching)

[Caching patterns](https://microlink.io/docs/guides/common/caching)

[Private pages](https://microlink.io/docs/guides/common/private-pages)

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

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

[Production patterns](https://microlink.io/docs/guides/common/production-patterns)

API GUIDES MQL SDK CARDS

Getting Started

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

[What is Microlink](https://microlink.io/docs/guides/what-is-microlink)

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

[Customizing output](https://microlink.io/docs/guides/screenshot/customizing-output)

[Browser settings](https://microlink.io/docs/guides/screenshot/browser-settings)

[Page interaction](https://microlink.io/docs/guides/screenshot/page-interaction)

[Delivery and embedding](https://microlink.io/docs/guides/screenshot/embedding)

[Caching and performance](https://microlink.io/docs/guides/screenshot/caching-and-performance)

[Private pages](https://microlink.io/docs/guides/screenshot/private-pages)

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

[Data extraction](https://microlink.io/docs/guides/data-extraction)

[Defining rules](https://microlink.io/docs/guides/data-extraction/defining-rules)

[Page preparation](https://microlink.io/docs/guides/data-extraction/page-preparation)

[Delivery and response shaping](https://microlink.io/docs/guides/data-extraction/delivery-and-response)

[Caching and performance](https://microlink.io/docs/guides/data-extraction/caching-and-performance)

[Private pages](https://microlink.io/docs/guides/data-extraction/private-pages)

[Troubleshooting](https://microlink.io/docs/guides/data-extraction/troubleshooting)

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

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

[Iframe parameter](https://microlink.io/docs/guides/embed/iframe)

[Custom HTML/CSS](https://microlink.io/docs/guides/embed/metadata-api)

[Custom previews with AI](https://microlink.io/docs/guides/embed/custom-previews-with-ai)

[Caching and performance](https://microlink.io/docs/guides/embed/caching-and-performance)

[Private pages and proxy](https://microlink.io/docs/guides/embed/private-pages-and-proxy)

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

[Content conversion](https://microlink.io/docs/guides/content-conversion)

[Web page to Text](https://microlink.io/docs/guides/content-conversion/url-to-text)

[Web page to Markdown](https://microlink.io/docs/guides/content-conversion/url-to-markdown)

[Web page to HTML](https://microlink.io/docs/guides/content-conversion/url-to-html)

[PDF file to Markdown](https://microlink.io/docs/guides/content-conversion/pdf-url-to-markdown)

[PDF file to HTML](https://microlink.io/docs/guides/content-conversion/pdf-url-to-html)

[JSON endpoint to JSON](https://microlink.io/docs/guides/content-conversion/json-endpoint-to-json)

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

[Choosing scope](https://microlink.io/docs/guides/markdown/choosing-scope)

[Delivery and response shaping](https://microlink.io/docs/guides/markdown/delivery-and-response)

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

[Writing functions](https://microlink.io/docs/guides/function/writing-functions)

[Browser interaction](https://microlink.io/docs/guides/function/browser-interaction)

[Profiling and performance](https://microlink.io/docs/guides/function/profiling-and-performance)

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

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

[Page size and layout](https://microlink.io/docs/guides/pdf/page-size-and-layout)

[Page preparation](https://microlink.io/docs/guides/pdf/page-preparation)

[Delivery and embedding](https://microlink.io/docs/guides/pdf/embedding)

[Caching and performance](https://microlink.io/docs/guides/pdf/caching-and-performance)

[Private pages](https://microlink.io/docs/guides/pdf/private-pages)

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

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

[Choosing fields](https://microlink.io/docs/guides/metadata/choosing-fields)

[Extending results](https://microlink.io/docs/guides/metadata/extending-results)

[Delivery and response shaping](https://microlink.io/docs/guides/metadata/delivery-and-response)

[Page preparation](https://microlink.io/docs/guides/metadata/page-preparation)

[Caching and performance](https://microlink.io/docs/guides/metadata/caching-and-performance)

[Private pages](https://microlink.io/docs/guides/metadata/private-pages)

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

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

[Technology detection](https://microlink.io/docs/guides/insights/technology-detection)

[Lighthouse reports](https://microlink.io/docs/guides/insights/lighthouse-reports)

[Caching and performance](https://microlink.io/docs/guides/insights/caching-and-performance)

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

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

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

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

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

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

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

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

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

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

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

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

[Content expansion](https://microlink.io/docs/guides/search/content-expansion)

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

[Common patterns](https://microlink.io/docs/guides/common/caching)

[Caching patterns](https://microlink.io/docs/guides/common/caching)

[Private pages](https://microlink.io/docs/guides/common/private-pages)

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

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

[Production patterns](https://microlink.io/docs/guides/common/production-patterns)

[Copy for LLM](https://microlink.io/docs/guides/content-conversion/json-endpoint-to-json.md "Copy content for LLM")

\|

[View as Markdown](https://microlink.io/docs/guides/content-conversion/json-endpoint-to-json.md "View content as Markdown")

Use `attr: 'json'` when the target URL is already a JSON endpoint. Microlink fetches the URL, parses the full response body with `JSON.parse`, and returns native structured data instead of a string.

The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://pokeapi.co/api/v2/pokemon/pikachu' URL with 'data', 'meta' & 'prerender' API parameters:

### CLI Microlink API example

```bash
microlink https://pokeapi.co/api/v2/pokemon/pikachu&data.json.attr=json
```

### cURL Microlink API example

```bash
curl -G "https://api.microlink.io" \
  -d "url=https://pokeapi.co/api/v2/pokemon/pikachu" \
  -d "data.json.attr=json" \
  -d "meta=false" \
  -d "prerender=false"
```

### JavaScript Microlink API example

```javascript
import mql from '@microlink/mql'

const { data } = await mql('https://pokeapi.co/api/v2/pokemon/pikachu', {
  data: {
    json: {
      attr: "json"
    }
  },
  meta: false,
  prerender: false
})
```

### Python Microlink API example

```python
import requests

url = "https://api.microlink.io/"

querystring = {
    "url": "https://pokeapi.co/api/v2/pokemon/pikachu",
    "data.json.attr": "json",
    "meta": "false",
    "prerender": "false"
}

response = requests.get(url, params=querystring)

print(response.json())
```

### Ruby Microlink API example

```ruby
require 'uri'
require 'net/http'

base_url = "https://api.microlink.io/"

params = {
  url: "https://pokeapi.co/api/v2/pokemon/pikachu",
  data.json.attr: "json",
  meta: "false",
  prerender: "false"
}

uri = URI(base_url)
uri.query = URI.encode_www_form(params)

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Get.new(uri)
response = http.request(request)

puts response.body
```

### PHP Microlink API example

```php
<?php

$baseUrl = "https://api.microlink.io/";

$params = [
    "url" => "https://pokeapi.co/api/v2/pokemon/pikachu",
    "data.json.attr" => "json",
    "meta" => "false",
    "prerender" => "false"
];

$query = http_build_query($params);
$url = $baseUrl . '?' . $query;

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET"
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #: " . $err;
} else {
    echo $response;
}
```

### Golang Microlink API example

```
package main

import (
    "fmt"
    "net/http"
    "net/url"
    "io"
)

func main() {
    baseURL := "https://api.microlink.io"

    u, err := url.Parse(baseURL)
    if err != nil {
        panic(err)
    }
    q := u.Query()
    q.Set("url", "https://pokeapi.co/api/v2/pokemon/pikachu")
    q.Set("data.json.attr", "json")
    q.Set("meta", "false")
    q.Set("prerender", "false")
    u.RawQuery = q.Encode()

    req, err := http.NewRequest("GET", u.String(), nil)
    if err != nil {
        panic(err)
    }

    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := io.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
```

```javascript
importmqlfrom'@microlink/mql'

const{data}=awaitmql('https://pokeapi.co/api/v2/pokemon/pikachu',{

data:{

json:{

attr:"json"

}

},

meta:false,

prerender:false

})
```

Read the parsed endpoint payload from `data.json`.

## Return JSON directly

Add `embed: 'json'` when the API URL itself should return the parsed JSON field:

The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://pokeapi.co/api/v2/pokemon/pikachu' URL with 'data', 'meta', 'prerender' & 'embed' API parameters:

### CLI Microlink API example

```bash
microlink https://pokeapi.co/api/v2/pokemon/pikachu&data.json.attr=json&embed=json
```

### cURL Microlink API example

```bash
curl -G "https://api.microlink.io" \
  -d "url=https://pokeapi.co/api/v2/pokemon/pikachu" \
  -d "data.json.attr=json" \
  -d "meta=false" \
  -d "prerender=false" \
  -d "embed=json"
```

### JavaScript Microlink API example

```javascript
import mql from '@microlink/mql'

const { data } = await mql('https://pokeapi.co/api/v2/pokemon/pikachu', {
  data: {
    json: {
      attr: "json"
    }
  },
  meta: false,
  prerender: false,
  embed: "json"
})
```

### Python Microlink API example

```python
import requests

url = "https://api.microlink.io/"

querystring = {
    "url": "https://pokeapi.co/api/v2/pokemon/pikachu",
    "data.json.attr": "json",
    "meta": "false",
    "prerender": "false",
    "embed": "json"
}

response = requests.get(url, params=querystring)

print(response.json())
```

### Ruby Microlink API example

```ruby
require 'uri'
require 'net/http'

base_url = "https://api.microlink.io/"

params = {
  url: "https://pokeapi.co/api/v2/pokemon/pikachu",
  data.json.attr: "json",
  meta: "false",
  prerender: "false",
  embed: "json"
}

uri = URI(base_url)
uri.query = URI.encode_www_form(params)

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Get.new(uri)
response = http.request(request)

puts response.body
```

### PHP Microlink API example

```php
<?php

$baseUrl = "https://api.microlink.io/";

$params = [
    "url" => "https://pokeapi.co/api/v2/pokemon/pikachu",
    "data.json.attr" => "json",
    "meta" => "false",
    "prerender" => "false",
    "embed" => "json"
];

$query = http_build_query($params);
$url = $baseUrl . '?' . $query;

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET"
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #: " . $err;
} else {
    echo $response;
}
```

### Golang Microlink API example

```
package main

import (
    "fmt"
    "net/http"
    "net/url"
    "io"
)

func main() {
    baseURL := "https://api.microlink.io"

    u, err := url.Parse(baseURL)
    if err != nil {
        panic(err)
    }
    q := u.Query()
    q.Set("url", "https://pokeapi.co/api/v2/pokemon/pikachu")
    q.Set("data.json.attr", "json")
    q.Set("meta", "false")
    q.Set("prerender", "false")
    q.Set("embed", "json")
    u.RawQuery = q.Encode()

    req, err := http.NewRequest("GET", u.String(), nil)
    if err != nil {
        panic(err)
    }

    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := io.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(body))
}
```

```javascript
importmqlfrom'@microlink/mql'

const{data}=awaitmql('https://pokeapi.co/api/v2/pokemon/pikachu',{

data:{

json:{

attr:"json"

}

},

meta:false,

prerender:false,

embed:"json"

})
```

The response is JSON, so a worker or backend job can consume it without reading a nested `data.json` field.

The same request as a raw URL:

```bash
https://api.microlink.io?url=https://pokeapi.co/api/v2/pokemon/pikachu&data.json.attr=json&meta=false&prerender=false&embed=json
```

## Keep the whole response body

`attr: 'json'` is whole-page only. Do not combine it with `selector` or `selectorAll`; Microlink parses the entire endpoint response.

```js
{

url:'https://pokeapi.co/api/v2/pokemon/pikachu',

data:{

json:{

attr:'json'

}

},

meta:false,

prerender:false

}
```

The original JSON shape is preserved as structured data. Strings that contain HTML-like text, such as `"<b>bold</b>"`, stay as strings and are not interpreted as DOM markup.

## When to use it

| Need                                              | Use                                       |
| ------------------------------------------------- | ----------------------------------------- |
| Fetch a REST API through Microlink                | `attr: 'json'`                            |
| Keep response metadata next to the parsed payload | leave `embed` out                         |
| Return the parsed field as the API response       | add `embed: 'json'`                       |
| Extract content from an HTML page                 | use `text`, `markdown`, or `html` instead |

## Next step

Use [Data extraction: Extract JSON](https://microlink.io/docs/guides/data-extraction/defining-rules#extract-json) for the full rule behavior. Use [Web page to Text](https://microlink.io/docs/guides/content-conversion/url-to-text) when the source is an HTML page, or [PDF file to Markdown](https://microlink.io/docs/guides/content-conversion/pdf-url-to-markdown) when the source URL points directly to a PDF file.

Last updated on June 30, 2026

[Edit on GitHub](https://github.com/microlinkhq/www/blob/master/src/content/docs/guides/content-conversion/json-endpoint-to-json.md)