// RETAILER FEED SPECIFICATION
List your inventory with the feed you already have.
Kilo Tango indexes ammunition from licensed US retailers and ranks it by price per round. To get listed, point us at an XML product feed. There is no listing fee and no setup cost — we earn through affiliate commissions only.
// FORMAT
Sample Feed
A feed is a single XML document with a <productlist> root and one <product> element per SKU. Encode as UTF-8 and escape ampersands in values (&).
<?xml version="1.0" encoding="UTF-8"?> <productlist retailer="yoursiteURL.com"> <product> <type>ammunition</type> <title>Federal American Eagle 9mm Luger 115gr FMJ - 50 Rounds</title> <url>https://yoursite.com/product/federal-9mm-115</url> <price>12.99</price> <brand>Federal</brand> <caliber>9mm Luger</caliber> <numrounds>50</numrounds> <grains>115</grains> <bullettype>FMJ</bullettype> <casing>Brass</casing> <upc>029465063931</upc> <image>https://yoursite.com/images/federal-9mm.jpg</image> <available>yes</available> <retailer_sku>FED-AE9DP50</retailer_sku> </product> </productlist>
The retailer attribute on <productlist> should be your storefront domain. Repeat the <product> block for every SKU.
// FIELD REFERENCE
Fields
Products missing any required field are skipped — the rest of your feed still ingests normally. Recommended fields aren't enforced, but they materially improve how your listings rank and display.
Required Required
| Field | Type | Description |
|---|---|---|
type | string | ammunition. Only ammo feeds are accepted currently; products with any other type are ignored. |
title | string | Full product name including brand, caliber, grain, bullet type, and round count. |
url | URL | Direct link to the product page on your site. Must be http:// or https://. |
price | decimal | Current price in USD, numeric, no $ sign. Must be the actual selling price. |
brand | string | Manufacturer name — Federal, Hornady, Winchester, etc. |
caliber | string | Standard caliber designation — 9mm Luger, .223 Remington, .308 Winchester, etc. |
numrounds | integer | Number of rounds in the package. Drives the price-per-round ranking, so accuracy matters more here than anywhere else in the feed. |
Recommended Recommended
| Field | Type | Description |
|---|---|---|
grains | integer | Bullet weight in grains. |
bullettype | string | Bullet type abbreviation — FMJ, JHP, HP, SP, BTHP, etc. |
casing | string | Case material — Brass, Steel, Aluminum, Nickel-Plated. |
upc | string | Universal Product Code. Optional, but it's what lets us deduplicate your listing against the same SKU from other retailers. |
image | URL | URL to the product image. Listings without an image convert noticeably worse. |
available | yes / no | Stock status. Omitted means in stock, so send no explicitly for out-of-stock SKUs. |
Optional Optional
| Field | Type | Description |
|---|---|---|
retailer_sku | string | Your internal SKU. We store it as a stable product identifier, so listings survive a URL change. |
// REQUIREMENTS
Feed Requirements
- Publicly reachable over HTTP or HTTPS. Give us a stable URL we can fetch without authentication. HTTPS preferred.
- Refresh at least every 60 minutes. We poll on that cadence. A feed that goes stale gets deprioritized in results, and one that stops responding is pulled until it recovers.
- Maximum 3 variations per product. Don't list the same box at three different quantities and again as a case — pick the packagings you actually stock and list those.
- Prices in USD. Numeric only, no currency symbols or thousands separators.
- Prices must be the real selling price. Not MSRP, not a members-only rate, not a price that only appears after adding to cart. Listings that don't match the landing page get removed.
- UTF-8 encoded, well-formed XML. Escape
&,<, and>inside values. A single unescaped ampersand breaks the whole document.
// SUBMIT
Register Your Feed
Send us the URL and we'll validate it against this spec. We'll follow up within 2 business days — if something doesn't parse, we'll tell you exactly which field and why.
Feed Submission
Free to list. No setup cost, no placement fees.
Feed submitted.
Prefer email? Send your feed URL to info@kilotangousa.com.
// FAQ
Feed Questions
Can I submit my existing AmmoSeek feed?
Yes. The Kilo Tango format is compatible with the AmmoSeek XML feed specification, so you can submit the same feed URL without building anything new.
How much does it cost to list?
Nothing. There are no listing fees and no setup costs. Kilo Tango earns revenue through affiliate commissions only, and retailers cannot pay for placement — results sort by price per round.
How often do you fetch the feed?
At least every 60 minutes. Your feed should refresh on that cadence or faster so prices and stock status stay accurate.
What happens if a product is missing a required field?
That single product is skipped and the rest of the feed ingests normally. We report skipped products and the reason back to your contact email, so you can fix the source data.
What if my feed goes down?
We monitor feed health continuously. If your feed becomes unreachable or listings go stale, we email your contact address and deprioritize the affected listings until the feed recovers.
Do you accept non-ammunition products?
Not currently. Only products with a type of ammunition are ingested. Other categories are ignored, so it's fine to leave them in a shared feed.