REST API Documentation
Mateusz Oleksy API
One platform, one key. A REST API with unified access to my services — starting with shipment tracking across every carrier, and soon a StockX sneaker database as well. Every response is JSON, authorized with a single X-API-Key header.
Tracking
Unified shipment tracking across every major carrier through a single endpoint.
SNKRSDB
Search and pricing data across 69,000+ sneakers, streetwear, and collectible items.
- Base URL
- https://api.mateuszoleksy.pl
- Format
- application/json
- Authorization
- X-API-Key
Start
Authorization
Every request to /api/* requires an X-API-Key header carrying your key. Without it the API responds with 401 Not authenticated. Keep your key server-side — never ship it in browser code.
X-API-Key: YOUR_API_KEYToday, a single key grants full access to every endpoint included in its plan — there's no self-service management, scoping, or rotation yet. That's next.
Self-service key management
Create, inspect usage, and revoke your own keys from a dashboard — no need to ask us.
Scopes
Restrict a key to only the services it needs, e.g. tracking:read or sneakers:read.
Key rotation
Issue a new key while the old one keeps working for a grace period, so nothing breaks mid-rotation.
/api/keys/me{
"id": 42,
"name": "Production key",
"plan": "Pro",
"scopes": ["tracking:read"],
"createdAt": "2026-05-12T09:00:00Z",
"lastUsedAt": "2026-07-29T07:40:40Z"
}/api/keys/rotateIssues a new key. The old one keeps working until it expires, so in-flight deployments don't break mid-rotation.
{
"newKey": "mo_live_9f2c...",
"oldKeyValidUntil": "2026-08-05T00:00:00Z"
}Tracking
Shipment tracking
A single GET request returns the shipment's full event history (traces) as reported by the carrier — the latest entry reflects the current status. The carrier is detected automatically from the number, no need to specify it.
/api/trackQuery parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
labelNumber | string | required | The shipment / waybill number to track. |
Request
curl -G https://api.mateuszoleksy.pl/api/track \
--data-urlencode "labelNumber=00159123456789012345" \
-H "X-API-Key: YOUR_API_KEY"Example response — live capture
{
"traces": [
{
"code": "DPD_030103",
"status": "Zarejestrowano dane przesyłki, przesyłka jeszcze nie nadana",
"date": "2026-07-20T23:49:39+02:00"
},
{
"code": "DPD_500500",
"status": "Nadanie paczki za granicą",
"date": "2026-07-24T16:16:44+02:00"
},
// ...7 more events omitted
{
"code": "DPD_170310",
"status": "Powiadomienie mail",
"date": "2026-07-29T07:40:40+02:00"
}
],
"courier": {
"id": 1,
"name": "DPD",
"logo": "https://www.epaka.pl/img/kurierIkony/dpd-logo.svg"
}
}Both responses above were captured live from the API. The endpoint passes through the raw JSON returned by the upstream data provider (epaka.pl), so field values — and their language — mirror what the carrier itself reports. Use the live tester below with a real shipment number to see the exact shape for your case.
Response fields
| Parameter | Type | Required | Description |
|---|---|---|---|
traces | array | optional | Tracking events for the shipment. Ordering is set by the carrier and is not guaranteed to be chronological. |
traces[].code | string | optional | Carrier-specific event code, e.g. "UPS_D", "DPD_170310". |
traces[].status | string | optional | Human-readable status text for the event, as reported by the carrier (may be empty). |
traces[].date | string | optional | Event timestamp, ISO 8601 with offset. |
courier | object | optional | Carrier metadata (id, name, logo). Not present for every carrier — e.g. omitted for InPost international. |
detail | string | optional | Present only on error responses — description of what went wrong. |
Tracking
Live tester
Enter a shipment number and check its status in real time. The request goes through this page's server-side proxy, so the API key never reaches the browser.
Tracking
Supported carriers
The carrier is detected automatically from the shipment number. Supported carriers include:
Sneakers
SnkrsDB
Search StockX-sourced product data by name, SKU, or colorway and get back pricing, release dates, and images. The same catalog also powers the public SnkrsDB browser — no key needed there, just use this endpoint if you want the data in your own app.
Browse public catalog/api/snkrsdb/sneakers?query=...Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | required | Search phrase — model name, SKU, or colorway. Minimum 2 characters. |
limit | number | optional | Maximum number of results (default 20, max 100). |
Request
curl -G https://api.mateuszoleksy.pl/api/snkrsdb/sneakers \
--data-urlencode "query=yeezy boost 350 v2 onyx" \
-H "X-API-Key: YOUR_API_KEY"Example response — live capture
[
{
"sku": "HQ4540",
"name": "adidas Yeezy Boost 350 V2 Onyx",
"brand": "adidas",
"colorway": "Onyx/Onyx/Onyx",
"retailPrice": 230,
"releaseDate": "2022-03-05",
"image": "https://images.stockx.com/images/adidas-Yeezy-Boost-350-V2-Onyx-Product.jpg",
"weeklyOrders": null,
"popularityRank": null
},
{
"sku": "FZ6049",
"name": "adidas Yeezy Boost 350 V2 Onyx (Infants)",
"brand": "adidas",
"colorway": "Onyx/Onyx/Onyx",
"retailPrice": 140,
"releaseDate": "2024-08-05",
"image": "https://images.stockx.com/images/adidas-Yeezy-Boost-350-V2-Onyx-Infants.jpg",
"weeklyOrders": null,
"popularityRank": null
}
]Captured live from the API. The response is a plain array ordered by name — most items don't have sales-volume data yet, so weeklyOrders and popularityRank are frequently null.
Response fields
| Parameter | Type | Required | Description |
|---|---|---|---|
sku | string | optional | Style code / SKU, when known. |
name | string | optional | Product title. |
brand | string | optional | Brand name. |
colorway | string | optional | Colorway description. |
retailPrice | number | optional | Original retail price in USD. |
releaseDate | string | optional | Release date, when known. |
image | string | optional | Product image URL. |
weeklyOrders | number | optional | Recent sales-volume signal — null until tracked. |
popularityRank | number | optional | Rank across the catalog, lower is more popular — null until tracked. |
Reference
Response codes
The API uses standard HTTP status codes. Error response bodies include a detail field describing what went wrong.
| 200 | OK — data returned successfully. |
| 401 | Not authenticated — missing or invalid X-API-Key header. |
| 404 | No resource found for the given identifier. |
| 422 | Validation Error — a required parameter is missing. |
| 429 | Too Many Requests — rate limit exceeded for this key. |
| 5xx | Server error or upstream data-provider error. |
Platform
Service status
Current status of the Mateusz Oleksy API platform components.
API Gateway api.mateuszoleksy.pl | Operational |
Tracking /api/track | Operational |
SnkrsDB /api/snkrsdb/sneakers | Operational |
Platform
Changelog
Change history and planned API releases.
- v1.32026-07
- — Breaking: all endpoints moved under /api/* — /v1/track is now /api/track, /snkrsdb/sneakers is now /api/snkrsdb/sneakers.
- — Dropped path versioning in favor of one consistent prefix for every service.
- v1.22026-07
- — StockX sneakers module is live — search by name, SKU, or colorway across 69,000+ items.
- — Added the public Stock catalog browser — search, filter, and sort with no API key required.
- v1.12026-07
- — New live tracking tester added to the docs.
- — Expanded list of supported carriers.
- v1.02026-05
- — Public release of the /v1/track endpoint.
- — Authorization via the X-API-Key header.