Coupon Data JSON Structure - Wildfire Support Center
Coupon Data JSON Structure
Introduction Introduction
This document provides an overview of the JSON structure used to store coupon data for various merchant websites. The JSON file contains information about coupon codes and CSS selectors used for auto-applying coupons on specific merchant websites.
Usage Usage
The JSON data is used to facilitate Wildfire Partners to deliver custom coupon codes to our extensions. The extension will retrieve this data on a regular cadence in order to include your custom coupon codes and targets into your extension. The Codes section provides a list of available coupon codes, while the Targets section provides CSS selectors for automating coupon application on websites that are not yet supported.
Wildfire Coupon Data JSON Feed: Wildfire Coupon Data JSON Feed:
Available coupon data is located at the Wildfire Coupon JSON feed: https://www.wildlink.me/data/APPLICATION_ID/coupon/VERSION
Ensure APPLICATION_ID is your application ID & VERSION is the version of the feeds you wish to invoke. This data feed includes coupon codes and promotions for many of our merchant partners.
Expected Fields: Expected Fields:
ID and Merchant ID: ID is the unique identifier for the coupon or promotion, and the Merchant ID is the associated merchant reference for the coupon/promo.
Description: Contains details about the offer or promotion. In some cases, the coupon code may also appear in this field. Some merchants do not provide structured or consistent descriptions, especially for coupon-based offers.
For Wildfire-built products: Wildfire handles this on behalf of our partners.
For partner-built products: partners may need to normalize or clean up descriptions before displaying them in the UI.
Code: When provided, this field contains the coupon code entered at checkout to apply the discount.
Note: This field may sometimes be blank or show null.
For Wildfire-built products: Wildfire handles this on behalf of our partners.
For Partner-built products: Use the table below to determine how to interpret offer data
| Scenario | Code Field | Description Field | Action Required |
|---|---|---|---|
| Code only in description | Blank or null | Contains code | Extract code from description |
| Code in both fields | Contains code | Contains code | Use Code Field (preferred source) |
| No code provided | Blank or null | No code listed | No code required; discount applies automatically (e.g., free shipping or sitewide sale) |
- Countries: List of country codes where the merchant indicates the coupon can be used.
May include "International"
May be null if not specified
Important Notes:
The Wildfire coupon feed is not filtered by country
The JSON feed does not include a direct coupon-to-country relationship
For Wildfire-built products: Wildfire manages country filtering
For Partner-built products: Partners must control which coupons are displayed by country
Languages: While Network Merchants sets the applicable countries for offer codes, they can still pass coupons available for that country in different languages. For partner-built products, partners must manage the display of applicable language.
i.e: A network merchant can pass US coupons & promos, but that does not mean eligible coupons are exclusively in English. The eligible US coupons can be in French or Spanish, etc.
Exclusions: Some merchants explicitly list restrictions or exclusions (e.g., brands, categories, regions). More commonly, eligibility details are included within the Description field.
Start Date / End Date: Defines when the coupon is valid.
May include future start dates (“coming soon” promotions)
May include expired promotions
Some merchants use very long end dates (e.g., year 3000) to indicate no expirationFor Wildfire-built products: Wildfire manages validity filtering
For Partner-built products: Partners must display only currently valid coupon
Feed Regeneration Cadence: Wildfire regenerates coupon data approximately every 6 hours. Plan caching and refresh logic accordingly to ensure accurate and timely offers.
JSON Structure JSON Structure
The JSON file is organized into an object where each key represents a merchant website's domain name. The structure consists of two primary sections:
Codes: This section contains an array of coupon codes associated with the merchant website.
Targets (optional): This section contains an array of CSS selectors that are used to automatically apply coupons on the merchant website. The targets object is only needed if wildfire doesn’t already support this domain and auto coupon application is desired.
Example Example
Below is an example of the JSON structure:
{
"merchant_domain_1.com": {
"Codes": [
{"ID": 1, "Code": "SAVE15"},
{"ID": 2, "Code": "FREESHIP"},
{"ID": 3, "Code": "25OFF"}
],
"Targets": [
{
"Input": "#coupon-input",
"Price": ".total-price",
"Submit": ".apply-button",
"Remove": ".remove-button",
"Error": ".error-message",
"Before": ".before-coupon-action"
}
]
},
"merchant_domain_2.com": {
"Codes": [
{"ID": 4, "Code": "DISCOUNT4"},
{"ID": 5, "Code": "SAVINGS5"}
]
}
// Additional merchant domains...
}
Code Section Code Section
The Codes section for each merchant domain contains an array of coupon objects. Each coupon object consists of:
- ID: A unique identifier for the coupon.
- Code: The actual coupon code.
Targets Section Targets Section
The Targets section for each merchant domain contains an array of target objects. Each target object consists of CSS selectors used for specific actions:
- Input: The selector for the coupon input field (i.e. a text input element).
- Price: The selector for the price or total amount on the webpage. Note: this should be the total including the tax and shipping as some coupons will result in free shipping.
- Submit: The selector for the submit button to apply the coupon.
- Remove: The selector for the remove or cancel button to remove the coupon (if present, some merchants don’t include this functionality, in which case this value should remain empty).
- Error: The selector for any error messages that may appear (i.e. to describe a code as invalid for the contents of a specific shopping cart).
- Before: This is an optional selector for when the user must interact with an element to make the coupon input field visible.
Note Note
- This JSON structure is adaptable and can be extended to accommodate additional merchant domains as needed.
- It is essential to keep this JSON file updated with the latest coupon codes and target selectors to ensure proper functionality across various merchant websites.
Summary Summary
Wildfire's coupon data feed is raw data and may contain expected anomalies. This raw data provides all Wildfire partners with the maximum number of savings opportunities to present to their users. For Wildfire-built products, these nuances are handled on behalf of our partners.
For partner-built products, partners must manage the following:
- Extract specific coupon code patterns from descriptions
- Refine dates shown to users; Specifically for the no-expiration date codes and promos
- Handling Countries; Specifically, the translation of eligible coupons from non-official languages to the official language, if desired.
Updated 16 Jun 2026