## 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 markdown directly](#return-markdown-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)
- [Scope noisy pages](#scope-noisy-pages)
  - [CLI Microlink API example](#cli-microlink-api-example-2)
  - [cURL Microlink API example](#curl-microlink-api-example-2)
  - [JavaScript Microlink API example](#javascript-microlink-api-example-2)
  - [Python Microlink API example](#python-microlink-api-example-2)
  - [Ruby Microlink API example](#ruby-microlink-api-example-2)
  - [PHP Microlink API example](#php-microlink-api-example-2)
  - [Golang Microlink API example](#golang-microlink-api-example-2)
- [Keep metadata when useful](#keep-metadata-when-useful)
- [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/url-to-markdown.md "Copy content for LLM")

\|

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

Use `attr: 'markdown'` to serialize a page as Markdown. This is the direct recipe for LLM ingestion, RAG pipelines, docs imports, and any workflow that should not carry raw HTML.

The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://stripe.com/docs/api' URL with 'data' & 'meta' API parameters:

### CLI Microlink API example

```bash
microlink https://stripe.com/docs/api&data.markdown.attr=markdown
```

### cURL Microlink API example

```bash
curl -G "https://api.microlink.io" \
  -d "url=https://stripe.com/docs/api" \
  -d "data.markdown.attr=markdown" \
  -d "meta=false"
```

### JavaScript Microlink API example

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

const { data } = await mql('https://stripe.com/docs/api', {
  data: {
    markdown: {
      attr: "markdown"
    }
  },
  meta: false
})
```

### Python Microlink API example

```python
import requests

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

querystring = {
    "url": "https://stripe.com/docs/api",
    "data.markdown.attr": "markdown",
    "meta": "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://stripe.com/docs/api",
  data.markdown.attr: "markdown",
  meta: "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://stripe.com/docs/api",
    "data.markdown.attr" => "markdown",
    "meta" => "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://stripe.com/docs/api")
    q.Set("data.markdown.attr", "markdown")
    q.Set("meta", "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://stripe.com/docs/api',{

data:{

markdown:{

attr:"markdown"

}

},

meta:false

})
```

CLI cURL JavaScript Python Ruby PHP Golang Click to run the code and see the API response

Read the converted page from `data.markdown`.

## Return markdown directly

Add `embed: 'markdown'` when the API URL should return Markdown instead of JSON:

The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://stripe.com/docs/api' URL with 'data', 'meta' & 'embed' API parameters:

### CLI Microlink API example

```bash
microlink https://stripe.com/docs/api&data.markdown.attr=markdown&embed=markdown
```

### cURL Microlink API example

```bash
curl -G "https://api.microlink.io" \
  -d "url=https://stripe.com/docs/api" \
  -d "data.markdown.attr=markdown" \
  -d "meta=false" \
  -d "embed=markdown"
```

### JavaScript Microlink API example

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

const { data } = await mql('https://stripe.com/docs/api', {
  data: {
    markdown: {
      attr: "markdown"
    }
  },
  meta: false,
  embed: "markdown"
})
```

### Python Microlink API example

```python
import requests

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

querystring = {
    "url": "https://stripe.com/docs/api",
    "data.markdown.attr": "markdown",
    "meta": "false",
    "embed": "markdown"
}

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://stripe.com/docs/api",
  data.markdown.attr: "markdown",
  meta: "false",
  embed: "markdown"
}

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://stripe.com/docs/api",
    "data.markdown.attr" => "markdown",
    "meta" => "false",
    "embed" => "markdown"
];

$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://stripe.com/docs/api")
    q.Set("data.markdown.attr", "markdown")
    q.Set("meta", "false")
    q.Set("embed", "markdown")
    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://stripe.com/docs/api',{

data:{

markdown:{

attr:"markdown"

}

},

meta:false,

embed:"markdown"

})
```

CLI cURL JavaScript Python Ruby PHP Golang Click to run the code and see the API response

The response body is Markdown and the content type is `text/markdown`.

The same request as a raw URL:

```bash
https://api.microlink.io?url=https://stripe.com/docs/api&data.markdown.attr=markdown&meta=false&embed=markdown
```

## Scope noisy pages

If the full page includes navigation, footers, or cookie banners, scope the rule to the main content wrapper:

The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://microlink.io/docs/api/getting-started/overview' URL with 'data', 'meta' & 'embed' API parameters:

### CLI Microlink API example

```bash
microlink https://microlink.io/docs/api/getting-started/overview&data.markdown.selector=main&data.markdown.attr=markdown&embed=markdown
```

### cURL Microlink API example

```bash
curl -G "https://api.microlink.io" \
  -d "url=https://microlink.io/docs/api/getting-started/overview" \
  -d "data.markdown.selector=main" \
  -d "data.markdown.attr=markdown" \
  -d "meta=false" \
  -d "embed=markdown"
```

### JavaScript Microlink API example

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

const { data } = await mql('https://microlink.io/docs/api/getting-started/overview', {
  data: {
    markdown: {
      selector: "main",
      attr: "markdown"
    }
  },
  meta: false,
  embed: "markdown"
})
```

### Python Microlink API example

```python
import requests

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

querystring = {
    "url": "https://microlink.io/docs/api/getting-started/overview",
    "data.markdown.selector": "main",
    "data.markdown.attr": "markdown",
    "meta": "false",
    "embed": "markdown"
}

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://microlink.io/docs/api/getting-started/overview",
  data.markdown.selector: "main",
  data.markdown.attr: "markdown",
  meta: "false",
  embed: "markdown"
}

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://microlink.io/docs/api/getting-started/overview",
    "data.markdown.selector" => "main",
    "data.markdown.attr" => "markdown",
    "meta" => "false",
    "embed" => "markdown"
];

$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://microlink.io/docs/api/getting-started/overview")
    q.Set("data.markdown.selector", "main")
    q.Set("data.markdown.attr", "markdown")
    q.Set("meta", "false")
    q.Set("embed", "markdown")
    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://microlink.io/docs/api/getting-started/overview',{

data:{

markdown:{

selector:"main",

attr:"markdown"

}

},

meta:false,

embed:"markdown"

})
```

CLI cURL JavaScript Python Ruby PHP Golang Click to run the code and see the API response

Use `main`, `article`, or a page-specific selector when the full page is too noisy.

## Keep metadata when useful

For LLM and indexing workflows, `meta: true` prepends YAML frontmatter with normalized fields such as title, description, author, publisher, date, word count, and reading time. Keep `meta: false` when you only want the Markdown body.

## Next step

Use [Markdown: Choosing scope](https://microlink.io/docs/guides/markdown/choosing-scope) when the output is noisy or incomplete. Use [Web page to Text](https://microlink.io/docs/guides/content-conversion/url-to-text) when the consumer only needs readable text, 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/url-to-markdown.md)