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

> SerpCrypto SERP API-Referenz: GET /search Parameter, Engines, Standardwerte, Antwortblöcke, Fehlercodes und GET /credits, mit curl, Python und Node.js.

- URL: https://serpcrypto.com/de/docs/search/
- Zuletzt aktualisiert: 2026-10-22
- Herausgeber: SerpCrypto (https://serpcrypto.com)

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.

**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**

| Name | In | Typ | Erforderlich | Beschreibung |
| --- | --- | --- | --- | --- |
| `q` | query | string | Ja | Die Suchanfrage, so wie eine Person sie eintippen würde. Suchoperatoren wie Anführungszeichen oder `site:` sind Teil der Suchanfrage. |
| `engine` | query | string | Nein | `google` (Standard), `google_news`, `google_images`, `google_maps`, `google_shopping` oder `bing`. |
| `gl` | query | string | Nein | Land der Ergebnisse: ISO 3166-1 alpha-2-Code in Kleinschreibung, etwa `us`, `de` oder `br`. Standard `us`. |
| `hl` | query | string | Nein | Sprache der Oberfläche, etwa `en`, `de` oder `pt-BR`. Standard `en`. |
| `location` | query | string | Nein | Ort auf Stadtebene, geschrieben `City, Region, Country`, etwa `Austin, Texas, United States`. Siehe [Orte](https://serpcrypto.com/de/docs/locations/). |
| `google_domain` | query | string | Nein | Google-Domain für die Suche, zum Beispiel `google.de`. Standard: die Domain des Landes `gl`. Wird ignoriert, wenn `engine=bing`. |
| `device` | query | string | Nein | `desktop` (Standard) oder `mobile`. |
| `page` | query | integer | Nein | Ergebnisseite von 1 (Standard) bis 10. Jede Seite ist eine separate Suchanfrage und verbraucht 1 Credit. |
| `safe` | query | string | Nein | `active` filtert explizite Ergebnisse heraus; `off` (Standard) nicht. |
| `period` | query | string | Nein | Nur Ergebnisse der letzten Stunde (`h`), des letzten Tages (`d`), der letzten Woche (`w`), des letzten Monats (`m`) oder des letzten Jahres (`y`). |
| `api_key` | query | string | Nein | Ihr API-Schlüssel, wenn Sie den Header `Authorization` nicht senden. |

**Antwort** `200`

```json
{
  "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
  }
}
```

*curl*

```bash
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*

```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*

```javascript
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.

| `engine` | Quelle | Hauptblöcke in der Antwort |
| --- | --- | --- |
| `google` | Google Search | `ai_overview`, `organic_results`, `ads`, `people_also_ask`, `local_results`, `knowledge_graph`, `top_stories`, `inline_videos`, `shopping_results`, `related_searches`, `pagination` |
| `google_news` | Google News | `news_results`: Titel, Link, Quelle, Datum, Snippet, Thumbnail |
| `google_images` | Google Images | `images_results`: Original-URL und Größe, Thumbnail, Quellseite |
| `google_maps` | Google Maps | `local_results`: Name, Adresse, Telefon, Webseite, Bewertung, Rezensionen, Kategorie, Öffnungszeiten, Koordinaten |
| `google_shopping` | Google Shopping | `shopping_results`: Titel, Preis, extrahierter Preis, Währung, Händler, Lieferung, Bewertung |
| `bing` | Bing | `organic_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`

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

*curl*

```bash
curl -s "https://serpcrypto.com/api/v1/credits" \
  -H "Authorization: Bearer $SERPCRYPTO_API_KEY"
```

*Python*

```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*

```javascript
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](https://serpcrypto.com/de/docs/errors/) erklärt jeden einzelnen und zeigt den Retry-Code.

| HTTP | `code` | Wann er auftritt | Wird berechnet |
| --- | --- | --- | --- |
| 400 | `invalid_parameter` | Ein erforderlicher Parameter fehlt oder ein Wert liegt außerhalb der erlaubten Liste | Nein |
| 401 | `invalid_api_key` | Der Schlüssel fehlt, ist falsch oder wurde widerrufen | Nein |
| 402 | `insufficient_credits` | Auf Ihrem Konto sind keine Credits mehr übrig | Nein |
| 429 | `concurrency_limit` | Auf Ihrem Konto laufen zu viele Suchanfragen gleichzeitig | Nein |
| 502 | `search_failed` | Die Engine oder die Sammlung ist für diese Anfrage fehlgeschlagen; wiederholen Sie sie | Nein |
| 504 | `search_timeout` | Keine Antwort rechtzeitig; wiederholen Sie die Anfrage | Nein |

## 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](https://serpcrypto.com/de/pricing/).

## 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](https://serpcrypto.com/de/pricing/); 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.

---

SerpCrypto: SerpCrypto ist eine SERP-API für Entwickler und KI-Agenten, die Google- und Bing-Ergebnisse als JSON zurückgibt und mit Krypto bezahlt wird, ohne Ausweisupload. Vorausbezahlte Such-Credits ab 0,30 $/1K Suchanfragen verfallen nie. Ohne KYC — kein Ausweis, kein Selfie, keine Dokumente. Mit Krypto bezahlen.
