### Fetch Card Image Headers Example Source: https://www.pokewallet.io/api-docs Example of response headers when fetching a card image, indicating success and content type. ```http HTTP/1.1 200 OK Content-Type: image/jpeg Content-Length: 123456 [Binary image data] ``` -------------------------------- ### Successful Set Response Example Source: https://www.pokewallet.io/api-docs Example of a successful response when retrieving set information. Includes details about the set and its cards. ```json { "success": true, "set": { "name": "Plasma Freeze", "set_code": "PLF", "set_id": "1382", "total_cards": 123, "language": "eng", "release_date": "8th May, 2013" }, "cards": [ { "id": "pk_4687f4c4a0499fd6a7fa267a9bef2cb4c462f19478522c5a85eaf116ca1d1f0c8ad2ba5fc8ac3c668627bce5", "card_info": { "name": "Weedle", "clean_name": "Weedle", "set_name": "Plasma Freeze", "set_code": "1382", "card_number": "1/116", "rarity": "Common", "card_type": null, "hp": "50.0", "stage": "Basic", "card_text": null, "attacks": [ "[G] Triple Stab (10x) Flip 3 coins. This attack does 10 damage times the number of heads." ], "weakness": "Rx2", "resistance": null, "retreat_cost": "1.0" }, "tcgplayer": { "prices": [], "url": "https://www.tcgplayer.com/product/90547" }, "cardmarket": { "product_name": "Weedle (PLF 1)", "prices": [], "product_url": "https://www.cardmarket.com/en/Pokemon/Products/Singles/Plasma-Freeze/Weedle-PLF1" } } ``` -------------------------------- ### GET / Source: https://www.pokewallet.io/api-docs Retrieve general API information, versioning, and a map of available endpoints. ```APIDOC ## GET / ### Description Get API information, version, and available endpoints. ### Method GET ### Endpoint / ### Response #### Success Response (200) - **name** (string) - API name - **version** (string) - API version - **status** (string) - Deployment status - **authentication** (object) - Auth requirements - **endpoints** (object) - Available API paths - **rate_limits** (object) - Usage limits #### Response Example { "name": "PokeWallet API", "version": "1.1.0", "status": "production", "authentication": { "required": true, "method": "API Key", "header": "X-API-Key", "format": "pk_live_xxxxxxxxxxxxx" }, "endpoints": { "health": { "path": "/health", "auth_required": false }, "search": { "path": "/search?q=charizard&limit=20", "auth_required": true } } } ``` -------------------------------- ### Retrieve Set Image Request Example Source: https://www.pokewallet.io/api-docs Example cURL command to retrieve the logo/image for a specific set using its set code. Ensure to replace 'your_key_here' with your actual API key. ```bash curl -H "X-API-Key: pk_live_your_key_here" \ "https://api.pokewallet.io/sets/SWSH3/image" \ --output swsh3.png ``` -------------------------------- ### List All Sets Response Source: https://www.pokewallet.io/api-docs Example JSON response containing a list of Pokemon sets. ```json { "success": true, "data": [ { "name": "Scarlet & Violet", "set_code": "SV1", "set_id": "23456", "card_count": 198, "language": "eng", "release_date": "31st March, 2023" }, { "name": "Silver Tempest", "set_code": "SWSH12", "set_id": "23123", "card_count": 245, "language": "eng", "release_date": "11th November, 2022" }, { "name": "Vaporeon VMAX Promo", "set_code": null, "set_id": "24073", "card_count": 1, "language": "jap", "release_date": null } ], "total": 150 } ``` -------------------------------- ### Get Set Details Request Source: https://www.pokewallet.io/api-docs Example cURL request to retrieve details for a specific set using its set code. ```bash curl -H "X-API-Key: pk_live_your_key_here" \ "https://api.pokewallet.io/sets/SWSH3" ``` -------------------------------- ### Retrieve Set Statistics Request Example Source: https://www.pokewallet.io/api-docs Example cURL command to retrieve complete price statistics and rarity breakdown for a set using its numeric group ID. Requires a Pro or Business plan. ```bash curl -H "X-API-Key: pk_live_your_key_here" \ "https://api.pokewallet.io/sets/23599/statistics" ``` -------------------------------- ### List All Sets Request Source: https://www.pokewallet.io/api-docs Example cURL request to retrieve all available Pokemon sets using an API key. ```bash curl -H "X-API-Key: pk_live_your_key_here" \ "https://api.pokewallet.io/sets" ``` -------------------------------- ### TCG Card ID Format Example Source: https://www.pokewallet.io/api-docs Example of a TCGPlayer card ID format, which includes a 'pk_' prefix followed by a hexadecimal hash. Used for all cards with TCGPlayer data. ```text pk_72046138a4c1908a9f27c93fdd8189ba... ``` -------------------------------- ### Make First Request with cURL Source: https://www.pokewallet.io/api-docs Example of making your first API request using cURL to search for a card. Ensure you replace 'pk_live_your_key_here' with your actual API key. ```bash curl -H "X-API-Key: pk_live_your_key_here" \ "https://api.pokewallet.io/search?q=charizard" ``` -------------------------------- ### Example cURL Request for Card Details Source: https://www.pokewallet.io/api-docs This cURL command demonstrates how to fetch complete card details using the API. Ensure you replace 'pk_xxx' with the actual card ID and 'your_key_here' with your valid API key. ```bash curl -H "X-API-Key: pk_live_your_key_here" \ "https://api.pokewallet.io/cards/pk_xxx" ``` -------------------------------- ### Rate Limit Headers Example Source: https://www.pokewallet.io/api-docs These headers are included in every API response to provide information about your current rate limit status. ```text X-RateLimit-Limit-Hour: 100 X-RateLimit-Remaining-Hour: 95 X-RateLimit-Limit-Day: 1000 X-RateLimit-Remaining-Day: 823 ``` -------------------------------- ### CardMarket-Only Card ID Format Example Source: https://www.pokewallet.io/api-docs Example of a CardMarket-only card ID format, which is a direct hexadecimal hash without any prefix. Used for cards exclusively from CardMarket. ```text 2208e8a2750c07d89e54870ffcef80d1... ``` -------------------------------- ### Search and Get Card Images with JavaScript (Fetch) Source: https://www.pokewallet.io/api-docs Demonstrates how to search for cards and retrieve their images using the Fetch API in JavaScript. Requires an API key set as an environment variable. ```javascript const API_KEY = process.env.POKEWALLET_API_KEY; const BASE_URL = 'https://api.pokewallet.io'; async function searchCards(query) { const response = await fetch(`${BASE_URL}/search?q=${encodeURIComponent(query)}`, { headers: { 'X-API-Key': API_KEY } }); if (!response.ok) { if (response.status === 429) { throw new Error('Rate limit exceeded'); } throw new Error(`API error: ${response.status}`); } const data = await response.json(); return data; } async function getCardImage(cardId, size = 'high') { const url = `${BASE_URL}/images/${cardId}?size=${size}`; const response = await fetch(url, { headers: { 'X-API-Key': API_KEY } }); if (!response.ok) { throw new Error(`Failed to fetch image: ${response.status}`); } // Return blob for display or download const blob = await response.blob(); return blob; } // Usage - Search TCG cards searchCards('pikachu') .then(data => { console.log('TCG card results:', data); // IDs will have pk_ prefix }) .catch(error => console.error(error)); // Usage - Search CardMarket-only cards searchCards('cubone cbb3c') .then(data => { console.log('CardMarket-only results:', data); // IDs will NOT have pk_ prefix }) .catch(error => console.error(error)); // Usage - Get Image (TCG card with pk_ prefix) getCardImage('pk_72046138a4c1908a9f27c93fdd8189ba...', 'high') .then(blob => { const imageUrl = URL.createObjectURL(blob); document.querySelector('img').src = imageUrl; }) .catch(error => console.error(error)); // Usage - Get Image (CardMarket-only, no prefix) getCardImage('8eb728bd59d4e1a0d94c354e4cc65a74...', 'high') .then(blob => { const imageUrl = URL.createObjectURL(blob); document.querySelector('img').src = imageUrl; }) .catch(error => console.error(error)); ``` -------------------------------- ### GET /search Source: https://www.pokewallet.io/api-docs Perform an advanced card search with unified pricing data from TCGPlayer and CardMarket. ```APIDOC ## GET /search ### Description Advanced card search with unified pricing from TCGPlayer and CardMarket. ### Method GET ### Endpoint /search ### Parameters #### Query Parameters - **q** (string) - Required - Search query (name, set code, card number, or set_id + card number) - **page** (number) - Optional - Page number (default: 1) - **limit** (number) - Optional - Results per page (default: 20, max: 100) ### Response #### Success Response (200) - **query** (string) - The search query used - **results** (array) - List of matching cards - **pagination** (object) - Pagination metadata #### Response Example { "query": "pikachu", "results": [ { "id": "pk_72046138...", "card_info": { "name": "Pikachu ex", "set_name": "Battle Academy 2024" }, "tcgplayer": { "prices": [...] } } ], "pagination": { "page": 1, "limit": 20, "total": 56 } } ``` -------------------------------- ### Search and Get Card Images with Python (Requests) Source: https://www.pokewallet.io/api-docs Demonstrates how to search for cards and retrieve their images using the Requests library in Python. Requires an API key set as an environment variable. ```python import os import requests API_KEY = os.getenv('POKEWALLET_API_KEY') BASE_URL = 'https://api.pokewallet.io' def search_cards(query): headers = { 'X-API-Key': API_KEY } response = requests.get( f'{BASE_URL}/search', params={'q': query}, headers=headers ) if response.status_code == 429: raise Exception('Rate limit exceeded') response.raise_for_status() return response.json() def get_card_image(card_id, size='high', set_code=None): headers = { 'X-API-Key': API_KEY } params = {'size': size} if set_code: params['set'] = set_code response = requests.get( f'{BASE_URL}/images/{card_id}', params=params, headers=headers ) if response.status_code == 429: raise Exception('Rate limit exceeded') response.raise_for_status() # Get image source image_source = response.headers.get('X-Image-Source') print(f'Image served from: {image_source}') return response.content # Usage - Search try: data = search_cards('charizard ex') print(data) except Exception as e: print(f'Error: {e}') ``` -------------------------------- ### Trending Sets Response Source: https://www.pokewallet.io/api-docs Example JSON response for trending sets, showing price changes and top movers for each set. ```json { "period": "7d", "trending_sets": [ { "set_name": "Miracle of the Desert", "set_code": "-4", "card_count": 46, "cardmarket": { "price_change": "+90.6%", "avg_price_current": 15.67, "avg_price_previous": 8.22, "top_movers": [ { "name": "Dusclops (ADV2 031)", "change": "+449.1%" }, { "name": "Raichu ex (ADV2 023)", "change": "+433.3%" }, { "name": "Typhlosion ex (ADV2 013)", "change": "+389.4%" } ] }, "tcgplayer": null }, { "set_name": "BW1_ Black Collection", "set_code": "23893", "card_count": 18, "cardmarket": { "price_change": "+40.8%", "avg_price_current": 2.22, "avg_price_previous": 1.58, "top_movers": [ { "name": "Beartic (BW1b 018)", "change": "+171.2%" }, { "name": "Emboar (BW1b 010)", "change": "+97.4%" }, { "name": "Sawsbuck (BW1b 007)", "change": "-86.3%" } ] }, "tcgplayer": { "status": "work_in_progress", "message": "TCGPlayer price history not yet available" } } ] } ``` -------------------------------- ### Retrieve Card Details Response Source: https://www.pokewallet.io/api-docs Example JSON response for a successful card lookup, including TCGPlayer and CardMarket pricing data. ```json { "id": "pk_xxx", "card_info": { "name": "Charizard VMAX", "clean_name": "Charizard VMAX", "set_name": "Darkness Ablaze", "set_code": "SWSH3", "set_id": "22789", "card_number": "20/189", "rarity": "Secret Rare", "card_type": "Pokemon", "hp": "330", "stage": null, "card_text": "VMAX rule: When your VMAX Pokemon is Knocked Out...", "attacks": ["Fire Spin - 320 damage"], "weakness": "Water", "resistance": null, "retreat_cost": "3" }, "tcgplayer": { "url": "https://tcgplayer.com/product/123456", "prices": [ { "sub_type_name": "Normal", "low_price": 245.99, "mid_price": 299.99, "high_price": 450.00, "market_price": 285.00, "direct_low_price": 250.00, "updated_at": "2025-12-16T04:00:00Z" } ] }, "cardmarket": { "product_name": "Charizard VMAX (Secret)", "product_url": "https://cardmarket.com/product/789012", "prices": [{ "variant_type": "normal", "avg": 260.50, "low": 240.00, "trend": 270.00, "avg1": 258.30, "avg7": 255.80, "avg30": 280.50, "updated_at": "2025-12-16T04:00:00Z" }] } } ``` -------------------------------- ### Disambiguation Response Example Source: https://www.pokewallet.io/api-docs Response when a set code is shared by multiple sets. Use the `set_id` from the `matches` to specify the desired set. ```json { "disambiguation": true, "message": "Multiple sets found for set_code 'PR'. Use set_id to specify which one.", "matches": [ { "set_id": "1938", "set_code": "PR", "name": "Alternate Art Promos", "language": "eng", "release_date": null }, { "set_id": "1451", "set_code": "PR", "name": "XY Promos", "language": "eng", "release_date": null }, { "set_id": "1407", "set_code": "PR", "name": "Black and White Promos", "language": "eng", "release_date": null } ], "total": 21 } ``` -------------------------------- ### Set Completion Value Response Source: https://www.pokewallet.io/api-docs Example JSON response for set completion costs, including currency-specific estimates and rarity-based cost breakdowns. ```json { "set_info": { "name": "SV2a_ Pokemon Card 151", "set_code": "23599", "total_cards": 524 }, "completion_cost": { "tcgplayer": { "currency": "USD", "low_estimate": 4516.16, "market_estimate": 4056.03, "high_estimate": 13687.29 }, "cardmarket": { "currency": "EUR", "low_estimate": 683.50, "avg_estimate": 1232.46, "trend_estimate": 1526.69 }, "note": "TCGPlayer prices in USD, CardMarket prices in EUR. Cross-currency comparison not available." }, "breakdown_by_rarity": { "Common": { "count": 199, "total_cost": 950.32 }, "Uncommon": { "count": 186, "total_cost": 732.37 }, "Rare": { "count": 77, "total_cost": 645.50 }, "Double Rare": { "count": 12, "total_cost": 8.29 }, "Art Rare": { "count": 18, "total_cost": 254.25 }, "Super Rare": { "count": 16, "total_cost": 85.38 }, "Special Art Rare": { "count": 8, "total_cost": 893.35 }, "Ultra Rare": { "count": 3, "total_cost": 31.02 }, "Unknown": { "count": 5, "total_cost": 12.47 } } } ``` ```json { "success": false, "error": "This is a CardMarket-only set without TCGPlayer pricing data" } ``` -------------------------------- ### Get All Sets Source: https://www.pokewallet.io/api-docs Retrieves a list of all Pokemon sets, including their card counts. Authentication is required for this endpoint. ```APIDOC ## GET /sets ### Description Get list of all Pokemon sets with card counts. ### Method GET ### Endpoint `/sets` ### Authentication Requires an API key. ### Response Fields: Field| Type| Description ---|---|--- `name`| string| Set name `set_code`| string | null| Short code for the set (e.g., "SWSH3", "SV1"). May be `null` for some promo or special sets. `set_id`| string| Unique numeric identifier for the set (group_id) `card_count`| number| Total number of unique cards in the set `language`| string | null| Set language code (e.g., "eng", "jap", "ger"). May be `null` if not specified. `release_date`| string | null| Set release date (e.g., "3rd August, 2007"). May be `null` if unknown. ### Request Example: ```curl curl -H "X-API-Key: pk_live_your_key_here" \ "https://api.pokewallet.io/sets" ``` ### Response Example: ```json { "success": true, "data": [ { "name": "Scarlet & Violet", "set_code": "SV1", "set_id": "23456", "card_count": 198, "language": "eng", "release_date": "31st March, 2023" }, { "name": "Silver Tempest", "set_code": "SWSH12", "set_id": "23123", "card_count": 245, "language": "eng", "release_date": "11th November, 2022" }, { "name": "Vaporeon VMAX Promo", "set_code": null, "set_id": "24073", "card_count": 1, "language": "jap", "release_date": null } ], "total": 150 } ``` ``` -------------------------------- ### GET /health Source: https://www.pokewallet.io/api-docs Check the health status of the API, including database, cache, and storage connectivity. ```APIDOC ## GET /health ### Description Check API status, database, cache, and storage health with response times. ### Method GET ### Endpoint /health ### Response #### Success Response (200) - **status** (string) - Current health status - **timestamp** (string) - ISO timestamp - **version** (string) - API version - **checks** (object) - Status of individual services - **responseTime** (number) - Total response time in ms - **region** (string) - Server region #### Response Example { "status": "healthy", "timestamp": "2025-12-16T10:30:00.000Z", "version": "1.1.0", "checks": { "database": { "status": "healthy", "responseTime": 45 }, "cache": { "status": "healthy", "responseTime": 3 }, "storage": { "status": "healthy", "responseTime": 12 } }, "responseTime": 60, "region": "FRA" } ``` -------------------------------- ### Get API Information Source: https://www.pokewallet.io/api-docs Retrieve details about the PokeWallet API, such as its version, status, and a list of available endpoints. This endpoint does not require authentication. ```bash curl "https://api.pokewallet.io/" ``` -------------------------------- ### GET /sets/:setCode/completion-value Source: https://www.pokewallet.io/api-docs Calculates the estimated cost to complete a set by buying one copy of every card. Pro plan required. ```APIDOC ## GET /sets/:setCode/completion-value ### Description Calculates the estimated cost to complete a set by buying one copy of every card. Returns separate estimates for TCGPlayer (USD) and CardMarket (EUR). ### Method GET ### Endpoint https://api.pokewallet.io/sets/:setCode/completion-value ### Parameters #### Path Parameters - **setCode** (string) - Required - Numeric group_id or alphanumeric set code. ### Request Example curl -H "X-API-Key: pk_live_your_key_here" "https://api.pokewallet.io/sets/23599/completion-value" ### Response #### Success Response (200) - **set_info** (object) - Information about the set - **completion_cost** (object) - Cost estimates for TCGPlayer and CardMarket - **breakdown_by_rarity** (object) - Cost breakdown by rarity #### Response Example { "set_info": { "name": "SV2a_ Pokemon Card 151", "set_code": "23599", "total_cards": 524 }, "completion_cost": { "tcgplayer": { "currency": "USD", "low_estimate": 4516.16, "market_estimate": 4056.03, "high_estimate": 13687.29 }, "cardmarket": { "currency": "EUR", "low_estimate": 683.50, "avg_estimate": 1232.46, "trend_estimate": 1526.69 } } } ``` -------------------------------- ### Retrieve Card Image using cURL (CardMarket) Source: https://www.pokewallet.io/api-docs Example using cURL to fetch a CardMarket-only card image using its hexadecimal hash ID and high resolution. Requires an API key in the headers. ```bash curl -H "X-API-Key: pk_live_your_key_here" \ "https://api.pokewallet.io/images/8eb728bd59d4e1a0d94c354e4cc65a7465b55cfa4261bfa93301faa5ec921f97?size=high" \ --output cubone_v1.jpg ``` -------------------------------- ### Retrieve Card Image using cURL (TCG) Source: https://www.pokewallet.io/api-docs Example using cURL to fetch a TCG card image with a 'pk_' prefix ID and high resolution. Requires an API key in the headers. ```bash curl -H "X-API-Key: pk_live_your_key_here" \ "https://api.pokewallet.io/images/pk_72046138a4c1908a9f27c93fdd8189ba4ac8e683efaed6b9161efcef129302394a9ec1d20d?size=high" \ --output pikachu_tcg.jpg ``` -------------------------------- ### Retrieve Set Statistics Response Source: https://www.pokewallet.io/api-docs Example JSON response for a set statistics query, including price statistics from TCGPlayer and CardMarket, and a rarity breakdown. ```json { "set_info": { "name": "SV2a_ Pokemon Card 151", "set_code": "23599", "total_cards": 524 }, "price_statistics": { "tcgplayer": { "avg_market_price": "7.80", "min_price": 0.07, "max_price": 307.56, "most_expensive": { "name": "Charizard ex - 201/165", "price": 307.56 } }, "cardmarket": { "avg_price": "2.34", "min_price": 0.37, "max_price": 17.91, "trend_direction": "up" } }, "rarity_breakdown": { "Common": 199, "Uncommon": 186, "Rare": 77, "Double Rare": 12, "Art Rare": 18, "Super Rare": 16, "Special Art Rare": 8, "Ultra Rare": 3, "Unknown": 5 } } ``` -------------------------------- ### Search Results Response (TCG Card) Source: https://www.pokewallet.io/api-docs An example response for a card search, detailing the card's information, pricing from TCGPlayer, and pagination metadata. CardMarket data may be null if not available. ```json { "query": "pikachu", "results": [ { "id": "pk_72046138a4c1908a9f27c93fdd8189ba4ac8e683efaed6b9161efcef129302394a9ec1d20d", "card_info": { "name": "Pikachu ex (Pikachu 60)", "clean_name": "Pikachu ex Pikachu 60", "set_name": "Battle Academy 2024", "set_code": "BA2024", "set_id": "23520", "card_number": "106", "rarity": "Holo Rare", "card_type": "Lightning", "hp": "200.0", "stage": "Basic", "card_text": null, "attacks": ["[LLC] Thunderbolt (120)"], "weakness": "Fx2", "resistance": null, "retreat_cost": "1.0" }, "tcgplayer": { "prices": [{ "sub_type_name": "Normal", "low_price": 7, "mid_price": 9.37, "high_price": 18, "market_price": 8.01, "direct_low_price": null, "updated_at": "2025-12-27T05:14:43.451818" }], "url": "https://www.tcgplayer.com/product/556443" }, "cardmarket": null } ], "pagination": { "page": 1, "limit": 20, "total": 56, "total_pages": 3 }, "metadata": { "total_count": 56, "tcg": 18, "cardmarket": 38, "tcg_only": 18, "cardmarket_only": 38, "both_sources": 0 } } ``` -------------------------------- ### API Health Check Response (Healthy) Source: https://www.pokewallet.io/api-docs Example of a successful health check response from the API, indicating all systems are operational. ```json { "status": "healthy", "timestamp": "2025-12-16T10:30:00.000Z", "version": "1.1.0", "checks": { "database": { "status": "healthy", "responseTime": 45 }, "cache": { "status": "healthy", "responseTime": 3 }, "storage": { "status": "healthy", "responseTime": 12 } }, "responseTime": 60, "region": "FRA" } ``` -------------------------------- ### GET /sets/:setCode/statistics Source: https://www.pokewallet.io/api-docs Retrieve complete price statistics and rarity breakdown for a set, including TCGPlayer and CardMarket data. Requires a Pro plan. ```APIDOC ## GET /sets/:setCode/statistics ### Description Get complete price statistics and rarity breakdown for a set. Returns average, min and max prices from both TCGPlayer (USD) and CardMarket (EUR), plus the most expensive card and a 7-day trend direction. ### Method GET ### Endpoint /sets/:setCode/statistics ### Parameters #### Path Parameters - **setCode** (string) - Required - Numeric group_id (23599) or alphanumeric set code (sv2a). #### Query Parameters - **variant** (string) - Optional - Filter CardMarket prices by variant: normal, holo. ### Request Example curl -H "X-API-Key: pk_live_your_key_here" \ "https://api.pokewallet.io/sets/23599/statistics" ``` -------------------------------- ### Get Set Details Source: https://www.pokewallet.io/api-docs Retrieves detailed information for a specific Pokemon set, including a paginated list of its cards. Authentication is required for this endpoint. ```APIDOC ## GET /sets/:setCode ### Description Get set details with paginated card list. ### Method GET ### Endpoint `/sets/:setCode` ### Authentication Requires an API key. ### Parameters: Parameter| Type| Required| Description ---|---|---|--- `setCode`| string| Required| Set identifier - accepts either `set_code` (e.g., "SWSH3", "SV1") or `set_id` (e.g., "23456"). Both values are returned by the `/sets` endpoint. `page`| number| Optional| Page number (default: 1) `limit`| number| Optional| Results per page (default: 50, max: 200) `language`| string| Optional| Filter by language when a `set_code` matches multiple sets (e.g., `eng`, `jap`, `chn`). Not needed when using a numeric `set_id`. ### Set Object Fields: Field| Type| Description ---|---|--- `name`| string| Set name `set_code`| string | null| Short code for the set. May be `null` for some promo sets. `set_id`| string| Unique numeric identifier for the set (group_id) `total_cards`| number| Total number of unique cards in the set `language`| string | null| Set language code (e.g., "eng", "jap"). May be `null` if not specified. `release_date`| string | null| Set release date (e.g., "3rd August, 2007"). May be `null` if unknown. ### Example Request: ```curl curl -H "X-API-Key: pk_live_your_key_here" \ "https://api.pokewallet.io/sets/SWSH3" ``` ``` -------------------------------- ### GET /sets/:setCode/image Source: https://www.pokewallet.io/api-docs Retrieve the logo or image for a specific Pokémon card set. Returns binary image data in PNG format. ```APIDOC ## GET /sets/:setCode/image ### Description Retrieve the logo/image for a set. Returns binary image data (PNG). Not all sets have an image available. ### Method GET ### Endpoint /sets/:setCode/image ### Parameters #### Path Parameters - **setCode** (string) - Required - Set identifier — accepts either set_code (e.g., SWSH3) or numeric set_id (e.g., 23456). #### Query Parameters - **language** (string) - Optional - Required only when a set_code is shared by multiple sets (e.g., eng, jap). ### Request Example curl -H "X-API-Key: pk_live_your_key_here" \ "https://api.pokewallet.io/sets/SWSH3/image" \ --output swsh3.png ### Response #### Success Response (200) - **Content-Type** (header) - image/png #### Error Response (404) { "error": "Image not available", "message": "No set image is available for this set." } #### Error Response (409) { "error": "Ambiguous set code", "message": "Multiple sets found for set_code 'SM11'. Add ?language=eng (or jap, etc.) to disambiguate, or use a numeric set_id.", "matches": [ { "set_id": "2464", "language": "eng" }, { "set_id": "23690", "language": "jap" } ] } ``` -------------------------------- ### Get Card Image API Source: https://www.pokewallet.io/api-docs Retrieves an image for a specific trading card. Supports different image sizes and set codes. ```APIDOC ## GET /images/{cardId} ### Description Retrieves the image for a specific trading card. ### Method GET ### Endpoint /images/{cardId} ### Path Parameters - **cardId** (string) - Required - The unique identifier of the card. ### Query Parameters - **size** (string) - Optional - The desired size of the image (e.g., 'low', 'medium', 'high'). Defaults to 'high'. - **set** (string) - Optional - The set code for the card image. ### Request Headers - **X-API-Key** (string) - Required - Your API key for authentication. ### Response #### Success Response (200) - **image data** (binary) - The image data in binary format. ### Response Headers - **X-Image-Source** (string) - The source from which the image was served. ### Response Example (Binary image data for a JPG file) ``` -------------------------------- ### Response Example: CardMarket-Only Card Source: https://www.pokewallet.io/api-docs This JSON structure represents a successful response when querying for a card that is exclusively available on CardMarket. It includes details about the card's name, set information, and pricing data from CardMarket, along with pagination and metadata. ```json { "query": "cubone cbb3c", "results": [ { "id": "8eb728bd59d4e1a0d94c354e4cc65a7465b55cfa4261bfa93301faa5ec921f97", "card_info": { "name": "Cubone (CBB3C 04)", "set_code": "CBB3C", "set_id": "-15", "card_number": "4" }, "tcgplayer": null, "cardmarket": { "product_name": "Cubone (CBB3C 04)", "prices": [ { "avg": null, "low": 0.02, "avg1": null, "avg7": null, "avg30": null, "trend": 0, "updated_at": "2025-12-29T04:54:57.728497", "variant_type": "normal" }, { "avg": 0.37, "low": 0.02, "avg1": 0.1, "avg7": 0.35, "avg30": 0.35, "trend": 0.29, "updated_at": "2025-12-29T04:54:57.728497", "variant_type": "holo" } ], "product_url": "https://www.cardmarket.com/en/Pokemon/Products/Singles/Gem-Pack-Vol-3/Cubone-V1-CBB3C04" } }, { "id": "a7ed43b641d4f24b494ad5889845085f33966d1f19cb9e0ed353979025d8da31", "card_info": { "name": "Cubone (CBB3C 04)", "set_code": "CBB3C", "set_id": "-15", "card_number": "4" }, "tcgplayer": null, "cardmarket": { "product_name": "Cubone (CBB3C 04)", "prices": [ { "avg": null, "low": 0.02, "trend": 0, "variant_type": "normal" } ], "product_url": "https://www.cardmarket.com/en/Pokemon/Products/Singles/Gem-Pack-Vol-3/Cubone-V4-CBB3C04" } } ], "pagination": { "page": 1, "limit": 2, "total": 7, "total_pages": 4 }, "metadata": { "total_count": 7, "tcg": 0, "cardmarket": 7, "tcg_only": 0, "cardmarket_only": 7, "both_sources": 0 } } ``` -------------------------------- ### GET /images/:id Source: https://www.pokewallet.io/api-docs Retrieve card images by card ID with an automatic fallback system. Returns binary image data (JPEG/PNG). ```APIDOC ## GET /images/:id ### Description Retrieve card images by card ID with automatic fallback system. Returns binary image data (JPEG/PNG). Supports both TCG card IDs (pk_xxx) and CardMarket-only card IDs (no prefix). ### Method GET ### Endpoint https://api.pokewallet.io/images/:id ### Parameters #### Path Parameters - **id** (string) - Required - Card ID. TCG cards use 'pk_xxx' prefix; CardMarket-only cards use a hexadecimal hash. #### Query Parameters - **size** (string) - Optional - Image size: 'low' (~500px, ~50KB) or 'high' (~1000px, ~200KB). Default: 'low'. ### Response #### Success Response (200) - **Content-Type** (header) - image/jpeg or image/png - **Body** (binary) - Binary image data ``` -------------------------------- ### GET /sets/trending Source: https://www.pokewallet.io/api-docs Returns the sets with the highest average price variation over the last 7 or 30 days, based on CardMarket moving averages. Pro plan required. ```APIDOC ## GET /sets/trending ### Description Returns the sets with the highest average price variation over the last 7 or 30 days, based on CardMarket moving averages. Each set includes the top movers. ### Method GET ### Endpoint https://api.pokewallet.io/sets/trending ### Parameters #### Query Parameters - **period** (string) - Optional - Time window: `7d` (default) or `30d` - **limit** (number) - Optional - Number of sets to return (default: 10, max: 50) ### Request Example curl -H "X-API-Key: pk_live_your_key_here" "https://api.pokewallet.io/sets/trending?period=7d&limit=5" ### Response #### Success Response (200) - **period** (string) - The time window used - **trending_sets** (array) - List of trending sets #### Response Example { "period": "7d", "trending_sets": [ { "set_name": "Miracle of the Desert", "set_code": "-4", "card_count": 46, "cardmarket": { "price_change": "+90.6%", "avg_price_current": 15.67, "avg_price_previous": 8.22, "top_movers": [ { "name": "Dusclops (ADV2 031)", "change": "+449.1%" }, { "name": "Raichu ex (ADV2 023)", "change": "+433.3%" }, { "name": "Typhlosion ex (ADV2 013)", "change": "+389.4%" } ] }, "tcgplayer": null } ] } ```