API

Allegro API: oferty, ceny i sprzedawcy w JSON

Allegro ma własne REST API, ale jest ono zbudowane wokół konta sprzedawcy i Twoich własnych ofert, a dostęp wymaga rejestracji aplikacji. To API odpowiada na inne pytanie: co jest wystawione na rynku, po ile i przez kogo. Konto sprzedawcy nie jest potrzebne, odpowiedź przychodzi jako JSON.

Endpointy

endpointCo zwracaWymagane
searchWyszukiwanie po słowie kluczowym: karty ofert z tytułem, ceną w PLN, kosztem dostawy, sprzedawcą i oceną. Filtry ceny, stanu i darmowej dostawy.query
offerPojedyncza oferta po id lub URL: tytuł, cena w PLN, zdjęcie główne i galeria, dane sprzedawcy i parametry.wszystkie opcjonalne
categoryPrzeglądanie kategorii bez słowa kluczowego — siatka /kategoria/<slug>, przydatna gdy chcesz zobaczyć, co w ogóle jest w danej kategorii.category
categoriesZnajdź kategorię po nazwie albo wypisz jej podkategorie. Zwraca id, które podajesz do endpointu category.wszystkie opcjonalne
seller_offersPubliczne aktywne oferty jednego sprzedawcy, stronicowane.seller
suggestedPowiązane i polecane oferty dla danego słowa kluczowego — szybki zestaw trafnych wyników.query

Każde wywołanie jest rozliczane w kredytach. Nieudane i zablokowane wywołania są darmowe.

Działający przykład

Cena na karcie wyszukiwania to cena oferty; koszt dostawy jest osobnym polem. Przy porównywaniu cen warto brać oba, bo na Allegro różnica w dostawie potrafi odwrócić ranking.

Żądanie
curl -X POST https://api.reefapi.com/allegro/v1/search \
  -H "x-api-key: TWOJ_KLUCZ" \
  -H "content-type: application/json" \
  -d '{"query": "laptop", "max_pages": 2}'
Odpowiedź (skrócona)
{
  "ok": true,
  "data": {
    "results": [
      {
        "id": "...",
        "title": "...",
        "price": 3299.0,
        "currency": "PLN",
        "delivery_cost": 0,
        "seller": "...",
        "rating": 4.9
      }
    ]
  },
  "meta": { "record_count": 60, "cache_hit": false, "mode": "live" }
}

Zamiast własnego scrapera Allegro

Własny scraper Allegro to zwykle pierwszy pomysł i na początku działa. Potem zaczyna się to, czego nie widać: zmiana układu kart powoduje, że parser zwraca pustkę zamiast błędu, a zabezpieczenia odcinają adres IP w środku zadania.

Tu utrzymaniem zajmujemy się my: przy zmianie schematu poprawiamy silnik, przy blokadzie wraca kod błędu i takie wywołanie jest bezpłatne.

Przy jednorazowym zadaniu własny skrypt nadal wyjdzie taniej. Przy monitoringu, który ma chodzić regularnie, płaci się za awarie, nie za kod.

Ograniczenia i uczciwe uwagi

  • To nie jest oficjalne API Allegro i nie mamy z Allegro partnerstwa.
  • Zwracamy to, co jest publicznie wystawione; dane wymagające zalogowania nie są dostępne.
  • Koszt dostawy i cena to osobne pola. Jeśli sprzedawca nie publikuje kosztu dostawy, pole jest null.
  • Nie ma cache: każde wywołanie jest na żywo.