Ohne KYC — kein Ausweis, kein Selfie, keine Dokumente. Mit Krypto bezahlen: BTC, USDT, USDC, ETH, SOL, LTC
Sprache: Deutsch
API-Schlüssel erhalten

Docs · API-Referenz · Version 1

SERP API-Referenz: GET /search und GET /credits

Jeder Parameter, Standardwert und Fehlercode der SerpCrypto API, Version 1. Basis-URL: https://serpcrypto.com/api/v1. Alle Anfragen nutzen HTTPS; alle Antworten sind JSON in UTF-8.

Zuletzt aktualisiert: · 7 Min. Lesezeit

Kurze Antwort

Welche Parameter akzeptiert der SerpCrypto-Suchendpoint?

GET https://serpcrypto.com/api/v1/search nimmt einen erforderlichen Parameter, q, und neun optionale: engine, gl, hl, location, google_domain, device, page, safe und period. SerpCrypto liefert JSON und berechnet 1 Credit pro erfolgreicher Suche auf allen 6 Engines; Fehler sind kostenlos. Packs gibt es ab 7,50 $ für 10.000 Suchanfragen, mit Krypto bezahlt, ohne KYC.

Wie authentifiziere ich mich?

Senden Sie Ihren API-Schlüssel auf einem von zwei Wegen. Der empfohlene Weg ist der Header Authorization: Bearer YOUR_KEY. Der andere ist der Query-Parameter api_key=YOUR_KEY, praktisch für einen schnellen Test in einem Browser-Tab.

Ein fehlender, falscher oder widerrufener Schlüssel führt zu 401 invalid_api_key und kostet nichts. API-Schlüssel, die Sie jederzeit in Ihrem Dashboard erstellen und widerrufen können, sodass Sie jedem Skript oder Server seinen eigenen Schlüssel geben und einen widerrufen können, ohne die anderen anzutasten.

Eine Suche ausführen

GET/api/v1/search

Führt eine Suche auf der gewählten Engine aus und gibt die Ergebnisseite als JSON zurück. Eine erfolgreiche Suche verbraucht 1 Credit, unabhängig von der Engine; ein Fehler verbraucht keinen. Parameter stehen im Query-String, URL-kodiert. Das Beispiel fragt Google nach Coffee Roasters in Austin, Texas; IDs, Anzahlen und Ergebnisse sind illustrativ.

Authentifizierung: API-Schlüssel im Header Authorization: Bearer API_KEY.

Parameter

NameInTypErforderlichBeschreibung
qquerystringJaDie Suchanfrage, so wie eine Person sie eintippen würde. Suchoperatoren wie Anführungszeichen oder site: sind Teil der Suchanfrage.
enginequerystringNeingoogle (Standard), google_news, google_images, google_maps, google_shopping oder bing.
glquerystringNeinLand der Ergebnisse: ISO 3166-1 alpha-2-Code in Kleinschreibung, etwa us, de oder br. Standard us.
hlquerystringNeinSprache der Oberfläche, etwa en, de oder pt-BR. Standard en.
locationquerystringNeinOrt auf Stadtebene, geschrieben City, Region, Country, etwa Austin, Texas, United States. Siehe Orte.
google_domainquerystringNeinGoogle-Domain für die Suche, zum Beispiel google.de. Standard: die Domain des Landes gl. Wird ignoriert, wenn engine=bing.
devicequerystringNeindesktop (Standard) oder mobile.
pagequeryintegerNeinErgebnisseite von 1 (Standard) bis 10. Jede Seite ist eine separate Suchanfrage und verbraucht 1 Credit.
safequerystringNeinactive filtert explizite Ergebnisse heraus; off (Standard) nicht.
periodquerystringNeinNur Ergebnisse der letzten Stunde (h), des letzten Tages (d), der letzten Woche (w), des letzten Monats (m) oder des letzten Jahres (y).
api_keyquerystringNeinIhr API-Schlüssel, wenn Sie den Header Authorization nicht senden.

Antwort 200

{
  "search_metadata": {
    "id": "srch_7f3a9c2e41b8",
    "status": "success",
    "engine": "google",
    "created_at": "2026-10-22T09:14:05Z",
    "credits_used": 1
  },
  "search_parameters": {
    "engine": "google",
    "q": "coffee roasters",
    "gl": "us",
    "hl": "en",
    "location": "Austin, Texas, United States",
    "google_domain": "google.com",
    "device": "desktop",
    "page": 1
  },
  "search_information": {
    "total_results": 18600000,
    "query_displayed": "coffee roasters"
  },
  "local_results": [
    {
      "position": 1,
      "title": "Example Coffee Roasters",
      "address": "123 Example St, Austin, TX",
      "rating": 4.7,
      "reviews": 312,
      "type": "Coffee roasters"
    }
  ],
  "organic_results": [
    {
      "position": 1,
      "title": "The 12 best coffee roasters in Austin",
      "link": "https://www.example.com/austin/coffee-roasters",
      "displayed_link": "www.example.com › austin › coffee",
      "snippet": "From light Nordic roasts to dark espresso blends, these local roasters…",
      "date": "Sep 30, 2026"
    },
    {
      "position": 2,
      "title": "Example Roasting Co. | Fresh beans, roasted in Austin",
      "link": "https://www.example.org/",
      "displayed_link": "www.example.org",
      "snippet": "Small-batch coffee roasted every weekday and shipped the same day…"
    }
  ],
  "people_also_ask": [
    {
      "question": "What is the oldest coffee roaster in Austin?",
      "snippet": "…",
      "title": "Austin coffee history",
      "link": "https://www.example.net/austin-coffee-history"
    }
  ],
  "related_searches": [
    {
      "query": "coffee roasters near me"
    },
    {
      "query": "coffee roasters austin wholesale"
    }
  ],
  "pagination": {
    "current": 1,
    "next_page": 2
  }
}

Codebeispiele

curl
curl -sG "https://serpcrypto.com/api/v1/search" \
  -H "Authorization: Bearer $SERPCRYPTO_API_KEY" \
  --data-urlencode "q=coffee roasters" \
  --data-urlencode "location=Austin, Texas, United States" \
  -d gl=us -d hl=en -d device=desktop
Python
import os

import requests

r = requests.get(
    "https://serpcrypto.com/api/v1/search",
    params={
        "q": "coffee roasters",
        "location": "Austin, Texas, United States",
        "gl": "us",
        "hl": "en",
    },
    headers={"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]},
    timeout=60,
)
r.raise_for_status()
print(r.json()["organic_results"][0]["link"])
Node.js
const params = new URLSearchParams({
  q: "coffee roasters",
  location: "Austin, Texas, United States",
  gl: "us",
  hl: "en",
});
const res = await fetch("https://serpcrypto.com/api/v1/search?" + params, {
  headers: { Authorization: "Bearer " + process.env.SERPCRYPTO_API_KEY },
});
const data = await res.json();
console.log(data.organic_results?.[0]?.link);

Welche Engine-Werte gibt es, und was liefert jeder zurück?

Der Frame (search_metadata, search_parameters, search_information) ist auf jeder Engine gleich. Ein Block erscheint nur, wenn die Seite ihn zeigt.

engineQuelleHauptblöcke in der Antwort
googleGoogle Searchai_overview, organic_results, ads, people_also_ask, local_results, knowledge_graph, top_stories, inline_videos, shopping_results, related_searches, pagination
google_newsGoogle Newsnews_results: Titel, Link, Quelle, Datum, Snippet, Thumbnail
google_imagesGoogle Imagesimages_results: Original-URL und Größe, Thumbnail, Quellseite
google_mapsGoogle Mapslocal_results: Name, Adresse, Telefon, Webseite, Bewertung, Rezensionen, Kategorie, Öffnungszeiten, Koordinaten
google_shoppingGoogle Shoppingshopping_results: Titel, Preis, extrahierter Preis, Währung, Händler, Lieferung, Bewertung
bingBingorganic_results, related_searches

Ihre Credits abrufen

GET/api/v1/credits

Gibt die Credits zurück, die auf Ihrem Konto übrig sind, die seit Mitternacht UTC verbrauchten Credits und die Anzahl der Suchanfragen, die Ihr Konto gleichzeitig ausführen darf. Dieser Aufruf ist kostenlos. Die folgenden Werte sind Beispiele.

Authentifizierung: API-Schlüssel im Header Authorization: Bearer API_KEY.

Antwort 200

{
  "credits_remaining": 84210,
  "credits_used_today": 1290,
  "concurrency_limit": 10
}

Codebeispiele

curl
curl -s "https://serpcrypto.com/api/v1/credits" \
  -H "Authorization: Bearer $SERPCRYPTO_API_KEY"
Python
import os

import requests

r = requests.get(
    "https://serpcrypto.com/api/v1/credits",
    headers={"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]},
    timeout=30,
)
r.raise_for_status()
print(r.json()["credits_remaining"])
Node.js
const res = await fetch("https://serpcrypto.com/api/v1/credits", {
  headers: { Authorization: "Bearer " + process.env.SERPCRYPTO_API_KEY },
});
const { credits_remaining } = await res.json();
console.log(credits_remaining);

Welche Fehler kann die API zurückgeben?

Jeder Fehler hat den Body {"error": {"code": "…", "message": "…"}}. Die Fehlerseite erklärt jeden einzelnen und zeigt den Retry-Code.

HTTPcodeWann er auftrittWird berechnet
400invalid_parameterEin erforderlicher Parameter fehlt oder ein Wert liegt außerhalb der erlaubten ListeNein
401invalid_api_keyDer Schlüssel fehlt, ist falsch oder wurde widerrufenNein
402insufficient_creditsAuf Ihrem Konto sind keine Credits mehr übrigNein
429concurrency_limitAuf Ihrem Konto laufen zu viele Suchanfragen gleichzeitigNein
502search_failedDie Engine oder die Sammlung ist für diese Anfrage fehlgeschlagen; wiederholen Sie sieNein
504search_timeoutKeine Antwort rechtzeitig; wiederholen Sie die AnfrageNein

Was wird genau berechnet?

  • Eine erfolgreiche Suchanfrage = ein Credit, auf jeder Engine, auch bei Google Maps und Google Shopping.
  • Jede Ergebnisseite ist eine Suchanfrage. Etwa 10 organische Ergebnisse pro Seite, so wie Google sie liefert, seit num=100 im September 2025 nicht mehr berücksichtigt wird; jede weitere Seite kostet einen weiteren Credit.
  • Fehler sind kostenlos: Jede Antwort mit einem HTTP-Status ungleich 200 verbraucht keinen Credit.
  • Das Abrufen Ihrer Credits ist kostenlos.

Vorausbezahlte Such-Credits verfallen nie: ungenutzte Suchen bleiben auf Ihrem Konto, bis Sie sie verwenden. Packs reichen von 7,50 $ für 10.000 Suchanfragen bis 0,30 $/1K Suchanfragen beim größten; siehe Preise.

Wie sollte ich die Suchanfrage kodieren?

Senden Sie q URL-kodiert, wie jeden Query-String-Wert: Ein Leerzeichen wird zu %20 oder +, und Buchstaben mit Akzent werden als UTF-8 kodiert. curl macht das mit --data-urlencode, Python requests und httpx machen es mit params=, und Node.js macht es mit URLSearchParams.

Schreiben Sie die Suchanfrage genau so, wie eine Person sie ins Suchfeld eintippen würde. Anführungszeichen, ein Minuszeichen oder site: bleiben innerhalb von q; die Engine entscheidet, wie sie angewendet werden, so wie bei einem Besucher.

Ist die API versioniert?

Ja. Die Version ist Teil des Pfads: /api/v1/. In Antworten der Version 1 können neue Felder oder Blöcke erscheinen, daher sollte Ihr Code Schlüssel ignorieren, die er nicht kennt. Das Entfernen oder Umbenennen eines Feldes würde mit einer neuen Version im Pfad kommen, nicht als Änderung an v1.

Fragen zur API-Referenz

Kann ich eine POST-Anfrage mit einem JSON-Body senden?

In Version 1 nicht: Beide Endpunkte nehmen GET-Anfragen mit Parametern in der Query-String entgegen. So lässt sich jeder Aufruf leicht mit curl oder einem Browser reproduzieren und ohne Body einfach loggen.

Wie viele Ergebnisse liefert eine Suche?

Etwa 10 organische Ergebnisse pro Seite, so wie Google sie liefert, seit num=100 im September 2025 nicht mehr berücksichtigt wird; jede weitere Seite kostet einen weiteren Credit. Um 30 Ergebnisse zu sammeln, fordern Sie page=1, page=2 und page=3 an: drei Suchanfragen, drei Credits.

Was passiert, wenn meine Credits aufgebraucht sind?

Die nächste Suchanfrage gibt 402 insufficient_credits zurück und verbraucht nichts. Kaufen Sie ein weiteres Paket von Ihrem Guthaben auf der Preisseite; Ihr Schlüssel funktioniert weiter, und die Suchanfragen laufen sofort wieder.

Kann ich denselben Schlüssel von mehreren Servern aus verwenden?

Ja. Ein Schlüssel ist nicht an eine IP-Adresse gebunden. Begrenzt ist die Anzahl der gleichzeitig laufenden Suchanfragen auf dem Konto: concurrency_limit in GET /credits nennt die Zahl.

Ab 0,30 $/1K Suchanfragen · ohne KYC

API-Schlüssel erhalten