Back to API Overview

Web Hosting & POS Provider API

For web hosting platforms and POS systems managing multiple dealers

2-Step Integration JSON & XML Multi-Dealer

Quick Start Checklist

  1. 1 Provide a list of all active dealers in your network
  2. 2 Include store locations for each dealer (enables local search)
  3. 3 Supply product inventory for each dealer (queryable by dealerId or domain)
  4. 4 Dealers not found in the active list will be removed from listings

Overview

This API is designed for web hosting platforms and Point of Sale (POS) systems that manage inventory feeds for multiple firearm dealers. The integration follows a two-step process: first, provide a list of active dealers, then provide items for each dealer.

How It Works

  • Provide a list of all active dealers in your network
  • Supply product inventory for each active dealer (queryable by dealerId or domain)
  • Dealers not found in the active list will be considered inactive and removed from listings
  • Supports both JSON and XML formats

Step 1: List of Active Dealers

This feed should include only active dealers. Dealers not found in this list will be considered Inactive and deleted from our listings.

Each dealer must have a unique dealerId and domainName. Store locations are optional but recommended for local search functionality.

FieldTypeRequiredDescription
dealerIdstringYesUnique identifier for the dealer in your system
domainNamestringYesDealer's website domain (e.g., exampledealer.com)
storeLocationsarrayNoArray of physical store locations for this dealer
storeLocations.storeIdstringYesUnique identifier for the store location
storeLocations.storeNamestringYesStore display name
storeLocations.streetstringYesStreet address
storeLocations.citystringYesCity name
storeLocations.statestringYesState abbreviation (e.g., "TX")
storeLocations.zipstringYesZIP code
storeLocations.phonestringNoStore phone number
Active Dealers Example
{
  "dealers": [
    {
      "dealerId": "12345",
      "domainName": "exampledealer.com",
      "storeLocations": [
        {
          "storeId": "001",
          "storeName": "Bill's Gun Shop",
          "street": "123 Main Street",
          "city": "Townsville",
          "state": "TX",
          "zip": "12345",
          "phone": "1234567891"
        },
        {
          "storeId": "002",
          "storeName": "Bill's Gun Shop",
          "street": "456 Side Street",
          "city": "Villagetown",
          "state": "AL",
          "zip": "67890",
          "phone": "1234567891"
        }
      ]
    },
    {
      "dealerId": "67890",
      "domainName": "smithsoutdoors.com",
      "storeLocations": [
        {
          "storeId": "001",
          "storeName": "Smith's Outdoor Sports",
          "street": "555 Hunter Lane",
          "city": "Springfield",
          "state": "MO",
          "zip": "65801",
          "phone": "4175550123"
        },
        {
          "storeId": "002",
          "storeName": "Smith's Outdoor Sports",
          "street": "789 Sportsman Way",
          "city": "Branson",
          "state": "MO",
          "zip": "65616",
          "phone": "4175550124"
        }
      ]
    }
  ]
}

Step 2: Get Items for Each Active Dealer

For each dealer in your active dealers list, provide their product inventory. We can send dealerId or domain as a query parameter if necessary.

Product Field Reference

See the Product Reference for valid category values, ammo fields, and reloading fields.

Query Parameters

  • dealerId - Query items by dealer ID (e.g., ?dealerId=12345)
  • domain - Query items by domain (e.g., ?domain=exampledealer.com)

Products should include location-specific pricing and availability when dealers have multiple stores.

FieldTypeRequiredDescription
titlestringYesProduct title/name
urlstringYesURL to product page on dealer site
imageUrlstringNoURL to product image
departmentNamestringYesDepartment (Firearms, Ammunition, etc.)
categoryNamestringYesCategory within department
subcategoryNamestringNoSubcategory (if applicable)
manufacturerNamestringYesManufacturer/brand name
modelstringNoModel name/number
upcstringYesUniversal Product Code
mfgNumberstringNoManufacturer part number
locationsarrayYesPer-store pricing and availability
locations.storeIdstringYesLinks to storeId in Active Dealers feed
locations.pricenumberYesCurrent selling price at this location
locations.inStockbooleanYesWhether item is currently available
locations.inStorebooleanYesWhether item is on the shelf at this location
locations.eligibleForFinancingbooleanNoQualifies for financing options
locations.conditionstringYesItem condition (new, used, refurbished)
locations.shippingInfostringNoShipping cost or policy
attributesarrayNoProduct attributes (caliber, capacity, etc.)
hideFFLAddressbooleanNoHide dealer from local search results
Dealer Items Example
{
  "products": [
    {
      "title": "GLOCK 19x Semi-Auto Pistol with Coyote Finish",
      "url": "https://examplegundealer.com/glock/19x",
      "imageUrl": "https://examplegundealer.com/images/19x.webp",
      "departmentName": "Firearms",
      "categoryName": "Pistols",
      "subcategoryName": "Semi-Automatic",
      "manufacturerName": "Glock",
      "model": "19x",
      "upc": "123456789012",
      "mfgNumber": "MFG123456",
      "locations": [
        {
          "storeId": "001",
          "price": 599.99,
          "inStock": true,
          "inStore": false,
          "eligibleForFinancing": true,
          "condition": "new",
          "shippingInfo": "19.99 over 500 ships free"
        },
        {
          "storeId": "002",
          "price": 589.99,
          "inStock": true,
          "inStore": true,
          "eligibleForFinancing": true,
          "condition": "new",
          "shippingInfo": "19.99 over 500 ships free"
        }
      ],
      "attributes": [
        {
          "attributeName": "Caliber",
          "attributeValue": "9MM"
        },
        {
          "attributeName": "Capacity",
          "attributeValue": "17"
        }
      ],
      "hideFFLAddress": false
    }
  ]
}

Additional Documentation

Contact Us

Finished with your feed? Have questions about integration?

dealers@gunmade.com

Join the Gun Made Newsletter

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

No spam. Unsubscribe anytime.