"""Test Bol.com API - try different endpoint patterns""" import requests import json CLIENT_ID = "7609ba1c-063c-4be6-88df-19a6eeb834a9" CLIENT_SECRET = "1dp!RDvdwk208Wg?dT2aj1CL8i4eIqU+93QoTVaFpWjWXnMX53nEVifbKRUvCc@U" # Get access token r = requests.post("https://login.bol.com/token?grant_type=client_credentials", auth=(CLIENT_ID, CLIENT_SECRET), headers={"Accept": "application/json"}) access_token = r.json()["access_token"] print(f"Token OK\n") headers = { "Authorization": f"Bearer {access_token}", "Accept": "application/json", } # Try various endpoints from bol docs endpoints = [ # Marketing/affiliate catalog API ("GET", "https://api.bol.com/catalog/v5/search?q=sneakers&limit=3"), ("GET", "https://api.bol.com/catalog/v5/products/9200000132414262"), # Open API / plaza ("GET", "https://api.bol.com/retailer/content/products?q=sneakers"), # Shared catalog ("GET", "https://api.bol.com/shared/catalog/v5/search?q=sneakers&limit=3"), # Partner API ("GET", "https://api.bol.com/retailer/catalog/search?q=sneakers&limit=3"), # Try with different accept headers ] for method, url in endpoints: print(f"{method} {url}") r = requests.request(method, url, headers=headers) print(f" -> {r.status_code}") if r.status_code == 200: data = r.json() print(f" Keys: {list(data.keys())}") print(f" Preview: {json.dumps(data, ensure_ascii=False)[:400]}") elif r.status_code != 403: print(f" Body: {r.text[:200]}") print()