Browser settings
Device emulation
device parameter. It sets the viewport, user agent, and screen resolution in one go:The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://microlink.io' URL with 'screenshot', 'device' & 'meta' API parameters:
CLI Microlink API example
microlink https://microlink.io&screenshot&device='iPhone 15 Pro'cURL Microlink API example
curl -G "https://api.microlink.io" \
-d "url=https://microlink.io" \
-d "screenshot=true" \
-d "device=iPhone%2015%20Pro" \
-d "meta=false"JavaScript Microlink API example
import mql from '@microlink/mql'
const { data } = await mql('https://microlink.io', {
screenshot: true,
device: "iPhone 15 Pro",
meta: false
})Python Microlink API example
import requests
url = "https://api.microlink.io/"
querystring = {
"url": "https://microlink.io",
"screenshot": "true",
"device": "iPhone 15 Pro",
"meta": "false"
}
response = requests.get(url, params=querystring)
print(response.json())Ruby Microlink API example
require 'uri'
require 'net/http'
base_url = "https://api.microlink.io/"
params = {
url: "https://microlink.io",
screenshot: "true",
device: "iPhone 15 Pro",
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.bodyPHP Microlink API example
<?php
$baseUrl = "https://api.microlink.io/";
$params = [
"url" => "https://microlink.io",
"screenshot" => "true",
"device" => "iPhone 15 Pro",
"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://microlink.io")
q.Set("screenshot", "true")
q.Set("device", "iPhone 15 Pro")
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))
}import mql from '@microlink/mql'
const { data } = await mql('https://microlink.io', {
screenshot: true,
device: "iPhone 15 Pro",
meta: false
})'macbook pro 13'.| Category | Examples |
|---|---|
| Mobile | iPhone 15 Pro Max, iPhone 14, Pixel 5, Galaxy S9+ |
| Tablet | iPad, iPad Pro, iPad Mini, Galaxy Tab S4 |
| Desktop | Macbook Pro 13, Macbook Pro 16, iMac 27 5K |
device value:The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://microlink.io' URL with 'screenshot', 'device' & 'meta' API parameters:
CLI Microlink API example
microlink https://microlink.io&screenshot&device=iPadcURL Microlink API example
curl -G "https://api.microlink.io" \
-d "url=https://microlink.io" \
-d "screenshot=true" \
-d "device=iPad" \
-d "meta=false"JavaScript Microlink API example
import mql from '@microlink/mql'
const { data } = await mql('https://microlink.io', {
screenshot: true,
device: "iPad",
meta: false
})Python Microlink API example
import requests
url = "https://api.microlink.io/"
querystring = {
"url": "https://microlink.io",
"screenshot": "true",
"device": "iPad",
"meta": "false"
}
response = requests.get(url, params=querystring)
print(response.json())Ruby Microlink API example
require 'uri'
require 'net/http'
base_url = "https://api.microlink.io/"
params = {
url: "https://microlink.io",
screenshot: "true",
device: "iPad",
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.bodyPHP Microlink API example
<?php
$baseUrl = "https://api.microlink.io/";
$params = [
"url" => "https://microlink.io",
"screenshot" => "true",
"device" => "iPad",
"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://microlink.io")
q.Set("screenshot", "true")
q.Set("device", "iPad")
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))
}import mql from '@microlink/mql'
const { data } = await mql('https://microlink.io', {
screenshot: true,
device: "iPad",
meta: false
})Custom viewport
viewport to set individual properties. Any values you provide are merged with the default device settings:The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://en.wikipedia.org/wiki/Bob_Dylan' URL with 'screenshot', 'viewport' & 'meta' API parameters:
CLI Microlink API example
microlink https://en.wikipedia.org/wiki/Bob_Dylan&screenshot&viewport.width=640&viewport.height=400&viewport.deviceScaleFactor=2&viewport.isMobilecURL Microlink API example
curl -G "https://api.microlink.io" \
-d "url=https://en.wikipedia.org/wiki/Bob_Dylan" \
-d "screenshot=true" \
-d "viewport.width=640" \
-d "viewport.height=400" \
-d "viewport.deviceScaleFactor=2" \
-d "viewport.isMobile=true" \
-d "meta=false"JavaScript Microlink API example
import mql from '@microlink/mql'
const { data } = await mql('https://en.wikipedia.org/wiki/Bob_Dylan', {
screenshot: true,
viewport: {
width: 640,
height: 400,
deviceScaleFactor: 2,
isMobile: true
},
meta: false
})Python Microlink API example
import requests
url = "https://api.microlink.io/"
querystring = {
"url": "https://en.wikipedia.org/wiki/Bob_Dylan",
"screenshot": "true",
"viewport.width": "640",
"viewport.height": "400",
"viewport.deviceScaleFactor": "2",
"viewport.isMobile": "true",
"meta": "false"
}
response = requests.get(url, params=querystring)
print(response.json())Ruby Microlink API example
require 'uri'
require 'net/http'
base_url = "https://api.microlink.io/"
params = {
url: "https://en.wikipedia.org/wiki/Bob_Dylan",
screenshot: "true",
viewport.width: "640",
viewport.height: "400",
viewport.deviceScaleFactor: "2",
viewport.isMobile: "true",
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.bodyPHP Microlink API example
<?php
$baseUrl = "https://api.microlink.io/";
$params = [
"url" => "https://en.wikipedia.org/wiki/Bob_Dylan",
"screenshot" => "true",
"viewport.width" => "640",
"viewport.height" => "400",
"viewport.deviceScaleFactor" => "2",
"viewport.isMobile" => "true",
"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://en.wikipedia.org/wiki/Bob_Dylan")
q.Set("screenshot", "true")
q.Set("viewport.width", "640")
q.Set("viewport.height", "400")
q.Set("viewport.deviceScaleFactor", "2")
q.Set("viewport.isMobile", "true")
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))
}import mql from '@microlink/mql'
const { data } = await mql('https://en.wikipedia.org/wiki/Bob_Dylan', {
screenshot: true,
viewport: {
width: 640,
height: 400,
deviceScaleFactor: 2,
isMobile: true
},
meta: false
})| Property | Type | Description |
|---|---|---|
width | <number> | Page width in pixels |
height | <number> | Page height in pixels |
deviceScaleFactor | <number> | Pixel density (1 = standard, 2 = retina) |
isMobile | <boolean> | Respect the <meta viewport> tag |
hasTouch | <boolean> | Enable touch event support |
isLandscape | <boolean> | Landscape orientation |
device preset, then override only the viewport property you need:The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://en.wikipedia.org/wiki/Bob_Dylan' URL with 'screenshot', 'viewport' & 'meta' API parameters:
CLI Microlink API example
microlink https://en.wikipedia.org/wiki/Bob_Dylan&screenshot&viewport.deviceScaleFactor=0.5cURL Microlink API example
curl -G "https://api.microlink.io" \
-d "url=https://en.wikipedia.org/wiki/Bob_Dylan" \
-d "screenshot=true" \
-d "viewport.deviceScaleFactor=0.5" \
-d "meta=false"JavaScript Microlink API example
import mql from '@microlink/mql'
const { data } = await mql('https://en.wikipedia.org/wiki/Bob_Dylan', {
screenshot: true,
viewport: {
deviceScaleFactor: 0.5
},
meta: false
})Python Microlink API example
import requests
url = "https://api.microlink.io/"
querystring = {
"url": "https://en.wikipedia.org/wiki/Bob_Dylan",
"screenshot": "true",
"viewport.deviceScaleFactor": "0.5",
"meta": "false"
}
response = requests.get(url, params=querystring)
print(response.json())Ruby Microlink API example
require 'uri'
require 'net/http'
base_url = "https://api.microlink.io/"
params = {
url: "https://en.wikipedia.org/wiki/Bob_Dylan",
screenshot: "true",
viewport.deviceScaleFactor: "0.5",
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.bodyPHP Microlink API example
<?php
$baseUrl = "https://api.microlink.io/";
$params = [
"url" => "https://en.wikipedia.org/wiki/Bob_Dylan",
"screenshot" => "true",
"viewport.deviceScaleFactor" => "0.5",
"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://en.wikipedia.org/wiki/Bob_Dylan")
q.Set("screenshot", "true")
q.Set("viewport.deviceScaleFactor", "0.5")
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))
}import mql from '@microlink/mql'
const { data } = await mql('https://en.wikipedia.org/wiki/Bob_Dylan', {
screenshot: true,
viewport: {
deviceScaleFactor: 0.5
},
meta: false
})Color scheme (dark mode)
colorScheme:The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://googlechromelabs.github.io/dark-mode-toggle/demo' URL with 'screenshot', 'colorScheme' & 'meta' API parameters:
CLI Microlink API example
microlink https://googlechromelabs.github.io/dark-mode-toggle/demo&screenshot&colorScheme=darkcURL Microlink API example
curl -G "https://api.microlink.io" \
-d "url=https://googlechromelabs.github.io/dark-mode-toggle/demo" \
-d "screenshot=true" \
-d "colorScheme=dark" \
-d "meta=false"JavaScript Microlink API example
import mql from '@microlink/mql'
const { data } = await mql('https://googlechromelabs.github.io/dark-mode-toggle/demo', {
screenshot: true,
colorScheme: "dark",
meta: false
})Python Microlink API example
import requests
url = "https://api.microlink.io/"
querystring = {
"url": "https://googlechromelabs.github.io/dark-mode-toggle/demo",
"screenshot": "true",
"colorScheme": "dark",
"meta": "false"
}
response = requests.get(url, params=querystring)
print(response.json())Ruby Microlink API example
require 'uri'
require 'net/http'
base_url = "https://api.microlink.io/"
params = {
url: "https://googlechromelabs.github.io/dark-mode-toggle/demo",
screenshot: "true",
colorScheme: "dark",
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.bodyPHP Microlink API example
<?php
$baseUrl = "https://api.microlink.io/";
$params = [
"url" => "https://googlechromelabs.github.io/dark-mode-toggle/demo",
"screenshot" => "true",
"colorScheme" => "dark",
"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://googlechromelabs.github.io/dark-mode-toggle/demo")
q.Set("screenshot", "true")
q.Set("colorScheme", "dark")
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))
}import mql from '@microlink/mql'
const { data } = await mql('https://googlechromelabs.github.io/dark-mode-toggle/demo', {
screenshot: true,
colorScheme: "dark",
meta: false
})prefers-color-scheme CSS media feature in the browser.| Value | Effect |
|---|---|
'no-preference' | Default — uses the site's default scheme |
'light' | Forces light mode |
'dark' | Forces dark mode |
prefers-color-scheme media queries. If the site doesn't support it, the parameter has no effect.CSS media type
mediaType parameter controls which CSS media rules are applied:The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://en.wikipedia.org/wiki/Bob_Dylan' URL with 'screenshot', 'mediaType' & 'meta' API parameters:
CLI Microlink API example
microlink https://en.wikipedia.org/wiki/Bob_Dylan&screenshot&mediaType=printcURL Microlink API example
curl -G "https://api.microlink.io" \
-d "url=https://en.wikipedia.org/wiki/Bob_Dylan" \
-d "screenshot=true" \
-d "mediaType=print" \
-d "meta=false"JavaScript Microlink API example
import mql from '@microlink/mql'
const { data } = await mql('https://en.wikipedia.org/wiki/Bob_Dylan', {
screenshot: true,
mediaType: "print",
meta: false
})Python Microlink API example
import requests
url = "https://api.microlink.io/"
querystring = {
"url": "https://en.wikipedia.org/wiki/Bob_Dylan",
"screenshot": "true",
"mediaType": "print",
"meta": "false"
}
response = requests.get(url, params=querystring)
print(response.json())Ruby Microlink API example
require 'uri'
require 'net/http'
base_url = "https://api.microlink.io/"
params = {
url: "https://en.wikipedia.org/wiki/Bob_Dylan",
screenshot: "true",
mediaType: "print",
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.bodyPHP Microlink API example
<?php
$baseUrl = "https://api.microlink.io/";
$params = [
"url" => "https://en.wikipedia.org/wiki/Bob_Dylan",
"screenshot" => "true",
"mediaType" => "print",
"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://en.wikipedia.org/wiki/Bob_Dylan")
q.Set("screenshot", "true")
q.Set("mediaType", "print")
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))
}import mql from '@microlink/mql'
const { data } = await mql('https://en.wikipedia.org/wiki/Bob_Dylan', {
screenshot: true,
mediaType: "print",
meta: false
})'print' media type activates print stylesheets — useful for capturing a cleaner, ad-free layout.| Value | Effect |
|---|---|
'screen' | Standard web rendering (default for screenshots) |
'print' | Print stylesheet rendering |
Animations
The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://vercel.com' URL with 'screenshot', 'animations' & 'meta' API parameters:
CLI Microlink API example
microlink https://vercel.com&screenshotcURL Microlink API example
curl -G "https://api.microlink.io" \
-d "url=https://vercel.com" \
-d "screenshot=true" \
-d "animations=false" \
-d "meta=false"JavaScript Microlink API example
import mql from '@microlink/mql'
const { data } = await mql('https://vercel.com', {
screenshot: true,
animations: false,
meta: false
})Python Microlink API example
import requests
url = "https://api.microlink.io/"
querystring = {
"url": "https://vercel.com",
"screenshot": "true",
"animations": "false",
"meta": "false"
}
response = requests.get(url, params=querystring)
print(response.json())Ruby Microlink API example
require 'uri'
require 'net/http'
base_url = "https://api.microlink.io/"
params = {
url: "https://vercel.com",
screenshot: "true",
animations: "false",
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.bodyPHP Microlink API example
<?php
$baseUrl = "https://api.microlink.io/";
$params = [
"url" => "https://vercel.com",
"screenshot" => "true",
"animations" => "false",
"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://vercel.com")
q.Set("screenshot", "true")
q.Set("animations", "false")
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))
}import mql from '@microlink/mql'
const { data } = await mql('https://vercel.com', {
screenshot: true,
animations: false,
meta: false
})animations: false (the default), all CSS animations and transitions are frozen. This also sets prefers-reduced-motion: reduce.animations: true if you want to capture a page mid-animation (for example, a hero section with an entrance effect), but be aware that the result may vary between captures.JavaScript execution
The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://microlink.io' URL with 'screenshot', 'javascript' & 'meta' API parameters:
CLI Microlink API example
microlink https://microlink.io&screenshotcURL Microlink API example
curl -G "https://api.microlink.io" \
-d "url=https://microlink.io" \
-d "screenshot=true" \
-d "javascript=false" \
-d "meta=false"JavaScript Microlink API example
import mql from '@microlink/mql'
const { data } = await mql('https://microlink.io', {
screenshot: true,
javascript: false,
meta: false
})Python Microlink API example
import requests
url = "https://api.microlink.io/"
querystring = {
"url": "https://microlink.io",
"screenshot": "true",
"javascript": "false",
"meta": "false"
}
response = requests.get(url, params=querystring)
print(response.json())Ruby Microlink API example
require 'uri'
require 'net/http'
base_url = "https://api.microlink.io/"
params = {
url: "https://microlink.io",
screenshot: "true",
javascript: "false",
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.bodyPHP Microlink API example
<?php
$baseUrl = "https://api.microlink.io/";
$params = [
"url" => "https://microlink.io",
"screenshot" => "true",
"javascript" => "false",
"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://microlink.io")
q.Set("screenshot", "true")
q.Set("javascript", "false")
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))
}import mql from '@microlink/mql'
const { data } = await mql('https://microlink.io', {
screenshot: true,
javascript: false,
meta: false
})