Amix ← Vissza a kereséshez

Amix API

Egy végpont. Beküldesz egy terméknevet, visszakapod, hol kapható a legolcsóbban — több száz webshopból, közös pénznemre hozva, méretre szűrve.

v1 · a mezőnevek stabilak maradnak

Tartalom
  1. Árak és keretek
  2. Kulcs szerzése
  3. Hitelesítés
  4. Keresés
  5. A válasz
  6. Jelzők — miért nem a legkisebb szám nyer
  7. Hibák
  8. Korlátok
  9. Példák

1. Árak és keretek

Az API ugyanabból a keretből fogyaszt, mint a felület — nincs külön API-csomag és nincs külön számla. Amit a böngészőben megspórolsz, azt az API-n is elhasználhatod, és fordítva.

CsomagHavidíjKérés / napEgy kérés áraAPI
Free0 Ft3nincs
Plus1 990 Ft30≈ 2,2 Ftigen
Pro4 990 Ft120≈ 1,4 Ftigen
Studio14 990 Ft600≈ 0,8 Ftigen

Az API a Plus csomagtól elérhető — nem csak a Studiótól. Egy ideig a csomagleírásunk mást sugallt, mint amit a rendszer csinál; a rendszernek volt igaza, a leírást javítottuk. Ha API-ért vettél Studiót, írj, és rendezzük.

Az „egy kérés ára" a havidíj és a havi keret hányadosa — nem külön díjszabás, csak hogy össze tudd hasonlítani a csomagokat. Nincs túlhasználati díj: a keret elfogyásakor 429 jön, nem számla.

Mi számít egy kérésnek

MűveletFogyasztás
Keresés név vagy link alapján1
Keresés képpel (felismerés)1
Outfit-bontásfelismert darabonként 1

A keret helyi idő szerint éjfélkor nullázódik, és a fel nem használt kérések nem gyűlnek össze. Minden válasz megmondja, hol tartasz — a törzs quota mezőjében:

"quota": { "used": 12, "limit": 120 }

Fizetés

Kriptóval — Bitcoin, Monero, Ethereum vagy Litecoin. Nincs automatikus megújítás és nincs kártyaadat: a megvásárolt időszak végén a csomag magától visszaáll ingyenesre, a kulcsod pedig megmarad, csak 402-t fog adni, amíg nem hosszabbítasz.

2. Kulcs szerzése

Lépj be, nyisd meg a profilodat, és hozz létre egy kulcsot. A kulcsot egyszer mutatjuk meg — utána már mi sem tudjuk visszaolvasni, mert csak a lenyomatát tároljuk. Ha elveszted, vond vissza és csinálj újat.

Az API a Plus csomagtól érhető el.

3. Hitelesítés

A kulcs az Authorization fejlécben megy:

Authorization: Bearer amx_live_xxxxxxxxxxxxxxxxxxxx

Elfogadjuk az X-API-Key fejlécet is. A ?key= paraméter működik, de ne használd élesben: a lekérdezés bekerül a naplókba és a böngészőelőzményekbe.

4. Keresés

GET https://amixbby.hu/api/v1/search?q=Nike+Air+Force+1
ParaméterKötelezőLeírás
qigena termék neve vagy egy webshop linkje
marketnemhu · eu · us — alapértelmezés hu
currencynemHUF · EUR · USD · GBP
gendernemmen · women
shoenemEU cipőméret, például 44 vagy 43.5
clothnemXSXXL
maxnemfelső ár a választott pénznemben

5. A válasz

{
  "query": "Nike Air Force 1",
  "currency": "HUF",
  "partial": false,
  "best": {
    "source": "sportboltom.hu",
    "title": "Nike Air Force 1 '07 Triple White",
    "url": "https://www.sportboltom.hu/termek/...",
    "image": "https://...",
    "price": 26280,
    "original_price": 26280,
    "original_currency": "HUF",
    "shipping": null,
    "in_stock": true,
    "flags": [],
    "match": 0.86
  },
  "offers": [ ... ],
  "stats": { "total": 137, "verified": 126, "flagged": 11 },
  "quota": { "used": 12, "limit": 120 }
}

price a választott pénznemre átváltva, szállítással együtt, ha ismerjük. original_price és original_currency az, amit a bolt mond. partial: true esetén az időkeret miatt nem vártuk meg az összes forrást — ilyenkor ugyanaz a kérés másodszorra teljesebb.

6. Jelzők

Ne az offers[0]-t mutasd a felhasználódnak. Ruhánál a legkisebb szám szinte mindig valami más: tartozék, gyerekméret, havi részlet vagy elfogyott tétel. A best már ezekre szűrt — azt használd.

JelzőMit jelent
accessorytartozéknak tűnik, nem a terméknek
kids-sizegyerekméret
size-mismatchnem a megadott méret
wrong-gendera másik nemre való
other-kindmásik terméktípus (nadrág a pulóver helyett)
weak-matcha név gyengén egyezik
too-cheapa medián harmadánál olcsóbb — valószínűleg más
suspect-pricea medián ötszörösénél drágább — valószínűleg olvasási hiba
out-of-stockelfogyott
unverified-priceaz ár a látható szövegből jött, nem szabványos adatból
no-direct-linka hivatkozás találati listára mutat, nem a termékre

7. Hibák

Minden hiba a helyes HTTP-kóddal érkezik, és a törzse mindig { "error": "...", "message": "..." }. Nincs 200-as válasz hibaüzenettel — arra a hívó kódja nem figyelne fel.

KóderrorMit tegyél
401missing_keytedd be az Authorization fejlécet
401invalid_keya kulcs érvénytelen vagy visszavont
402plan_requiredaz API a Plus csomagtól érhető el
400missing_queryadd meg a q paramétert
422not_identifieda terméket nem sikerült azonosítani
429rate_limitedvárj, a message megmondja mennyit
429quota_exceededelfogyott a napi kereted

8. Korlátok

9. Példák

curl

curl -H "Authorization: Bearer $AMIX_KEY" \
  "https://amixbby.hu/api/v1/search?q=Adidas+Samba+OG&shoe=44&gender=men"

JavaScript

const r = await fetch(
  'https://amixbby.hu/api/v1/search?' + new URLSearchParams({
    q: 'Nike Tech Fleece hoodie',
    cloth: 'L',
    currency: 'HUF',
  }),
  { headers: { Authorization: `Bearer ${process.env.AMIX_KEY}` } },
);
const { best, stats } = await r.json();
console.log(`${best.price} Ft — ${best.source}`);

Python

import os, requests

r = requests.get(
    "https://amixbby.hu/api/v1/search",
    params={"q": "Carhartt WIP Detroit Jacket", "market": "eu"},
    headers={"Authorization": f"Bearer {os.environ['AMIX_KEY']}"},
    timeout=30,
)
r.raise_for_status()
best = r.json()["best"]
print(best["price"], best["source"], best["url"])