Skip to content

File conversion API for developers

Point the API at a document and get HTML, markdown or clean text back. PDFs, word files, spreadsheets and slide decks become content your code can read.

The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://arxiv.org/pdf/1706.03762' URL with 'data' & 'meta' API parameters:

CLI Microlink API example

microlink https://arxiv.org/pdf/1706.03762&data.markdown.attr=markdown

cURL Microlink API example

curl -G "https://api.microlink.io" \
  -d "url=https://arxiv.org/pdf/1706.03762" \
  -d "data.markdown.attr=markdown" \
  -d "meta=false"

JavaScript Microlink API example

import mql from '@microlink/mql'

const { data } = await mql('https://arxiv.org/pdf/1706.03762', {
  data: {
    markdown: {
      attr: "markdown"
    }
  },
  meta: false
})

Python Microlink API example

import requests

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

querystring = {
    "url": "https://arxiv.org/pdf/1706.03762",
    "data.markdown.attr": "markdown",
    "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://arxiv.org/pdf/1706.03762",
  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

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

$params = [
    "url" => "https://arxiv.org/pdf/1706.03762",
    "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://arxiv.org/pdf/1706.03762")
    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))
}

Send the file URL Get readable content back

2.0
secs
P95 cold response
99.9
%
SLA Guaranteed

One endpoint
for every file type.

Documents arrive in whatever format their author chose. Instead of maintaining a parser per extension, send the URL and pick the output you want.

Documents and decks
PDFs, Word documents, presentations and rich text all resolve to readable content through the same request, with no per-format library to install.
Spreadsheets and data files
Tabular formats convert too. The supported formats table lists everything the converter accepts today.
Pick your output
The same source can come back as HTML, Markdown or plain text — whichever fits what consumes it.
No local toolchain
No LibreOffice container to run, no Ghostscript to patch, no parser dependencies to keep current. The conversion happens on our infrastructure.
Structure preserved
Headings, lists, tables and links survive the conversion when the output format supports them, so documents stay navigable downstream.

Start free, scale when ready

No signup, no API key, no credit card. The file conversion API is free to start — just call the endpoint.

Free

Try the API in seconds. No card.
$0/month
25 requests per day

Pro

For production workloads.
$49/month
$1.07 per 1,000 requests
46,000 requests / month
Cancel anytime · No setup fees

Enterprise

Dedicated infra for high-volume.
Custom
Tailored to your volume

Built on open source,
trusted by developers

The Microlink conversion pipeline is powered by battle-tested open source libraries used by thousands of developers worldwide. Our file conversion API is built on an open source foundation: explore the code, contribute, or run it yourself.

Any file in. Content your code can read out.

One endpoint replaces a shelf of per-format parsers. See every supported format on the formats page.

  • Documents And Decks

    PDFs, Word documents, presentations and rich text all resolve to readable content through one request, with no per-format library to install.
  • Spreadsheets And Data Files

    Tabular formats convert through the same endpoint, so data files and prose documents share a single integration.
  • Choose Your Output

    The same source returns as HTML, Markdown or plain text, whichever fits the parser, model or docs pipeline that consumes it.
  • No Local Toolchain

    No LibreOffice container to run, no Ghostscript to patch, no parser dependencies to track. Conversion runs on our infrastructure.
  • Structure Preserved

    Headings, lists, tables and links survive conversion when the output format supports them, so documents stay navigable downstream.
  • URL In, Content Out

    Files are fetched and converted server-side, so you never proxy large binaries through your own servers to get readable content.
  • Edge Cached Responses

    Configurable TTL from 1 minute to 31 days. Cache hits are free, return instantly, and never reprocess the document.
  • Enterprise-Grade Reliability

    Production-ready infrastructure with a 99.9% uptime SLA and guaranteed performance for business-critical document workflows.
  • Generous Free Tier

    Start immediately with 25 requests/day. No setup fees, no credit card, and pay-as-you-grow pricing that scales with your usage.
  • Documents And Decks

    PDFs, Word documents, presentations and rich text all resolve to readable content through one request, with no per-format library to install.
  • Spreadsheets And Data Files

    Tabular formats convert through the same endpoint, so data files and prose documents share a single integration.
  • Choose Your Output

    The same source returns as HTML, Markdown or plain text, whichever fits the parser, model or docs pipeline that consumes it.
  • No Local Toolchain

    No LibreOffice container to run, no Ghostscript to patch, no parser dependencies to track. Conversion runs on our infrastructure.
  • Structure Preserved

    Headings, lists, tables and links survive conversion when the output format supports them, so documents stay navigable downstream.
  • URL In, Content Out

    Files are fetched and converted server-side, so you never proxy large binaries through your own servers to get readable content.
  • Edge Cached Responses

    Configurable TTL from 1 minute to 31 days. Cache hits are free, return instantly, and never reprocess the document.
  • Enterprise-Grade Reliability

    Production-ready infrastructure with a 99.9% uptime SLA and guaranteed performance for business-critical document workflows.
  • Generous Free Tier

    Start immediately with 25 requests/day. No setup fees, no credit card, and pay-as-you-grow pricing that scales with your usage.

Start now

Get 25 requests/day with zero commitment. The file conversion API is free to use, with no account and no credit card. Send a document URL and get readable content back in seconds.
No login needed
25 reqs/day free
No credit card

Product Information

Everything you need to know about the Microlink file conversion API.

Which file formats can I convert?

Documents, presentations, spreadsheets and rich text formats are all supported, alongside regular web pages.
The formats page lists every format the converter currently accepts and what it converts to.

What output formats can I ask for?

Choose HTML when you need the full markup, Markdown when structure matters for a model or a docs pipeline, and plain text when you want the smallest possible payload.

Do I need to upload the file?

No. You pass a URL and the file is fetched and converted on our infrastructure. That keeps the integration to a single request and means you never proxy large binaries through your own servers.

Is document structure preserved?

Where the output format can represent it, yes. Headings, lists, tables and links survive the conversion, so a converted document stays navigable rather than collapsing into an undifferentiated block of text.

Do I need to run conversion tooling myself?

No. There is no LibreOffice container to operate, no Ghostscript to patch and no per-format parser to keep up to date. The conversion runs on Microlink infrastructure behind one API call.

Is every conversion billed?

No. Set a ttl and repeat conversions of the same file inside that window are served from the edge cache instantly, at no cost and without reprocessing the document.