Back to API Overview

Multi File Feed

For dealers with 10+ locations

3 Files JSON / XML / CSV Optimized Updates

Quick Start Checklist

  1. 1 Create 3 separate files: Stores, Products, and Inventory
  2. 2 Host files at URL endpoints or provide SFTP credentials
  3. 3 Link products to stores using storeId, link inventory to products using productId
  4. 4 We fetch each file on its optimized schedule (daily, 6hrs, 15min)

This feed option is ideal for companies with 10+ stores nationwide. The data is divided into three files to minimize repetition and allow for quick updates on only necessary fields.

The 3 Files

Store Locations

Daily

Store location data changes infrequently

Product Information

Every 6 hours

Product catalog updates (new items, descriptions)

Product Inventory

Every 15 minutes

Pricing and stock levels updated frequently

How the Files Link Together:

stores.json
storeId: "001"
products.csv
productId: "abc123"
inventory.csv
productId + storeId

Store Location File

Imported daily

This file contains a list of all store locations and their unique store IDs. Each store ID will be referenced in the product inventory file to specify pricing, quantity, and in-store availability for products at that specific location.

FieldTypeRequiredDescription
storeIdstringYesUnique identifier for the store location
storeNamestringYesStore display name
streetstringYesStreet address
citystringYesCity name
statestringYesState abbreviation (e.g., "TX")
zipstringYesZIP code
phonestringNoStore phone number
JSON Example
{
  "storeLocations": [
    {
      "storeId": "001",
      "storeName": "Bill's Gun Shop",
      "street": "123 Main Street",
      "city": "Townsville",
      "state": "TX",
      "zip": "12345",
      "phone": "123456791"
    },
    {
      "storeId": "002",
      "storeName": "Bill's Gun Shop",
      "street": "456 Side Street",
      "city": "Villagetown",
      "state": "AL",
      "zip": "67890",
      "phone": "123456791"
    },
    {
      "storeId": "003",
      "storeName": "Bill's Gun Shop #2",
      "street": "789 Circle Ave",
      "city": "Cityplace",
      "state": "IL",
      "zip": "11223",
      "phone": "123456791"
    }
  ]
}

Product Information File

Imported every 6 hours

This file is a catalog of all possible items. It does not contain pricing or quantity information. The productId is essential for associating products with inventory.

Need help with product fields?

See the Product Reference for valid category values. Selling ammunition? See Ammo Fields. Selling reloading supplies? See Reloading Fields.

FieldTypeRequiredDescription
titlestringYesProduct title/name
productIdstringYesUnique identifier (links to inventory file)
urlstringYesURL to product page on your site
imageUrlstringNoURL to product image
departmentNamestringYesDepartment (Firearms, Ammunition, etc.)
categoryNamestringYesCategory within department
subcategoryNamestringNoSubcategory (if applicable)
manufacturerNamestringYesManufacturer/brand name
modelstringNoModel name/number
upcstringYesUniversal Product Code
attributeNamestringNoAttribute name (caliber, barrel length, color, etc.)
attributeValuestringNoAttribute value
mfgNumberstringNoManufacturer part number
JSON Example
{
  "products": [
    {
      "title": "GLOCK 19x Semi-Auto Pistol with Coyote Finish",
      "productId": "6e1f9ccd-36cb-4c41-a3cc-9a44d3544c9c",
      "url": "https://examplegundealer.com/glock/19x",
      "imageUrl": "https://examplegundealer.com/images/19x.webp",
      "departmentName": "Firearms",
      "categoryName": "Pistol",
      "subcategoryName": "Semi-Automatic",
      "manufacturerName": "Glock",
      "model": "19x",
      "upc": "123456789012",
      "mfgNumber": "MFG123456",
      "attributes": [
        { "attributeName": "Caliber", "attributeValue": "9MM" },
        { "attributeName": "Barrel Length", "attributeValue": "4\"" }
      ]
    }
  ]
}

Product Inventory File

Imported every 15 minutes

This file lists individual items for sale per store, including pricing and in-stock information. It should be updated every 15 minutes if possible.

FieldTypeRequiredDescription
productIdstringYesLinks to productId in Product Information file
storeIdstringYesLinks to storeId in Store Locations file
conditionstringYesItem condition (new, used, refurbished)
inStockbooleanYesWhether item is currently available
inStorebooleanYesWhether item is on the shelf at this location
pricenumberYesCurrent selling price
pricedBelowMAPbooleanNoPrice is below MAP (displays as "MAP")
addToCartForPricebooleanNoMust add to cart to see price
emailForPricebooleanNoMust email for price
shippingInfostringNoShipping cost or policy
eligibleForFinancingbooleanNoQualifies for financing options
JSON Example
{
  "inventory": [
    {
      "productId": "6e1f9ccd-36cb-4c41-a3cc-9a44d3544c9c",
      "storeId": "001",
      "condition": "new",
      "inStock": true,
      "inStore": false,
      "price": 599.99,
      "pricedBelowMAP": true,
      "addToCartForPrice": true,
      "emailForPrice": false,
      "shippingInfo": "19.99 over 500 ships free",
      "eligibleForFinancing": true
    },
    {
      "productId": "6e1f9ccd-36cb-4c41-a3cc-9a44d3544c9c",
      "storeId": "002",
      "condition": "new",
      "inStock": true,
      "inStore": true,
      "price": 599.99,
      "pricedBelowMAP": false,
      "addToCartForPrice": false,
      "emailForPrice": false,
      "shippingInfo": "Free shipping",
      "eligibleForFinancing": true
    }
  ]
}

Additional Documentation

Need Help?

Questions about your feed integration?

Contact Us

Join the Gun Made Newsletter

Never miss a deal or giveaway. Get weekly price drops, exclusive coupons, and 2A news.

No spam. Unsubscribe anytime.