Bez KYC — bez dowodu, bez selfie, bez dokumentów. Płatność kryptowalutą: BTC, USDT, USDC, ETH, SOL, LTC
Język: Polski
Pobierz klucz API

Dokumentacja · Dokumentacja API · wersja 1

Dokumentacja API SERP: GET /search i GET /credits

Każdy parametr, wartość domyślna i kod błędu API SerpCrypto, wersja 1. Bazowy URL: https://serpcrypto.com/api/v1. Wszystkie zapytania używają HTTPS; wszystkie odpowiedzi to JSON w UTF-8.

Ostatnia aktualizacja: · 7 min czytania

Szybka odpowiedź

Jakie parametry przyjmuje endpoint wyszukiwania SerpCrypto?

GET https://serpcrypto.com/api/v1/search przyjmuje jeden wymagany parametr, q, i dziewięć opcjonalnych: engine, gl, hl, location, google_domain, device, page, safe i period. SerpCrypto zwraca JSON i pobiera 1 kredyt za każde udane wyszukiwanie na wszystkich 6 wyszukiwarkach; błędy są darmowe. Pakiety startują od 7,50 USD za 10 000 wyszukiwań, płatne kryptowalutą bez KYC.

Jak się uwierzytelnić?

Wyślij swój klucz na jeden z dwóch sposobów. Zalecany sposób to nagłówek Authorization: Bearer YOUR_KEY. Drugi to parametr zapytania api_key=YOUR_KEY, wygodny do szybkiego testu w karcie przeglądarki.

Brakujący, błędny lub unieważniony klucz zwraca 401 invalid_api_key i nic nie kosztuje. Klucze API, które możesz tworzyć i unieważniać w dowolnym momencie z panelu, więc możesz dać każdemu skryptowi lub serwerowi własny klucz i unieważnić jeden, nie ruszając pozostałych.

Uruchom wyszukiwanie

GET/api/v1/search

Uruchamia jedno wyszukiwanie na wybranej wyszukiwarce i zwraca stronę wyników jako JSON. Udane wyszukiwanie zużywa 1 kredyt, niezależnie od wyszukiwarki; błąd nie zużywa nic. Parametry idą w query stringu, zakodowane URL-em. Przykład pyta Google o palarnie kawy w Austin w Teksasie; ID, liczby i wyniki są przykładowe.

Uwierzytelnianie: klucz API w nagłówku Authorization: Bearer API_KEY.

Parametry

NazwaWTypWymaganeOpis
qquerystringTakZapytanie, tak jak wpisałby je człowiek. Operatory wyszukiwania, takie jak cudzysłowy lub site:, są częścią zapytania.
enginequerystringNiegoogle (domyślnie), google_news, google_images, google_maps, google_shopping lub bing.
glquerystringNieKraj wyników: kod ISO 3166-1 alpha-2 małymi literami, np. us, de lub br. Domyślnie us.
hlquerystringNieJęzyk interfejsu, np. en, de lub pt-BR. Domyślnie en.
locationquerystringNieMiejsce na poziomie miasta, zapisane jako City, Region, Country, np. Austin, Texas, United States. Zobacz locations.
google_domainquerystringNieDomena Google do wyszukiwania, np. google.de. Domyślnie: domena kraju gl. Ignorowane, gdy engine=bing.
devicequerystringNiedesktop (domyślnie) lub mobile.
pagequeryintegerNieStrona wyników od 1 (domyślnie) do 10. Każda strona to osobne wyszukiwanie i zużywa 1 kredyt.
safequerystringNieactive filtruje wyniki dla dorosłych; off (domyślnie) nie filtruje.
periodquerystringNieTylko wyniki z ostatniej godziny (h), dnia (d), tygodnia (w), miesiąca (m) lub roku (y).
api_keyquerystringNieTwój klucz, jeśli nie wysyłasz nagłówka Authorization.

Odpowiedź 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
  }
}

Przykłady kodu

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);

Jakie wartości engine istnieją i co każda zwraca?

Struktura (search_metadata, search_parameters, search_information) jest taka sama na każdej wyszukiwarce. Blok pojawia się tylko wtedy, gdy strona go pokazuje.

engineŹródłoGłówne bloki w odpowiedzi
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: title, link, source, date, snippet, thumbnail
google_imagesGoogle Imagesimages_results: oryginalny URL i rozmiar, miniatura, strona źródłowa
google_mapsGoogle Mapslocal_results: nazwa, adres, telefon, strona internetowa, ocena, opinie, kategoria, godziny, współrzędne
google_shoppingGoogle Shoppingshopping_results: title, price, extracted price, currency, merchant, delivery, rating
bingBingorganic_results, related_searches

Odczytaj swoje kredyty

GET/api/v1/credits

Zwraca kredyty pozostałe na Twoim koncie, kredyty zużyte od północy UTC oraz liczbę wyszukiwań, które Twoje konto może uruchomić jednocześnie. To wywołanie jest bezpłatne. Poniższe wartości są przykładowe.

Uwierzytelnianie: klucz API w nagłówku Authorization: Bearer API_KEY.

Odpowiedź 200

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

Przykłady kodu

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);

Jakie błędy może zwrócić API?

Każdy błąd ma treść {"error": {"code": "…", "message": "…"}}. Strona błędów wyjaśnia każdy z nich i pokazuje kod ponowienia.

HTTPcodeKiedy występujePobierana opłata
400invalid_parameterBrakuje wymaganego parametru lub wartość jest poza dozwoloną listąNie
401invalid_api_keyKlucz jest nieobecny, błędny lub unieważnionyNie
402insufficient_creditsNa Twoim koncie nie ma już kredytówNie
429concurrency_limitNa Twoim koncie działa jednocześnie zbyt wiele wyszukiwańNie
502search_failedWyszukiwarka lub pobieranie nie powiodło się dla tego zapytania; spróbuj ponownieNie
504search_timeoutBrak odpowiedzi na czas; spróbuj ponownieNie

Co dokładnie jest pobierane jako opłata?

  • Jedno udane wyszukiwanie = jeden kredyt, na każdej wyszukiwarce, w tym Google Maps i Google Shopping.
  • Każda strona wyników to jedno wyszukiwanie. Około 10 wyników organicznych na stronę, tak jak Google serwuje od czasu, gdy we wrześniu 2025 przestało respektować num=100; każda dodatkowa strona to jeden kredyt więcej.
  • Błędy są bezpłatne: każda odpowiedź ze statusem HTTP innym niż 200 nie zużywa kredytu.
  • Odczyt kredytów jest bezpłatny.

Prepaid kredyty wyszukiwania nigdy nie wygasają: niewykorzystane wyszukiwania pozostają na Twoim koncie, dopóki ich nie wykorzystasz. Pakiety obejmują od 7,50 USD za 10 000 wyszukiwań do 0,30 USD/1K wyszukiwań w największym z nich; zobacz cennik.

Jak powinienem zakodować zapytanie?

Wysyłaj q z kodowaniem URL, jak każdą wartość query string: spacja staje się %20 lub +, a litery z akcentami są kodowane jako UTF-8. curl robi to za pomocą --data-urlencode, Python requests i httpx robią to za pomocą params=, a Node.js robi to za pomocą URLSearchParams.

Zapisz zapytanie dokładnie tak, jak wpisałaby je osoba w polu wyszukiwania. Cudzysłowy, znak minus lub site: pozostają wewnątrz q; wyszukiwarka decyduje, jak je zastosować, tak jak w przypadku odwiedzającego.

Czy API jest wersjonowane?

Tak. Wersja jest częścią ścieżki: /api/v1/. W odpowiedziach wersji 1 mogą pojawiać się nowe pola lub bloki, więc Twój kod powinien ignorować nieznane mu klucze. Usunięcie lub zmiana nazwy pola wiązałoby się z nową wersją w ścieżce, a nie ze zmianą w v1.

Pytania o dokumentację API

Czy mogę wysłać zapytanie POST z ciałem JSON?

Nie w wersji 1: oba endpointy przyjmują zapytania GET z parametrami w query string. Dzięki temu każde wywołanie jest łatwe do odtworzenia za pomocą curl lub przeglądarki i łatwe do zalogowania bez ciała.

Ile wyników zwraca jedno wyszukiwanie?

Około 10 wyników organicznych na stronę, tak jak Google serwuje od czasu, gdy we wrześniu 2025 przestało respektować num=100; każda dodatkowa strona to jeden kredyt więcej. Aby zebrać 30 wyników, wyślij zapytania page=1, page=2 i page=3: trzy wyszukiwania, trzy kredyty.

Co się stanie, gdy skończą mi się kredyty?

Następne wyszukiwanie zwróci 402 insufficient_credits i nie zużyje nic. Kup kolejny pack ze swojego salda na stronie cennika; Twój klucz API nadal działa, a wyszukiwania wznawiają się od razu.

Czy mogę używać tego samego klucza API z kilku serwerów?

Tak. Klucz API nie jest powiązany z adresem IP. Ograniczona jest liczba wyszukiwań uruchomionych jednocześnie na koncie: concurrency_limit w GET /credits podaje tę wartość.

Od 0,30 USD/1K wyszukiwań · bez KYC

Pobierz klucz API