Unsere API

Einfach und Benutzerfreundlich
https://url2img.app/api/v1/ / /get?url=

1. API-Key

Deine persönliche, eindeutige Kennung.
Du kannst sie innerhalb deines Dashboards verwalten.
Je nach Tarif kannst du mehrere davon erstellen, um einzelne Projekte voneinander zu trennen.

2. Token

Ein Sicherheitstoken, um die unbefugte Nutzung deines Kontos zu verhindern.
Du musst diesen Token für jede einzelne Anfrage generieren. Es ist der MD5-Hash aller Aufruf-Parameter und deines API-Secrets.

3. Ziel

Die URL der Website, von der du einen Screenshot erstellen willst, urlencoded.

Codebeispiele

Damit du schnell loslegen kannst!
Du möchtest noch schneller loslegen?
Dann melde dich einfach am System an. Dadurch können wir dir deinen API-Key und dein API-Secret bereits in unsere Code-Beispiele einbauen!

Bitte beachte:
Die Code-Beispiel sollen zur Veranschaulichung dienen. Du musst sie natürlich an dein Projekt anpassen und Fehlerabfragen einfügen.

                            
<php

function getAPIUrl($url, $params): string
{
    $API_KEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    $API_SECRET="xxxxxxxxxxxxxx"

    $p['url'] = $url;
    $p += $params;

    $queryString = http_build_query($p);
    $token = md5($queryString . $API_SECRET);

    return "https://url2img.app/api/v1/$API_KEY/$token/get?$queryString";
}


$url = "https://google.de";
$params['full_page'] = 1;

/*
 *  Version 1 -> file_get_contents
 */
file_put_contents('result.png', file_get_contents(getAPIUrl($url, $params)));


/*
 * Version 2 -> cURL
 */
$ch = curl_init(getAPIUrl($url, $params));
try {
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $response = curl_exec($ch);

    if (curl_errno($ch)) {
        echo 'Error:' . curl_error($ch);
    } else {
        $resTest = json_decode($response);
        if ($resTest) {
            // Es ist ein JSON-Ergebnis
            echo $response;
        } else {
            // Kein JSON, also Bild
            file_put_contents('result.png', $response);
            echo "Datei gespeichert...";
        }
    }
} finally {
    curl_close($ch);
}
                            
                        
                            
#!/bin/bash

url_encode() {
  s="${1//'%'/%25}"
  s="${s//' '/%20}"
  s="${s//'"'/%22}"
  s="${s//'#'/%23}"
  s="${s//'$'/%24}"
  s="${s//'&'/%26}"
  s="${s//'+'/%2B}"
  s="${s//','/%2C}"
  s="${s//'/'/%2F}"
  s="${s//':'/%3A}"
  s="${s//';'/%3B}"
  s="${s//'='/%3D}"
  s="${s//'?'/%3F}"
  s="${s//'@'/%40}"
  s="${s//'['/%5B}"
  s="${s//']'/%5D}"
  printf %s "$s"
}

API_KEY="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
API_SECRET="xxxxxxxxxxxxxx"

URL=$(url_encode "https://google.de")
echo $URL

PARAMS="url=${URL}&fullpage=1"

TOKEN=$(echo -n "${PARAMS}${API_SECRET}" | md5sum | cut -d " " -f 1)

curl -vvs "https://url2img.app/api/v1/${API_KEY}/${TOKEN}/get?${PARAMS}" > result.png
                            
                        

Du möchtest den API-Aufruf direkt in deine statisch erzeugten Seiten einfügen?

Auch das ist kein Problem!

Sobald du dich kostenlos registriert und am System angemeldet hast, steht dir unsere Spielwiese innerhalb unseres Control-Panels zur Verfügung.

Gib dort einfach die gewünschten Parameter ein und unser System erstellt dir den notwendigen Link zum Aufruf unserer API.
Diesen kannst du dann einfach kopieren und nach Lust und Laune dort einfügen, wo du ihn gerne hättest.

Zur Spielwiese

Du benötigst Hilfe beim Anbinden einer anderen Programmiersprache?
Schreib uns einfach eine Mail an info@muv.com. Wir sind Programmierer wie du und finden schon zusammen eine passende Lösung...

Optionale Parameter

Durch unsere flexible API bist du auf alles vorbereitet

ttl

Mit diesem Parameter legst du den TTL- oder „Time to Live“-Wert für einen neu gerenderten Screenshot fest (in Sekunden). Solltest du vor erreichen der TTL den selben Screenshot erneut über die API abfragen, so wird kein neuer Screenshot erstellt, sondern du erhältst den zwischengespeicherten Screenshot aus dem Cache.

Beispiel:
&ttl=3600
Standard:
&ttl=2592000 (30 Tage)
Maximum: &ttl=2592000 (30 Tage)

force

Mit diesem Parameter bestimmst du, dass ein neuer Screenshot gerendert wird - unabhängig von einer vorher eventuell festgelegten TTL.

Beispiel:
&force=1
Standard:
&force=0

full_page

Mit diesem Parameter legst du fest, dass ein Screenshot der gesamten Seite erstellt werden soll. Du erhältst also ein Bild, dass auch den "unsichtbaren", scrollbaren Bereich beinhaltet.

Beispiel:
&full_page=1
Standard:
&full_page=0

width

Mit diesem Parameter legst du fest, wie breit dein Screenshot sein soll. Dies ist die Breite des Bildes und nicht zu verwechseln mit der Breite des Viewports.

Beispiel:
&width=800
Maximum:
&width=2000

viewport

Mit diesem Parameter legst du die Abmaße des Viewports (Browserfensters) fest. Der Parameter beinhaltet Breite "x" Höhe.

Beispiel:
&viewport=800x600
Standard:
&viewport=1440x900
Maximum:
&viewport=2000x2000

delay

Mit diesem Parameter kannst du bestimmen, dass nach dem Laden der Seite eine gewisse Zeit gewartet werden soll (z.B. damit Bilder nachgeladen oder Scripte ausgeführt werden können). Der Parameter beinhaltet die Wartezeit in Millisekunden.

Beispiel:
&delay=200
Maximum:
&delay=5000

user_agent

Mit diesem Parameter kannst du einen benutzerdefinierten User-Agent header angeben, der beim Holen der übergebenen URL verwendet wird.
So kannst du verschiedene Geräte simulieren. Eine Liste gängiger User-Agent-Zeichenfolgen findest du z.B. hier https://deviceatlas.com/blog/list-of-user-agent-strings Standardmäßig ist der Google Chrome-Desktopbrowser eingestellt.

accept_lang

Mit diesem Parameter kannst du einen benutzerdefinierten Sprachen header angeben, der beim Holen der übergebenen URL verwendet wird. So kannst du verschiedene Browser-Sprachen simulieren.

Beispiel:
&accept_lang=en-US,en;q=0.5
Standard:
&accept_lang=de

auth_user

Mit diesem (String-)Parameter kannst du einen Benutzernamen angeben, der beim Zugriff auf eine kennwortgeschützte URL oder Website verwendet werden soll.

Beispiel:
&auth_user=admin
Standard:
Nicht gesetzt

auth_pass

Mit diesem (String-)Parameter kannst du ein Passwort angeben, das beim Zugriff auf eine kennwortgeschützte URL oder Website verwendet werden soll.

Beispiel:
&auth_pass=my_secret
Standard:
Nicht gesetzt

no_images

Mit diesem Parameter kannst du bestimmen, dass die Seite komplett ohne Bilder geladen werden soll.

Beispiel:
&no_images=1
Standard:
&no_images=0

no_javascript

Mit diesem Parameter kannst du bestimmen, dass die Seite ohne Javascript-Unterstützung geladen werden soll.

Beispiel:
&no_javascript=1
Standard:
&no_javascript=0

no_dialogs

Mit diesem Parameter kannst du bestimmen, dass der Browser beim Laden der Seite keine Popup-Fenster öffnen darf.

Beispiel:
&no_dialogs=1
Standard:
&no_dialogs=0

lazy_loading

Mit diesem Parameter kannst du bestimmen, dass der Screenshot erst dann erzeugt werden soll, wenn 500ms lang keine Daten mehr geladen wurden.
Dies kann sinnvoll sein, wenn z.B. Bilder per Javascript nachgeladen werden, nachdem die Seite bereits vollständig geladen wurde.

Beispiel:
&lazy_loading=1
Standard:
&lazy_loading=0

greyscale

Mit diesem Parameter kannst du Screenshots erstellen, die aus Grauwerten bestehen (anstelle von Farben). D.h. du erhältst ein schwarz-weiß Bild.

Beispiel:
&greyscale=1
Default:
&greyscale=0