├── AWLAB
├── AWLAB-Instore.md
└── get-coordinates.png
├── Courir
└── Courir-Stock.md
├── EndClothing
└── All-Raffles.md
├── Euronics
├── Euronics-Instore.md
└── get-coordinates.png
├── Fendi
├── Fendi-Instore.md
└── get-coordinates.png
├── Footshop
└── Stock-API.md
├── GameUK
└── GAMEUK-Instore.md
├── Kickz
└── Instore-PID-checker.md
├── Nike
└── Deeplinks.md
├── Prodirect
├── ReleaseScraper.md
└── prodirect_scraper.py
├── README.md
├── Rimowa
├── Rimowa-Instore.md
└── example.png
├── Snipes
└── Loaded-products.md
├── Solebox
└── Loaded-products.md
└── banner.png
/AWLAB/AWLAB-Instore.md:
--------------------------------------------------------------------------------
1 | ## AwLab In-Store Availability Check
2 |
3 | To check in-store availability for Fendi products, use the following endpoint format:
4 | ```
5 | https://www.aw-lab.com/on/demandware.store/Sites-awlab-it-Site/it_IT/Stores-FindClickReserve?lat={latitude}&pid={pid}&distancesMap=true&lng={longitude}&color={color}&sizeKey=h05&sizeValue=&format=ajax&mapRadius=100000
6 | ```
7 |
8 | - `{pid}` is the Product ID.
9 | - `{color}` is the Product Color
10 | - `{latitude}` and `{longitude}` need to be replaced with the coordinates of the store location.
11 |
12 | ### Obtaining Latitude and Longitude
13 | To find the latitude and longitude of a store, follow these steps on Google Maps:
14 |
15 | 1. On your computer, open Google Maps.
16 | 2. Right-click the place or area on the map. This opens a pop-up window.
17 | 3. Find your latitude and longitude in decimal format at the top of the menu.
18 |
19 | 
20 |
21 | ### Finding the Product ID (PID) & Color
22 |
23 | You can get the data from the URL of the product page:
24 | ```
25 | https://en.aw-lab.com/women/shoes-AW_100HEOHEOB.html?dwvar_AW__100HEOHEOB_color=5038259
26 | ```
27 | The PID here is `AW_100HEOHEOB`.
28 | The Color here is `5038259`.
29 |
30 | ### Example Link
31 | ```
32 | https://www.aw-lab.com/on/demandware.store/Sites-awlab-it-Site/it_IT/Stores-FindClickReserve?lat=41.9028&pid=AW_221CECCEGA&distancesMap=true&lng=12.4964&color=8041540&sizeKey=h05&sizeValue=&format=ajax&mapRadius=100000
33 | ```
34 |
--------------------------------------------------------------------------------
/AWLAB/get-coordinates.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/44ps/endpoints/76b17d6913f48d2c1dd2d3f55cc5df9208a74ae5/AWLAB/get-coordinates.png
--------------------------------------------------------------------------------
/Courir/Courir-Stock.md:
--------------------------------------------------------------------------------
1 | ## HOW TO SCRAPE COURIR EXACT STOCK FOR A GIVEN PID
2 |
3 | To get the stock for a given size / product :
4 | ```
5 | https://www.courir.com/on/demandware.store/Sites-Courir-FR-Site/fr_FR/Product-GetAvailability?pid= PID &Quantity=100000
6 | ```
7 |
8 | ### HOW TO GET THE PID OR SIZEPID
9 | PID : Can be found at the end of the URL of any product.
10 | SIZEPID : 3 methods
11 | Method 1 - Bruteforce - you can get all sizepids with the format PID010X
12 | Start with X = 1 then increment until you get a 503 error, meaning you went over the last sizepid
13 | Method 2 - HTML - You can find all sizepids in the HTML code of the product page
14 | Method 3 - Other endpoints
15 |
--------------------------------------------------------------------------------
/EndClothing/All-Raffles.md:
--------------------------------------------------------------------------------
1 | # AllRaffles.md
2 |
3 | To view all the raffles currently hosted by END. Clothing, use the following API endpoint:
4 |
5 | ```
6 | https://launches-api.endclothing.com/api/products/offset/0
7 | ```
8 |
9 | This endpoint provides a comprehensive list of all the raffles open for participation on the END. Clothing platform.
10 |
11 | ### How to Use
12 |
13 | Access this API endpoint directly through your web browser to retrieve a JSON response that includes all the current raffles. This response contains detailed information such as product names, available sizes, and the closing dates for entries.
14 |
15 | ### JSON Response Structure
16 |
17 | The API response is structured in JSON format, offering a clear and detailed overview of each raffle. Below is an example of what the JSON response might look like:
18 |
19 | ```json
20 | {
21 | "count": 6012,
22 | "products": [
23 | {
24 | "id": 7208,
25 | "magentoSku": "FN0432-100",
26 | "colour": "Sail, Varsity Red & Muslin",
27 | "brand": "Air Jordan",
28 | "name": "Air Jordan x Trophy Room 1 Low Retro OG SP",
29 | "thumbnailUrl": "https://launches-media.endclothing.com/FN0432-100_launches_thumbnail.jpg",
30 | "releaseDate": "2024-03-21T08:00:00+00:00",
31 | "productWebsites": [
32 | {
33 | "id": 167176,
34 | "website": {
35 | "id": 1,
36 | "currencySymbol": "£",
37 | "currencyCode": "GBP"
38 | },
39 | "price": 145
40 | },
41 | {
42 | "id": 167177,
43 | "website": {
44 | "id": 2,
45 | "currencySymbol": " $",
46 | "currencyCode": "USD"
47 | },
48 | "price": 165
49 | },
50 | {
51 | "id": 167178,
52 | "website": {
53 | "id": 3,
54 | "currencySymbol": "€",
55 | "currencyCode": "EUR"
56 | },
57 | "price": 169
58 | },
59 | {
60 | "id": 167179,
61 | "website": {
62 | "id": 4,
63 | "currencySymbol": "AU$",
64 | "currencyCode": "AUD"
65 | },
66 | "price": 265
67 | },
68 | {
69 | "id": 167180,
70 | "website": {
71 | "id": 5,
72 | "currencySymbol": "¥",
73 | "currencyCode": "JPY"
74 | },
75 | "price": 23200
76 | },
77 | {
78 | "id": 167181,
79 | "website": {
80 | "id": 6,
81 | "currencySymbol": "HK$",
82 | "currencyCode": "HKD"
83 | },
84 | "price": 1305
85 | },
86 | {
87 | "id": 167182,
88 | "website": {
89 | "id": 7,
90 | "currencySymbol": "CA$",
91 | "currencyCode": "CAD"
92 | },
93 | "price": 219
94 | },
95 | {
96 | "id": 167183,
97 | "website": {
98 | "id": 8,
99 | "currencySymbol": " $",
100 | "currencyCode": "USD"
101 | },
102 | "price": 169
103 | },
104 | {
105 | "id": 167184,
106 | "website": {
107 | "id": 9,
108 | "currencySymbol": "DKK",
109 | "currencyCode": "DKK"
110 | },
111 | "price": 1305
112 | },
113 | {
114 | "id": 167185,
115 | "website": {
116 | "id": 10,
117 | "currencySymbol": "S$",
118 | "currencyCode": "SGD"
119 | },
120 | "price": 219
121 | },
122 | {
123 | "id": 167186,
124 | "website": {
125 | "id": 11,
126 | "currencySymbol": "CN¥",
127 | "currencyCode": "CNY"
128 | },
129 | "price": 1155
130 | },
131 | {
132 | "id": 167187,
133 | "website": {
134 | "id": 12,
135 | "currencySymbol": "₩",
136 | "currencyCode": "KRW"
137 | },
138 | "price": 219675
139 | },
140 | {
141 | "id": 167188,
142 | "website": {
143 | "id": 13,
144 | "currencySymbol": "€",
145 | "currencyCode": "EUR"
146 | },
147 | "price": 169
148 | },
149 | {
150 | "id": 167189,
151 | "website": {
152 | "id": 15,
153 | "currencySymbol": "€",
154 | "currencyCode": "EUR"
155 | },
156 | "price": 169
157 | },
158 | {
159 | "id": 167190,
160 | "website": {
161 | "id": 17,
162 | "currencySymbol": "RUB",
163 | "currencyCode": "RUB"
164 | },
165 | "price": 13775
166 | },
167 | {
168 | "id": 167191,
169 | "website": {
170 | "id": 18,
171 | "currencySymbol": "NT$",
172 | "currencyCode": "TWD"
173 | },
174 | "price": 5115
175 | },
176 | {
177 | "id": 167192,
178 | "website": {
179 | "id": 19,
180 | "currencySymbol": "SEK",
181 | "currencyCode": "SEK"
182 | },
183 | "price": 1989
184 | },
185 | {
186 | "id": 167193,
187 | "website": {
188 | "id": 20,
189 | "currencySymbol": "NZ$",
190 | "currencyCode": "NZD"
191 | },
192 | "price": 189
193 | },
194 | {
195 | "id": 167194,
196 | "website": {
197 | "id": 21,
198 | "currencySymbol": "€",
199 | "currencyCode": "EUR"
200 | },
201 | "price": 169
202 | },
203 | {
204 | "id": 167195,
205 | "website": {
206 | "id": 22,
207 | "currencySymbol": "€",
208 | "currencyCode": "EUR"
209 | },
210 | "price": 169
211 | },
212 | {
213 | "id": 167196,
214 | "website": {
215 | "id": 23,
216 | "currencySymbol": "€",
217 | "currencyCode": "EUR"
218 | },
219 | "price": 169
220 | },
221 | {
222 | "id": 167197,
223 | "website": {
224 | "id": 24,
225 | "currencySymbol": "€",
226 | "currencyCode": "EUR"
227 | },
228 | "price": 169
229 | },
230 | {
231 | "id": 167198,
232 | "website": {
233 | "id": 25,
234 | "currencySymbol": "€",
235 | "currencyCode": "EUR"
236 | },
237 | "price": 169
238 | }
239 | ],
240 | "releaseMode": "draw",
241 | "url": "https://www.endclothing.com/gb/air-jordan-x-trophy-room-1-low-retro-og-sp-fn0432-100.html",
242 | "urlKey": "air-jordan-x-trophy-room-1-low-retro-og-sp-fn0432-100",
243 | "pullQuote": "Celebrate MJ's legacy with these Air Jordan 1 Retro LW OG sneakers designed by Orlando-based sneaker boutique Trophy Room.",
244 | "hasStock": true,
245 | "soldOut": false,
246 | "productPullQuote": "Celebrate MJ's legacy with these Air Jordan 1 Retro LW OG sneakers designed by Orlando-based sneaker boutique Trophy Room.",
247 | "productImagesLength": 6,
248 | "customThumbnailUrl": "https://launches-media.endclothing.com/FN0432-100_launches_thumbnailv2.jpg",
249 | "restrictedCountries": [
250 | {
251 | "id": 64
252 | }
253 | ],
254 | "department": "Sneakers",
255 | "isOnlineDraw": 1,
256 | "isInStoreDraw": 0,
257 | "flagInStoreReleased": 0,
258 | "markdownDescription": "Celebrate MJ's legacy with these Air Jordan 1 Retro LW OG sneakers designed by Orlando-based sneaker boutique Trophy Room. Part of the exclusive Trophy Room collection, this \"Away\" iteration honours the Chicago Bulls' iconic uniforms. They’re decked out with white leather, black Swooshes, and luxurious red satin overlays, complete with gold accents and tonal branding worked into the threads that effortlessly elevate it's coveted status.",
259 | "exclusions": "",
260 | "bulletPoints": "Leather Upper\r\nSatin Overlays\r\nRubber Outsole\r\nStyle Code: FN0432-100",
261 | "descriptions": []
262 | },
263 | ... more items
264 | ```
265 |
266 | Each item in the `items` array represents a raffle, including its unique `id`, `name`, available `sizes`, the `closeDate` for the raffle, and an `imageUrl` for the product.
267 |
268 | ### Additional Notes
269 |
270 | The API contains detailed information about each raffle, Remember, the API's data is dynamic and updates frequently as new raffles open and existing ones close, so check back often for the most current information.
271 |
--------------------------------------------------------------------------------
/Euronics/Euronics-Instore.md:
--------------------------------------------------------------------------------
1 | # Euronics In-Store Availability Check
2 |
3 | To check in-store availability for Euronics products, use the following endpoint format:
4 | ```
5 | https://www.euronics.it/on/demandware.store/Sites-euronics-Site/it_IT/Stores-Inventory?showMap=true&horizontalView=true&isForm=true&pview=tile&availability=yes&lat={latitude}&long={longitude}&pid={pid}&qty=1&isMobile=false&isFromBtn=btn&noSelection=true&radius={radius}&isSocio=false
6 | ```
7 |
8 | - `{pid}` is the Product ID.
9 | - `{latitude}` and `{longitude}` need to be replaced with the coordinates of the store location.
10 | - `{radius}`can be choosen, is the radius of the area in which the stores are to be located
11 |
12 | ### Obtaining Latitude and Longitude
13 |
14 | To find the latitude and longitude of a store, follow these steps on Google Maps:
15 |
16 | 1. On your computer, open Google Maps.
17 | 2. Right-click the place or area on the map. This opens a pop-up window.
18 | 3. Find your latitude and longitude in decimal format at the top of the menu.
19 |
20 | 
21 |
22 | ### Finding the Product ID (PID)
23 | The Product ID can be obtained this way:
24 |
25 | From the URL of the product page, e.g., for the : SONY COMPUTER - PLAYSTATION PORTAL
26 | ```
27 | https://www.euronics.it/gaming/playstation-5/accessori-ps5/sony-computer---playstation-portal-eur/232011171.html
28 | ```
29 | The PID here is `232011171`.
30 |
--------------------------------------------------------------------------------
/Euronics/get-coordinates.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/44ps/endpoints/76b17d6913f48d2c1dd2d3f55cc5df9208a74ae5/Euronics/get-coordinates.png
--------------------------------------------------------------------------------
/Fendi/Fendi-Instore.md:
--------------------------------------------------------------------------------
1 | ## Fendi In-Store Availability Check
2 |
3 | To check in-store availability for Fendi products, use the following endpoint format:
4 | ```
5 | https://www.fendi.com/on/demandware.store/Sites-EU1-Site/it_IT/Product-VariationStores?pid={pid}&size=TU&quantity=1&latitude={latitude}&longitude={longitude}
6 | ```
7 |
8 | - `{pid}` is the Product ID.
9 | - `{latitude}` and `{longitude}` need to be replaced with the coordinates of the store location.
10 |
11 | ### Obtaining Latitude and Longitude
12 | To find the latitude and longitude of a store, follow these steps on Google Maps:
13 |
14 | 1. On your computer, open Google Maps.
15 | 2. Right-click the place or area on the map. This opens a pop-up window.
16 | 3. Find your latitude and longitude in decimal format at the top of the menu.
17 |
18 | 
19 |
20 | ### Finding the Product ID (PID)
21 | The Product ID can be obtained in two ways:
22 |
23 | 1. From the URL of the product page, e.g., for the Fendi Match White Suede Low Tops:
24 | ```
25 | https://www.fendi.com/gb-en/man/shoes/sneakers/fendi-match-white-suede-low-tops-7e1493ahh2f1fhs
26 | ```
27 | The PID here is `7e1493ahh2f1fhs`.
28 |
29 | 2. On the product page, look under Product Details for the Product Code, e.g., Product Code: 7E1493AHH2F1FHS.
30 |
31 | ### Example Request
32 | To check the in-store availability of the product `7e1493ahh2f1fhs` at a specific location, replace `{pid}`, `{latitude}`, and `{longitude}` with the appropriate values.
33 |
--------------------------------------------------------------------------------
/Fendi/get-coordinates.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/44ps/endpoints/76b17d6913f48d2c1dd2d3f55cc5df9208a74ae5/Fendi/get-coordinates.png
--------------------------------------------------------------------------------
/Footshop/Stock-API.md:
--------------------------------------------------------------------------------
1 | # How to Find Product Stock Information on Footshop
2 |
3 | If you're looking to find out the stock availability of a specific size for a product on Footshop, you can use the Footshop API by accessing a specific endpoint. This guide will help you understand how to extract this information effectively.
4 |
5 | ## Step 1: Extract the Raffle ID
6 |
7 | First, you need the ID of the product or raffle you're interested in. This can be found in the product's URL on the Footshop releases page. The ID is the string of characters at the end of the URL. For example:
8 |
9 | For the URL `https://releases.footshop.com/asics-x-wood-wood-gt-2160-KaDMHo4Bxgl0zanv-MAW`, the Raffle ID is `KaDMHo4Bxgl0zanv-MAW`.
10 |
11 | ## Step 2: Use the API Endpoint
12 |
13 | With the Raffle ID in hand, append it to the following API endpoint:
14 |
15 | ```
16 | https://releases.footshop.com/api/raffles/ID_OF_THE_RAFFLE
17 | ```
18 |
19 | Replace `ID_OF_THE_RAFFLE` with your actual raffle ID. This will access the API for that specific product.
20 |
21 | ## Example Response and Interpretation
22 |
23 | When you access the API with the raffle ID, you will receive a JSON response with various details about the product. Here's an example focusing on stock information:
24 |
25 | ```json
26 | {
27 | "sizeSets": {
28 | "Men": {
29 | "sizes": [
30 | {
31 | "us": "10",
32 | "eur": "44",
33 | "uk": "9",
34 | "cm": "28",
35 | "pieces": 15,
36 | "ean": "4550457542289",
37 | "id": "fcd411ea-dd64-11ee-9d2c-167cb1cfcc11"
38 | }
39 | // Additional sizes...
40 | ],
41 | "name": "Men"
42 | }
43 | // Other categories like Unisex, Women, Kids...
44 | }
45 | }
46 | ```
47 |
48 | In the response, you'll find a `sizeSets` object which contains arrays for different categories (Men, Women, Unisex, Kids). Each category has an array of `sizes`, where each size object contains the stock information:
49 |
50 | - `us`, `eur`, `uk`, `cm`: Size information in different measurements.
51 | - `pieces`: The number of pieces available in stock.
52 | - `ean`: The product's EAN code.
53 | - `id`: A unique identifier for the size.
54 |
55 | By examining the `pieces` field, you can determine how many units of a specific size are available for purchase.
56 |
--------------------------------------------------------------------------------
/GameUK/GAMEUK-Instore.md:
--------------------------------------------------------------------------------
1 | # GAME UK In-Store Availability Check
2 |
3 | To check in-store availability for Game products, use the following endpoint format:
4 | ```
5 | https://powerup.game.co.uk/StockCheckerUI/ExternalStockChecker/CheckForPostcode?/StockCheckerUI/ExternalStockChecker/CheckForPostcode&caller=mcomm&mintSku={sku}&preownedSku={pre_sku}&postcode={postcode}&hasPreownedSelected=false
6 | ```
7 |
8 | - `{sku}` is the Product ID.
9 | - `{pre_sku}` is the Product ID for pre-owned product.
10 | - `{postcode}` is the postcode.
11 |
12 | ### Finding the Product ID (PID)
13 | The Product ID can be obtained this way:
14 |
15 | From the URL of the product page, e.g., for the : PlayStation 5 Console
16 | ```
17 | https://www.game.co.uk/en/playstation-5-console-2826338
18 | ```
19 | The PID here is `2826338`.
--------------------------------------------------------------------------------
/Kickz/Instore-PID-checker.md:
--------------------------------------------------------------------------------
1 | ## Kickz In-Store Product ID Checker Endpoint
2 |
3 | To check the in-store availability of products on Kickz using the Product ID, use the following endpoint format:
4 | ```
5 | https://www.kickz.com/on/demandware.store/Sites-Kickz-DE-AT-INT-Site/de_DE/Product-Variation?pid={product_id}&quantity=1&sizeSystem=EU&ajax=true
6 | ```
7 |
8 | Replace `product_id` with the Product ID of the item you're interested in.
9 |
10 | ### Finding the Product ID (PID)
11 | The Product ID (PID) can be found in the URL of the product page. For example, for the New Balance Sneaker BBW550BI in grey/green, the URL is:
12 | ```
13 | https://www.kickz.com/ch/p/new-balance-sneaker-bbw550bi-grey-green/213226001.html
14 | ```
15 | Here, the PID is `213226001`.
16 |
17 | ### Example Request
18 | To check the in-store availability of the product with PID `213226001`, the request URL would be:
19 | ```
20 | https://www.kickz.com/on/demandware.store/Sites-Kickz-DE-AT-INT-Site/de_DE/Product-Variation?pid=213226001&quantity=1&sizeSystem=EU&ajax=true
21 | ```
22 |
23 | This endpoint will return a JSON response indicating the availability of the product in the specified size system (EU in this case) and quantity (1 by default).
24 |
--------------------------------------------------------------------------------
/Nike/Deeplinks.md:
--------------------------------------------------------------------------------
1 | # Nike Deeplinks Documentation
2 |
3 | ## What is a Deeplink?
4 | A Deeplink is a URL with a custom scheme such as `nike://` or `prizzle://` and a path, that is used to navigate to apps on iOS. These Deeplinks can also be used to open specific sites in an app or to pass data to an app.
5 |
6 | ## Nike Deeplinks
7 |
8 | ### Nike App
9 | ###### Scheme
10 | `mynike://x-callback-url/product-details?style-color=PID`
11 | ###### Dunk Low Black/White (W)
12 | `mynike://x-callback-url/product-details?style-color=DD1503-101`
13 |
14 | ### Nike SNKRS App
15 | ###### Scheme
16 | `snkrs://product/PID`
17 | ###### Travis Scott x Air Jordan 1 Low (Olive Green)
18 | `snkrs://product/DZ4137-106`
19 |
20 | ## Add-on
21 | You can use the redirect service from [@prizzledev](https://github.com/prizzledev) (free for everyone) to use them in apps (e.g. Discord)
22 |
23 | `https://redirect.prizzle.dev/?url=DEEPLINK`
--------------------------------------------------------------------------------
/Prodirect/ReleaseScraper.md:
--------------------------------------------------------------------------------
1 | Here's a README formatted as a Markdown file that describes the endpoint and includes a Python script to illustrate how to use it:
2 |
3 | ---
4 |
5 | # Prodirect Sport Release Scraper
6 |
7 | This document provides instructions for accessing the Prodirect API to retrieve sports product releases. It includes an example Python script that demonstrates how to query the API and process the results.
8 |
9 | ## Endpoint Description
10 |
11 | The Prodirect API endpoint is used to fetch new sports product releases. The endpoint requires specifying a store and a search term to refine the product listings.
12 |
13 | - **URL Structure**:
14 | ```
15 | https://query.published.live1.suggest.eu1.fredhopperservices.com/pro_direct/json?scope=//catalog01/en_GB/categories>{store}&search={searchTerm}&callback=jsonpResponse
16 | ```
17 |
18 | - **Parameters**:
19 | - `store`: The specific store's catalog (e.g., 'sportengb' for English sports goods, 'soccerengb' for soccer products).
20 | - `searchTerm`: Keywords to filter the search (e.g., 'dunk', 'jordan', 'new+balance').
21 |
22 | ## Example Script
23 |
24 | ### GO
25 | https://github.com/prizzledev/prodirect-releases
26 |
27 | ### Python
28 | Below is a Python script that demonstrates how to use the endpoint to fetch and display product information.
29 |
30 | ```python
31 | import requests
32 | import json
33 | import re
34 | from datetime import datetime
35 |
36 | def fetch_products(store, search_term):
37 | # Construct the URL with specified store and search term
38 | url = f"https://query.published.live1.suggest.eu1.fredhopperservices.com/pro_direct/json?scope=//catalog01/en_GB/categories>{{store}}&search={search_term}&callback=jsonpResponse"
39 |
40 | # Send the GET request
41 | response = requests.get(url)
42 | if response.status_code != 200:
43 | raise Exception("Failed to fetch data: HTTP Status {}".format(response.status_code))
44 |
45 | # Extract JSON from JSONP format
46 | jsonp_text = response.text
47 | json_text = re.search(r'jsonpResponse\((\{.*?\})\)', jsonp_text).group(1)
48 | data = json.loads(json_text)
49 |
50 | # Process the data
51 | products = data['suggestionGroups'][1]['suggestions']
52 | for product in products:
53 | print("----------")
54 | print("Name:", product['name'])
55 | print("Price: £{:.2f}".format(product['currentprice']))
56 | print("Product URL:", product['producturl'])
57 | print("Thumbnail URL:", product['thumburl'])
58 | print("Launch Date:", convert_date(product['launchdate'], product['launchtimedelta']))
59 |
60 | def convert_date(launch_date, delta):
61 | # Convert launch date string to datetime object
62 | year, month, day = int(launch_date[:4]), int(launch_date[4:6]), int(launch_date[6:8])
63 | date = datetime(year, month, day)
64 |
65 | # Adjust time based on delta
66 | adjusted_date = date + timedelta(minutes=delta)
67 | return adjusted_date.strftime("%Y-%m-%d %H:%M:%S")
68 |
69 | # Example usage
70 | if __name__ == "__main__":
71 | fetch_products('sportengb', 'dunk')
72 | ```
73 |
74 | ## Running the Script
75 |
76 | To run the script:
77 | 1. Ensure you have Python installed on your system.
78 | 2. Install the `requests` library using pip if not already installed:
79 | ```
80 | pip install requests
81 | ```
82 | 3. Save the script to a file, say `prodirect_scraper.py`.
83 | 4. Run the script from your command line:
84 | ```
85 | python prodirect_scraper.py
86 | ```
87 |
88 | This script will output the names, prices, URLs, and launch dates of products matching the specified search term and store.
--------------------------------------------------------------------------------
/Prodirect/prodirect_scraper.py:
--------------------------------------------------------------------------------
1 | import requests
2 | import json
3 | import re
4 | from datetime import datetime
5 |
6 | def fetch_products(store, search_term):
7 | # Construct the URL with specified store and search term
8 | url = f"https://query.published.live1.suggest.eu1.fredhopperservices.com/pro_direct/json?scope=//catalog01/en_GB/categories>{{store}}&search={search_term}&callback=jsonpResponse"
9 |
10 | # Send the GET request
11 | response = requests.get(url)
12 | if response.status_code != 200:
13 | raise Exception("Failed to fetch data: HTTP Status {}".format(response.status_code))
14 |
15 | # Extract JSON from JSONP format
16 | jsonp_text = response.text
17 | json_text = re.search(r'jsonpResponse\((\{.*?\})\)', jsonp_text).group(1)
18 | data = json.loads(json_text)
19 |
20 | # Process the data
21 | products = data['suggestionGroups'][1]['suggestions']
22 | for product in products:
23 | print("----------")
24 | print("Name:", product['name'])
25 | print("Price: £{:.2f}".format(product['currentprice']))
26 | print("Product URL:", product['producturl'])
27 | print("Thumbnail URL:", product['thumburl'])
28 | print("Launch Date:", convert_date(product['launchdate'], product['launchtimedelta']))
29 |
30 | def convert_date(launch_date, delta):
31 | # Convert launch date string to datetime object
32 | year, month, day = int(launch_date[:4]), int(launch_date[4:6]), int(launch_date[6:8])
33 | date = datetime(year, month, day)
34 |
35 | # Adjust time based on delta
36 | adjusted_date = date + timedelta(minutes=delta)
37 | return adjusted_date.strftime("%Y-%m-%d %H:%M:%S")
38 |
39 | # Example usage
40 | if __name__ == "__main__":
41 | fetch_products('sportengb', 'dunk')
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | ## Endpoints
4 |
5 | | Store Name | Documentation |
6 | |-------------|---------------|
7 | | AWLAB | [AWLAB-Instore](AWLAB/AWLAB-Instore.md) |
8 | | EndClothing | [All-Raffles](EndClothing/All-Raffles.md) |
9 | | Euronics | [Euronics-Instore](Euronics/Euronics-Instore.md) |
10 | | Fendi | [Fendi-Instore](Fendi/Fendi-Instore.md) |
11 | | Footshop | [Stock-API](Footshop/Stock-API.md) |
12 | | GAME UK | [GAMEUK-Instore](GameUK/GAMEUK-Instore.md) |
13 | | Kickz | [Instore-PID-checker](Kickz/Instore-PID-checker.md) |
14 | | Nike | [Deeplinks](Nike/Deeplinks.md) |
15 | | Prodirect | [ReleaseScraper](Prodirect/ReleaseScraper.md) |
16 | | Rimowa | [Rimowa-Instore](Rimowa/Rimowa-Instore.md) |
17 | | Snipes | [Loaded-products](Snipes/Loaded-products.md) |
18 | | Solebox | [Loaded-products](Solebox/Loaded-products.md) |
19 |
20 | ## How to Contribute
21 |
22 | To contribute to this project, please DM [@jonodev](https://discordapp.com/users/696774823661011014/) on Discord. Just DM him with your endpoints.
23 |
24 | ## Contributors
25 |
26 | [@jono-png](https://github.com/jono-png)
27 | [@astralisdev](https://github.com/astralisdev)
28 | [@matismrd](https://github.com/matismrd)
29 | [@prizzledev](https://github.com/prizzledev)
30 | [@lite0n](https://github.com/lite0n)
31 |
32 | ## Donations
33 |
34 | Donations are appreciated but not obligatory. Everything here is free to use! Donations help to keep up the free work. You can donate using Solana to the address below:
35 |
36 | [jono5QAD6fcNDLAtT78NZ7xFhriDmViPXNzk9jVVn3G](solana:jono5QAD6fcNDLAtT78NZ7xFhriDmViPXNzk9jVVn3G)
37 |
38 | ## Star History
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/Rimowa/Rimowa-Instore.md:
--------------------------------------------------------------------------------
1 | # How to Check In-Store Availability for Rimowa Products
2 |
3 | Finding out if a Rimowa product is available in a store near you is straightforward using the Rimowa API. This guide explains how to check the in-store availability of a specific product by utilizing a dedicated API endpoint.
4 |
5 | ## Step 1: Locate the Product ID (PID)
6 |
7 | Before you can check the product's in-store availability, you need to find its Product ID (PID). This ID can usually be found in the product's URL on the Rimowa website. For example:
8 |
9 | For the URL `https://www.rimowa.com/ch/de/luggage/colour/blue/check-in-l/83273691.html`, the PID is `83273691`.
10 |
11 | ## Step 2: Access the API Endpoint
12 |
13 | With the Product ID, you can now query the in-store availability. Use the following API endpoint:
14 |
15 | ```
16 | https://www.rimowa.com/on/demandware.store/Sites-Rimowa-Site/it_IT/StoreLocator-InStoreAvailability?pid={PID}
17 | ```
18 |
19 | Replace `{PID}` with the actual Product ID you found earlier. This will fetch the availability of that specific product in various stores.
20 |
21 | ## Understanding the API Response
22 |
23 | When you access the API endpoint, the response will be visual rather than textual. You will receive an image detailing the availability of the product in various Rimowa stores. This image provides a visual representation of the product availability, including store names, locations, and the opening hours of each store.
24 |
25 | 
26 |
27 | This image is a simplified representation meant to guide you in understanding how to interpret the actual in-store availability data you will receive.
28 |
29 | By using this API, you can easily find out which Rimowa stores have your desired product in stock, allowing you to plan your visit or contact the store directly for more information.
--------------------------------------------------------------------------------
/Rimowa/example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/44ps/endpoints/76b17d6913f48d2c1dd2d3f55cc5df9208a74ae5/Rimowa/example.png
--------------------------------------------------------------------------------
/Snipes/Loaded-products.md:
--------------------------------------------------------------------------------
1 | ## Check Snipes Loaded Products
2 |
3 | To check the details of Snipes loaded products, you can use the following API endpoint:
4 | ```
5 | https://www.snipes.com/dw/shop/v19_1/products/{PIF}?client_id=cf212f59-94d1-4314-996f-7a11871156f4&c_app=true&expand=images,prices,+variations,options,availability
6 | ```
7 |
8 | - `{PID}` is the product ID you're interested in.
9 |
10 | ### Getting the Product ID (PID)
11 | The Product ID can be found on the product page URL. For example, for the WMNS Air Jordan 4 Retro
12 | sail/metallic gold-black, the URL is:
13 | ```
14 | https://www.snipes.com/p/jordan-wmns_air_jordan_4_retro-sail%2Fmetallic_gold-black-00013802280535.html
15 | ```
16 | In this URL, `00013802280535` is the Product ID.
17 |
18 | ### Example Request
19 | To fetch details for the product with ID `00013802280535`, the request URL would be:
20 | ```
21 | https://www.snipes.com/dw/shop/v19_1/products/00013802280535?client_id=cf212f59-94d1-4314-996f-7a11871156f4&c_app=true&expand=images,prices,+variations,options,availability
22 | ```
23 |
24 | This request will return a JSON response with details such as the product brand, currency, ID, and various groups of images, prices, availability, and variations associated with the product.
25 |
--------------------------------------------------------------------------------
/Solebox/Loaded-products.md:
--------------------------------------------------------------------------------
1 | ## Check Solebox Loaded Products
2 |
3 | To check the details of Solebox loaded products, you can use the following API endpoint:
4 | ```
5 | https://www.solebox.com/dw/shop/v19_5/products/{PID}?client_id=37e982e8-005d-43e8-8c71-41c659b38a8c&c_app=true&locale=en-DE&expand=images,prices,availability,variations
6 | ```
7 |
8 | - `{PID}` is the product ID you're interested in.
9 |
10 | ### Getting the Product ID (PID)
11 | The Product ID can be found on the product page URL. For example, for the adidas Originals WMNS Handball Spezial in light blue/ftwr white/gum5, the URL is:
12 | ```
13 | https://www.solebox.com/en_CH/p/adidas_originals-wmns_handball_spezial-light_blue%2Fftwr_white%2Fgum5-02274958.html?prefn1=soleboxExclusive&prefv1=true
14 | ```
15 | In this URL, `02274958` is the Product ID.
16 |
17 | ### Example Request
18 | To fetch details for the product with ID `02274958`, the request URL would be:
19 | ```
20 | https://www.solebox.com/dw/shop/v19_5/products/02274958?client_id=37e982e8-005d-43e8-8c71-41c659b38a8c&c_app=true&locale=en-DE&expand=images,prices,availability,variations
21 | ```
22 |
23 | This request will return a JSON response with details such as the product brand, currency, ID, and various groups of images, prices, availability, and variations associated with the product.
24 |
--------------------------------------------------------------------------------
/banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/44ps/endpoints/76b17d6913f48d2c1dd2d3f55cc5df9208a74ae5/banner.png
--------------------------------------------------------------------------------