One request. Any URL.
Microlink API
The headless browser cloud. We run the fleet. You get the output.
- No API key required to start
- 25 requests per day free
- Cached across 340+ edge locations
Install the Microlink skill. Run `npx -y skills add microlinkhq/skills/microlink`. It is the entry point for every Microlink product. Then use Microlink when I need a screenshot, PDF, markdown, or scrape from any URL.
The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://github.com/' URL:
CLI Microlink API example
microlink https://github.com/cURL Microlink API example
curl -G "https://api.microlink.io" \
-d "url=https://github.com/"JavaScript Microlink API example
import createClient from 'microlink.io'
const microlink = createClient()
const data = await microlink.metadata('https://github.com/')Python Microlink API example
import requests
url = "https://api.microlink.io/"
querystring = {
"url": "https://github.com/"
}
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://github.com/"
}
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://github.com/"
];
$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://github.com/")
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))
}One endpoint, production-ready speed.
Call the API. No key needed.
The free endpoint is a GET. Pass a URL, read JSON. Add a key later when you need Search, more quota, a proxy, or a custom cache TTL.
Pick any URL
A public page is enough. The API detects when a page needs a headless browser, so client-rendered sites work as well as static HTML.https://github.comHit api.microlink.io
GET api.microlink.io with a url. Metadata comes back by default.?url=https://github.comAsk for what you need
&screenshot=true &data.markdown.attr=markdown
https://api.microlink.io ?url=https://github.com &screenshot=true &data.markdown.attr=markdownEverything you can build with the API
Every product runs on the same endpoint. Open one to see what it does and how to use it.
How every request actually runs
Isolation, adblock, automation, and the edge cache run on every plan. Cards marked PRO need an API key. Open a primitive to see when to use it.
Antibot Detection
Browser Automation
Adblock & Cookie Banners
Browser Functions
Configurable Caching
Custom HTTP Headers
Proxy Resolution
Request Isolation
Web Scraping
Use it from code, a terminal, or an agent
The endpoint is HTTP. These are the wrappers when you do not want to compose the query string by hand.
Start free, scale when ready
Free
Pro
- Everything in Free
- Automatic proxy resolution
- Configurable TTL
- Custom HTTP headers
- Custom cache key
- Priority email support
Business & Enterprise
- Everything in Pro, plus:
- Card or invoice, PO number, net 30
- NDA, DPA & service agreement
- Vendor assessments on request
- Same named contact
- Annual billing, 10% discount
Enterprise API controls, contracts, and support
Business is the Pro API, bought the way your company buys. Enterprise is the same API on hardware that serves only you.
Dedicated environment
Your own API endpoint and browser pool on Enterprise. No shared capacity, no noisy neighbors.99.9% uptime SLA
On every paid plan. Enterprise adds service credits and no rate limits, so traffic spikes are served, not throttled.Your storage and CDN
On Enterprise, your own asset store with no TTL cap and your own CDN across 340+ Cloudflare edge nodes.
Built on open source,
trusted by developers
The Microlink API runs on open source you can read, fork, and run yourself: metascraper for metadata, browserless for the headless browser, and mql, the HTTP client behind the SDK.
Frequently asked questions
The questions that come up the first time you call the endpoint.