Skip to content

filename
PRO

Type: <string>
It defines the filename to be associated with a generated asset over the target url.

The following examples show how to use the Microlink API with CLI, cURL, JavaScript, Python, Ruby, PHP & Golang, targeting 'https://padlet.com/padlets/mjl7vtq8a26g/exports/print' URL with 'pdf' & 'filename' API parameters:

CLI Microlink API example

microlink https://padlet.com/padlets/mjl7vtq8a26g/exports/print&pdf&filename=solar-system

cURL Microlink API example

curl -G "https://api.microlink.io" \
  -d "url=https://padlet.com/padlets/mjl7vtq8a26g/exports/print" \
  -d "pdf=true" \
  -d "filename=solar-system"

JavaScript Microlink API example

import mql from '@microlink/mql'

const { data } = await mql('https://padlet.com/padlets/mjl7vtq8a26g/exports/print', {
  pdf: true,
  filename: "solar-system"
})

Python Microlink API example

import requests

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

querystring = {
    "url": "https://padlet.com/padlets/mjl7vtq8a26g/exports/print",
    "pdf": "true",
    "filename": "solar-system"
}

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://padlet.com/padlets/mjl7vtq8a26g/exports/print",
  pdf: "true",
  filename: "solar-system"
}

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://padlet.com/padlets/mjl7vtq8a26g/exports/print",
    "pdf" => "true",
    "filename" => "solar-system"
];

$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://padlet.com/padlets/mjl7vtq8a26g/exports/print")
    q.Set("pdf", "true")
    q.Set("filename", "solar-system")
    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))
}
This query parameter should be combined with screenshot or pdf to generate downloadable files with custom names.
When used together, it sets the name of the generated asset, making it easier to organize and identify them.