APIs für Dummies: Wissenswertes zum Thema APIs

17 min read
API for dummies

Programmierschnittstellen, kurz APIs (Application Programming Interfaces, zu Deutsch wörtlich: „Anwendungsprogrammierschnittstellen“), definieren die Standards und Protokolle, die unterschiedlichen Softwarekomponenten die Kommunikation untereinander ermöglichen. Sie sorgen dafür, dass Anwendungen Daten und Aktionen von unabhängigen Systemen anfordern können.

APIs sind einfach allgegenwärtig und bilden die Grundlage für praktisch alle Interaktionen mit Ihren Geräten und Ihrer Software. So nutzen die Apps auf Ihrem Smartphone Programmierschnittstellen beispielsweise, um Daten von Servern abzurufen, und stützen sich dann auf separate von iOS und Android bereitgestellte APIs, um die Daten auf dem Display anzuzeigen, sie Ihnen mittels Push-Benachrichtigungen zukommen zu lassen oder sie mit einem Kontakt zu teilen.

Da es so zahlreiche unterschiedliche API-Typen gibt, ist es manchmal etwas schwierig, ihr Zusammenspiel zu verstehen. Welche Arten von APIs gibt es? Wann wird etwas als API bezeichnet? Wie kann ich meine eigene API erstellen? Alle diese Fragen beantworten wir Ihnen in diesem umfassenden Leitfaden.

Was sind APIs?

Der Begriff Programmierschnittstelle für Anwendungen mag schwer verständlich erscheinen, doch er bezeichnet ein bestimmtes Konzept. Im einfachsten Fall ist eine API ein Hilfsmittel, das es Entwicklern ermöglicht, Code zu programmieren, der mit einer Anwendung funktioniert. Es wird eine Schnittstelle festgelegt, welche die Interoperabilität ermöglicht bzw. die Regeln, Verfahren, Anforderungen und Standards, an die sich zwei oder mehr Systeme halten müssen, bereitstellt.

Betrachten wir dieses Konzept anhand eines Beispiels: Stellen Sie sich eine Identitätsplattform vor, die eine API für die Registrierung neuer Benutzer aufweist. Externe Anwendungen können die API nutzen, um bei Bedarf neue Benutzer zu erstellen. Damit dies funktioniert, müssen die Daten jedoch in einem Format vorliegen, welches die Plattform erwartet.

Die API legt folgende Anforderungen fest: Sie könnte festlegen, dass die Client-Anwendung eine HTTP-POST-Anfrage an example.com/users stellen muss, dass die Felder Name, E-Mail-Adresse und Passwortausgefüllt werden müssen und dass als Antwort ein JSON-Body mit der ID des neuen Benutzers ausgegeben wird. Anhand dieser Informationen können Entwickler die API zur erfolgreichen Registrierung neuer Benutzer verwenden.

Im Grunde genommen ist eine API eine Kombination aus dem Plattformcode, den Entwickler aufrufen können, und der Dokumentation, in der erklärt wird, wie man ihn verwendet.

Warum sind APIs wichtig?

APIs ermöglichen den Datenfluss zwischen Systemen, so dass die Software auf anderen Anwendungen aufbauen kann. Dadurch werden noch leistungsfähigere Lösungen geschaffen.

APIs sind auch im Bereich der Automatisierung unverzichtbar. Durch die Kombination der Funktionen verschiedener APIs in einer Anwendung können Sie beim Eintreten von Aktionen und Ereignissen Daten zwischen Systemen austauschen. Mit wenigen Zeilen Code können Entwickler komplexe Prozesse implementieren, die andernfalls eine mühsame manuelle Programmierung erfordern würden.

Web Scraping gehört beispielsweise zu solch komplexen Aufgaben. Um einen leistungsfähigen Web Scraper zu implementieren, müssten Entwickler eine ausgeklügelte Logik zur Steuerung einer Webbrowser-Instanz, zur Bereitstellung von Geolocation-Proxys und zur Umgehung von CAPTCHAs entwickeln. Durch Auswahl einer API können Sie mit wenigen Netzwerkanfragen auf all diese Funktionen zugreifen. Dann können Sie mithilfe anderer APIs die ausgelesenen Daten verarbeiten, sie analysieren und die Ergebnisse an ein Teammitglied in Ihrer Chat-Plattform senden.

Darüber hinaus sind APIs von geschäftlichem Nutzen, denn die einfache Integration mit anderen Tools macht Ihre Plattformen für Kunden attraktiver. Externe Entwickler können ihre eigenen Lösungen kreieren, die mehr bieten als nur die Summe ihrer einzelnen Bestandteile.

APIs sind für die heutzutage hypervernetzten Prozesse von entscheidender Bedeutung. Hinter vielen Technologien, die wir für selbstverständlich halten, steckt ein komplexes Netz von APIs. Beim Online-Shopping beispielsweise sind für die Erfassung von Zahlungen, für Versandanfragen und für den E-Mail-Versand normalerweise mehrere APIs beteiligt, die von verschiedenen unabhängigen Anbietern gehostet werden.

Arten von APIs

Einzelne APIs verfügen über unterschiedliche Funktionen, die auf den jeweiligen Dienst, zu dem sie gehören, abgestimmt sind. So wird beispielsweise eine Identitätsmanagementlösung völlig andere API-Funktionen bereitstellen als ein Anbieter von Suchmaschinen-Scraping.

Dennoch sind die technischen Merkmale scheinbar nicht verwandter APIs einander oftmals sehr ähnlich. Die gängigsten APIs verwenden einige wenige unterschiedliche Standards, welche Techniken darstellen, die sich in der Softwareindustrie zur Integration von Systemen bewährt haben.

Werfen wir nun einen Blick auf die verschiedenen Arten von APIs:

#REST

Representational State Transfer (abgekürzt REST) wurde erstmals im Jahr 2000 von Roy Fielding theoretisch beschrieben und kommt heutzutage bei den meisten Webdiensten zum Einsatz.

REST stellt die Daten eines Systems als zustandslose Ressourcen dar, die auf HTTP-URLs abgebildet werden. Zum Abrufen von Ressourcen und zur Durchführung von Aktionen mit diesen werden HTTP-Methoden (GET, POST, PUT und DELETE) verwendet.

Beispiel: Eine GET-Anfrage an example.com/users/100 sollte die folgenden Informationen über den Benutzer mit der ID 100 zurückgeben:


{
    "Id": 100,
    "Name": "Example User",
    "Email": "[email protected]"
}

Wird anschließend eine DELETE-Anfrage an dieselbe URL gestellt, sollte der Dienst das Objekt zerstören.

REST ist sehr beliebt, da es einfach zu implementieren ist, auf HTTP aufbaut und effektiv modelliert, wie zahlreiche reale Anwendungen mit ihren Daten umgehen. Interaktionen mit vielen Systemen sind oftmals eine Kombination aus einem Verb (DELETE) und einem Substantiv (user), und eben diese Struktur kann mittels REST unmittelbar ausgedrückt werden.

#SOAP

Anders als REST ist das Netzwerkprotokoll SOAP (Simple Object Access Protocol) eine formale Spezifikation für den Datenaustausch. Alle SOAP-Austauschvorgänge verwenden das XML-Datenformat, während REST-APIs JSON, XML, CSV oder eine plattformspezifische Alternative zur Verfügung stellen können. Ein einfacher SOAP-API-Aufruf könnte eine Antwort wie die folgende ergeben:

xml
<?xml version="1.0" ?>
<soap:Envelope
   	 xmlns:soap="https://www.w3.org/2003/05/soap-envelope/"
   	 soap:encodingStyle="https://www.w3.org/2003/05/soap-encoding">
   	 <soap:Body>
   		 <m:GetUserResponse>
   			 <m:Id>100</m:Id>
   			 <m:Name>Example User</m:Name>
   			 <m:Email>[email protected]</m:Email>
   		 </m:GetUserResponse>
   	 </soap:Body>
</soap:Envelope>

Aufgrund der Verwendung von XML und der Einbindung protokollspezifischer Attribute ist SOAP ausführlicher als die typischen REST-APIs. Allerdings wird SOAP aufgrund seiner Standardisierungsvorteile von vielen großen Unternehmen und kommerziellen Systemen bevorzugt. Die in der API verfügbaren Operationen werden durch XML-Schemata explizit definiert. Diese beschreiben die Struktur und die Datentypen der einzelnen Anfragen und Antworten und reduzieren dadurch das Risiko des Auftretens von Unstimmigkeiten zwischen Client und Server.

#GraphQL

GraphQL ist eine relativ junge Technologie zur Erstellung manipulierbarer APIs, die 2012 bei Facebook entwickelt und 2015 der Öffentlichkeit zugänglich gemacht wurde.

GraphQL wurde entwickelt, um einige der mit REST- und SOAP-APIs verbundenen Probleme zu lösen. Es vereinfacht komplexe Abfragen, indem es eine aussagekräftige Sprache bereitstellt, die der Client zum Extrahieren von Daten aus der API verwenden kann. Anstatt immer ganze Objekte bereitzustellen, ermöglicht GraphQL Ihnen den Abruf nur der gewünschten Datenfelder. Dadurch werden unnötige Übertragungen redundanter Daten vermieden.

Hier sehen Sie eine einfache GraphQL-Abfrage, um die E-Mail-Adresse eines Benutzers abzurufen:

{
    user {
   	 Email
    }
}

Diese Abfrage würde folgende Antwort liefern:

json
{
    "user": {
   	 "Email": "[email protected]"
    }
}

GraphQL gewinnt immer mehr an Beliebtheit, denn es handelt sich um eine vielseitigere Option, die besser zu den heutigen hochgradig vernetzten Anwendungen passt, bei denen kleine Teile der Daten unabhängig voneinander von mehreren unterschiedlichen Komponenten abgerufen werden. Die Implementierung von GraphQL kann sich jedoch als relativ komplex erweisen und sollte am besten mit sprachspezifischen Programmiertools durchgeführt werden.

#RPC

Remote Procedure Calls (RPCs) stellen eine einfache Form der API dar. Bei dieser Technik wird eine entfernte Funktion so aufgerufen, als ob sie lokal verfügbar wäre. Eine einfache Netzwerkanfrage veranlasst den API-Server dazu, die Aufgabe auszuführen und das Ergebnis zu liefern. Der Client erhält dabei keine Einblicke in die Einzelheiten der Netzwerkkommunikation.

RPC-APIs sehen ähnlich aus wie funktionsorientierte Programmierschnittstellen. Sowohl das Verb als auch das Substantiv sind in der aufgerufenen URL enthalten (z. B. example.com/deleteUser?User=100). Bei REST hingegen wenden Sie ein Verb auf ein bestimmtes Substantiv an (DELETE example.com/users/100). RPC lässt sich direkter auf Code abbilden, während REST eine Modellierung Ihrer Datenstruktur anstrebt.

RPC lässt sich sowohl vom Client als auch vom Server einfach anwenden. Es handelt sich um eine Reihe von URLs, die diverse Anfrageparameter akzeptieren und Daten als Antwort senden. Allerdings existiert hier keinerlei Standardisierung und diese APIs sind in der Regel für Entwickler schwer zu erschließen. Während sich die Endpunkte der meisten REST-APIs antizipieren lassen, wenn Sie die Namen der Ressourcen des Dienstes kennen, sind die für RPC verwendeten URLs für jede Plattform einzigartig.

Moderne Projekte wie gRPC tragen zur Verbesserung von RPC bei. Dieses Framework, das mit mehreren Programmiersprachen funktioniert, kann zur schnellen Definition von RPC-API-Diensten verwendet werden, die mit Clients unter Verwendung von Protokollpuffern – Googles performantem Ansatz zur Serialisierung strukturierter Daten – kommunizieren.

System APIs

REST-, SOAP-, GraphQL- und RPC-APIs kommen im Rahmen der Netzwerkkommunikation zwischen Systemen zum Einsatz. Daneben gibt es für verschiedene Integrationsformen weitere APIs, wie z. B. die Systemschnittstellen, über die Anwendungen auf die Funktionen Ihres Geräts zugreifen können.

Diese APIs werden von Betriebssystemen wie Windows, Android und iOS bereitgestellt. Sie werden von Programmier-Frameworks und SDKs zur Verfügung gestellt, die Entwickler in ihrem Code aufrufen können. System-APIs erlauben den bequemen Zugriff auf Funktionen wie Benachrichtigungen, Startsymbole, Medienwiedergabe und den Zugriff auf Gerätesensoren, ohne dass die Programmierer dafür Low-Level-Code schreiben müssen.

Programmiersprachen-APIs

Analog dazu haben Programmiersprachen und Abhängigkeiten ihre eigenen APIs. Die Module, die zur Standardbibliothek einer Sprache gehören, stellen eine API dar. Auch bei Paketen von Drittanbietern, die Sie in Ihrem Projekt installieren, handelt es sich um APIs, wobei die von Ihnen geschriebenen Komponenten über definierte Schnittstellen miteinander verbunden sind.

Die API bildet die Trennlinie zwischen der internen Funktionsweise eines Systems, die sich jederzeit ändern kann, und der stabilen externen Schnittstelle, auf die sich Integratoren verlassen. Methoden und Funktionen, die in Ihrer Codebasis als öffentlich eingestuft sind, bilden eine API, die von anderem Code genutzt werden kann.

Synchrone und asynchrone APIs

APIs können entweder synchron oder asynchron sein. Eine synchrone API gibt das Ergebnis des angeforderten Vorgangs sofort zurück, während eine asynchrone API die Ausführung auch nach Abschluss des Datenaustauschs fortsetzen kann.

Bei einer Datenerfassungs-API wäre die Abfrage der derzeit erfassten Daten eine synchrone Aufgabe, die stets die bis dahin abgerufenen Daten zurückgibt. Die Anforderung einer neuen Datenabfrage könnte asynchron erfolgen, da der Prozess wahrscheinlich viel Zeit in Anspruch nehmen wird. Effizienter ist es, wenn die API die Kommunikation sofort beendet, nachdem sie dem Client die geplante Abfrage gemeldet hat.

Ausführliche Betrachtung: Funktionsweise von APIs

Alle gängigen API-Typen besitzen jeweils eine eigene Grammatik. REST arbeitet beispielsweise mit Objekten und Verben, während GraphQL eine weitaus vielseitigere Lösung bietet, die auf den Client und nicht auf den Server ausgerichtet ist. Sehen wir uns diese beiden Optionen nun einmal genauer an:

# REST

In REST werden HTTP-Methodenverben verwendet, um Aktionen mit Ressourcen durchzuführen. Die am weitesten verbreiteten Methoden sind GET, POST, PUT und DELETE:

GET /users/100 liefert die ID des Benutzers 100.

POST /users erstellt einen neuen Benutzer.

PUT /users/100 aktualisiert einen Benutzer anhand seiner ID.

DELETE /users/100 löscht einen Benutzer anhand seiner ID.

Dies verdeutlicht die grundlegende REST-Syntax. Die URL liefert die ID des Objekts, mit dem Sie interagieren, und das Pluralnomen, zu dem es eine Instanz ist. Die vom Client verwendete HTTP-Methode legt fest, welche Aktion ausgeführt wird.

Sind für eine Aktion zusätzliche Daten erforderlich, werden diese als Nutzdaten der HTTP-Anforderung übermittelt. Wird beispielsweise ein Benutzer mit POST /users erstellt, enthält der Textkörper den zuzuweisenden Benutzernamen und das Passwort.

Die API antwortet auf jede Anfrage mit einem HTTP-Statuscode, der das entsprechende Ergebnis der Anfrage beschreibt. Beispiel: Die Antwort „404 Not Found“ für GET /users/100 gibt an, dass die Benutzer-ID 100 nicht existiert, während „202 Accepted“ für DELETE /users/100 bedeutet, dass der Benutzer erfolgreich gelöscht wurde.

#GraphQL

GraphQL hingegen verfolgt einen anderen API-Ansatz. Es wird als [„eine Abfragesprache für Ihre API“] (https://graphql.org) vermarktet, womit auf die erweiterte Funktionalität angespielt wird, die es unterstützt. Während REST oftmals durch die Einbeziehung unerwünschter Objekteigenschaften unnötig Bandbreite verschwendet, können Sie mithilfe von GraphQL gezielt die gewünschten Daten abfragen.

APIs, die GraphQL verwenden, werden als Dienste verfasst, die die von Clients aufrufbaren Endpunkte definieren. Ein Dienst ist ein typisiertes Schema für eine Entität. Jedem Feld im Schema ist ein bestimmter Datentyp zugewiesen:

type Team {
    id: ID
    name: String
}

type User {
    id: ID
    name: String
    email: String
    team: Team
}

Mithilfe von Abfragen können Sie Daten aus Schemata abrufen:

{
    user(id: 100) {
   	 email,
   	 team {
   		 name
   	 }
    }
}

Diese Beispielabfrage könnte folgende Daten zurückgeben:

{
    "email": "[email protected]",
    "team": "Example Team"
}

Die Felder in der Abfrage werden durch Resolver unterstützt. Bei Ausführung der Abfrage sind die Resolver dafür zuständig, für jedes Feld einen Wert zu erzeugen. Im vorherigen Beispiel würde der Resolver team die Eigenschaft name aus dem Team extrahieren, das dem angefragten Benutzer zugeordnet ist, anstatt das gesamte Objekt zurückzugeben.

Zudem stellt GraphQL eine durchgängige Methode zur Datenpflege durch Mutationen bereit. Mutationen funktionieren ähnlich wie Abfragen, verursachen aber eine Zustandsänderung auf dem Server. Mutationen werden implementiert, indem für jedes Feld in Ihren Diensten eine Funktion definiert wird. Diese Funktion ist für das Speichern eines neuen Wertes in dem Feld zuständig.

GraphQL-APIs werden in der Regel durch Hinzufügen einer GraphQL-Client-Bibliothek zu Ihrem Projekt erstellt. Anhand dieser Tools können Sie aus Ihren bestehenden ORM-Modellen und anderem Code ganz einfach GraphQL-Schemata generieren.

API-Integration

Eine API-Integration beschreibt den Prozess der Übernahme einer API in ein Softwaresystem. Auch wenn die API gebrauchsfertige Funktionen bereitstellt, müssen Sie für deren Verwendung in Ihrem Projekt immer noch einen eigenen Code schreiben.

Eine typische API-Integration umfasst folgende Schritte:

1. Evaluieren der verfügbaren Optionen: Zunächst müssen Sie die unterschiedlichen APIs, die Ihren Bedarf abdecken, bewerten und die für Ihr Produkt am besten geeignete API ermitteln. Dabei muss u. a. geprüft werden, wie gut die Qualität der Dokumentation ist, ob es eine aktive Community gibt, die die API nutzt, und wie schnell die Verantwortlichen auf Supportanfragen, Sicherheitsprobleme und Bugfix-Berichte reagieren.

2. Anmeldung für den Dienst und Anforderung eines API-Schlüssels: Einige APIs sind öffentlich zugänglich und erfordern keinerlei Authentifizierung, doch bei den meisten APIs müssen Sie sich nach Überschreiten einiger grundlegender Nutzungsschwellen anmelden und einen API-Schlüssel anfordern. API-Schlüssel sollten als sensible Werte behandelt und sicher gespeichert werden. Schreiben Sie sie nicht fest in den Code Ihres Projekts. Der API-Schlüssel berechtigt Sie für den Dienst und identifiziert Ihre Anwendung zu Zwecken der Ratenbegrenzung und Nutzungsverfolgung.

3. Suche nach einer API-Client-Bibliothek für Ihre Programmiersprache: Sie können APIs integrieren, indem Sie über die HTTP-Bibliothek Ihrer Programmiersprache direkte Netzwerkanfragen stellen. Allerdings stellen viele API-Anbieter auch Client-Bibliotheken und SDKs bereit, die die API umschließen und eine einfachere Programmiersprache bieten. Wenn Sie sich für die Verwendung einer Client-Bibliothek entscheiden, wird Ihre Implementierung noch weiter vereinfacht und Sie werden vor einschneidenden Änderungen an der zugrunde liegenden API geschützt.

4. Schreiben Ihres Codes: Nachdem Sie die passende Bibliothek gefunden haben, können Sie jetzt den Code schreiben, der mit der API interagiert. Sie müssen dafür die von Ihnen verwendete Bibliothek mit dem erhaltenen API-Schlüssel konfigurieren. Gegebenenfalls müssen Sie in Ihrem Code auch alle für den Dienst erforderlichen Konfigurationsparameter (wie z. B. die Region des Rechenzentrums und das bevorzugte Antwortformat) festlegen.

5. Testen Ihrer API-Integration: Zum Schluss muss Ihre Integration noch getestet werden, um sicherzustellen, dass sie ordnungsgemäß funktioniert. Im Rahmen Ihrer Tests sollten auch Fehlerbehandlungsroutinen überprüft werden (z. B. was im Falle einer Nichtverfügbarkeit der API geschieht). Dadurch können Sie sicherstellen, dass Ihre Anwendung auch dann stabil ist, wenn der Dienst offline ist.

Wichtig ist auch, dass Sie bei der API-Integration die Sicherheitsrisiken im Auge behalten. APIs von Drittanbietern können zwar wichtige Entwicklungsaufgaben vereinfachen, doch Sie sollten bei der Übermittlung von Benutzerdaten an einen externen Dienst stets Vorsicht walten lassen. Kann die Plattform die gleichen Sicherheitsstandards erfüllen wie Ihre eigene? Wenn Sie die Funktionalität einer API mühelos nachbilden können, ist es möglicherweise sicherer, Ihre eigene Implementierung in Ihrer Anwendung zu erstellen.

API-Beispiel aus der Praxis

Sie sind bereit, eine API zu verwenden? Zum schnellen Experimentieren mit Web-APIs können Sie HTTP-Tools verwenden, die Sie bereits auf Ihrem Rechner haben, wie z. B. curl und wget. Falls Sie grafische Benutzeroberflächen bevorzugen, bietet sich Postman als Alternative an.

Fake-Daten generieren mit Faker

Das Projekt Faker API umfasst eine weithin genutzte Sammlung von APIs, die zufällig generierte Daten zu einer Vielzahl von Themen liefern. Die Faker API wird gerne in der Produktentwicklung verwendet, um Schnittstellen zu befüllen, bevor das eigentliche Backend verfügbar ist.

Die Faker API beruht auf REST-Prinzipien, wobei das Substantiv am Ende der URL die Art der zu generierenden Daten definiert:

$ curl https://fakerapi.it/api/v1/books?_quantity=1
{
	"status": "OK",
	"code": 200,
	"total": 1,
	"data": [
    	{
        	"id": 1,
        	"title": "Duck and a pair of.",
        	"author": "Jessyca McKenzie",
        	"genre": "Sit",
        	"description": "ALL RETURNED FROM HIM TO YOU,\"' said Alice. 'I wonder how many miles I've fallen by this time, as it can be,' said the Cat. '--so long as I used--and I don't take this child away with me,' thought.",
        	"isbn": "9796054956226",
        	"image": "http://placeimg.com/480/640/any",
        	"published": "2010-09-14",
        	"publisher": "Quod Enim"
    	}
	]
}

Scraping von Suchmaschineneinträgen mit Bright Data

Bright Data bietet eine umfassende Suite mit SERP-APIs und Proxy-APIs an. Dabei handelt es sich um eine kommerzielle Plattform, für die eine Registrierung erforderlich ist:

Screenshot der Landing Page für die Bright Data SERP API

Um mit der Nutzung zu beginnen, melden Sie sich für eine kostenlose Testversion an und folgen dann der Anleitung, um die SERP-API zu Ihrem Konto hinzuzufügen. Danach müssen Sie in den erweiterten Optionen den asynchronen Modus aktivieren:

Proxys-Scraping-Infrastruktur
Proxys-Scraping-Infrastruktur

Im Anschluss an die Aktivierung der API können Sie eine POST-Anfrage stellen, um die Ergebnisse der Suchmaschine abzurufen:

$ curl -i "https://brightdata.com/api/serp/req?customer={CUSTOMER_ID}&zone={CUSTOMER_ZONE}" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer {API_TOKEN}" \
    -d '{"country":"us","query":{"q":"apis"}}'
...
x-response-id: s3wt2t...

Generieren Sie ein API-Token in Ihren Kontoeinstellungen und geben Sie dieses anstelle von `{API_TOKEN}` in den Befehl ein:

Generierung eines API-Tokens in Bright Data

Die jeweiligen Werte der anderen Platzhalter für Ihr Konto, {CUSTOMER_ID} und {CUSTOMER_ZONE}, finden Sie im SERP-API Playground.

Diese Beispielabfrage verwendet die API zur Planung einer US-Google-Suche nach apis. Kopieren Sie den Wert des Antwortheaders x-response-id, der in der Ausgabe des Befehls angezeigt wird. Dieser Wert kann zum Abrufen des SERP-Ergebnisses nach dessen Generierung verwendet werden. Warten Sie eine Minute und rufen Sie dann folgende Anfrage auf:

$ curl "https://brightdata.com/api/serp/get_result?customer={CUSTOMER_ID}&zone={CUSTOMER_ZONE}&output=json&response_id={RESPONSE_ID}"

Ersetzen Sie RESPONSE_ID durch den Wert, den Sie zuvor kopiert haben. Die von Ihrer Suche generierten Daten werden in Ihrer Konsole angezeigt.

Diese Endpunkte sind ein Beispiel für eine RPC-API. Falls es sich um eine RESTful-API handelt, sehen die URLs folgendermaßen aus:

POST /api/serp/request und GET /api/serp/results/{RESPONSE_ID}.

Zusammenfassung

APIs sind klar definierte Schnittstellen, die eingesetzt werden können, um unterschiedliche Softwarekomponenten zuverlässig miteinander zu verbinden. Was genau eine API ausmacht, kann allerdings recht verwirrend sein, da es unzählige Typen, Varianten und Anwendungsmöglichkeiten gibt.

Allgemein gilt: Eine API ist ein Mechanismus, den Code verwenden kann und sollte, um auf von anderem Code implementierte Funktionen zuzugreifen. Die API wird vom Entwickler des Remote-Systems unterstützt und von entsprechenden Nutzungsanweisungen begleitet. Auf diese Weise ergibt sich eine Verbindung zwischen dem Dienst und den Client-Anwendungen, die die API nutzen. Sendet der Client Daten im erwarteten Format, erhält er garantiert eine Antwort mit einer vorhersehbaren Struktur.

APIs erleichtern die Implementierung spezieller Funktionen in Ihren Systemen. Lassen Sie Branchenexperten die harte Arbeit für Sie erledigen und integrieren Sie deren Plattformen einfach in Ihren Code. Testen Sie zur Durchführung Ihrer Web-Scraping-Aufgaben die SERP- und Proxy-APIs von Bright Data.