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
| endpoint | Co zwraca | Wymagane |
|---|---|---|
| search | Wyszukiwanie po słowie kluczowym: karty ofert z tytułem, ceną w PLN, kosztem dostawy, sprzedawcą i oceną. Filtry ceny, stanu i darmowej dostawy. | query |
| offer | Pojedyncza oferta po id lub URL: tytuł, cena w PLN, zdjęcie główne i galeria, dane sprzedawcy i parametry. | wszystkie opcjonalne |
| category | Przeglądanie kategorii bez słowa kluczowego — siatka /kategoria/<slug>, przydatna gdy chcesz zobaczyć, co w ogóle jest w danej kategorii. | category |
| categories | Znajdź kategorię po nazwie albo wypisz jej podkategorie. Zwraca id, które podajesz do endpointu category. | wszystkie opcjonalne |
| seller_offers | Publiczne aktywne oferty jednego sprzedawcy, stronicowane. | seller |
| suggested | Powią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.
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}'{
"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.