device
Type: <string>
Default: 'macbook pro 13'
Default: 'macbook pro 13'
It loads a set of options (such as viewport, user agent, etc) to emulate the specified device over the target url.
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' 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"JavaScript Microlink API example
import mql from '@microlink/mql'
const { data } = await mql('https://microlink.io', {
screenshot: true,
device: "iPad"
})Python Microlink API example
import requests
url = "https://api.microlink.io/"
querystring = {
"url": "https://microlink.io",
"screenshot": "true",
"device": "iPad"
}
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"
}
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"
];
$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")
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"
})When the divide is defined, it will affect the whole request lifecycle. It doesn't matter if you use uppercase or lowercase.
The following devices names are supported:
Mobile
- 'iPhone 15 Pro Max'
- 'iPhone 15 Pro'
- 'iPhone 14 Pro Max'
- 'iPhone 13 Pro Max'
- 'iPhone 15'
- 'Galaxy S9+'
- 'iPhone 14'
- 'Pixel 5'
- 'iPhone 13'
- 'Galaxy S8'
- 'Pixel 4a (5G)'
- 'iPhone 12'
- 'Galaxy S5'
- 'Pixel 4'
- 'Nexus 6P'
Tablet
- 'iPad'
- 'iPad Pro'
- 'iPad Pro 11'
- 'iPad (gen 7)'
- 'iPad (gen 6)'
- 'iPad Mini'
- 'Galaxy Tab S4'
- 'Nexus 7'
- 'Kindle Fire HDX'
- 'Nexus 10'
- 'iPad landscape'
- 'iPad Pro landscape'
- 'Galaxy Tab S4 landscape'
- 'iPad Mini landscape'
- 'Nexus 7 landscape'
Desktop
- 'Macbook Pro 13'
- 'Macbook Pro 16'
- 'iMac 24 4.5K'
- 'Macbook Pro 15'
- 'iMac 27'
- 'iMac 27 5K'
- 'iMac 21'
- 'iMac 21 4K'