Endpoints

All data endpoints start with /v19. They need an API key, except /v19/export, which also answers without a key on the anonymous plan (per IP). Which endpoints a key may use depends on its plan: see plans. Field meanings are in the data dictionary.

Endpoint Purpose
GET /v19/nsn/{nsn} One NSN record
GET /v19/search?q= Search NSNs by item name, NSN or part number
GET /v19/parts?partNumber= NSNs that list a manufacturer part number
GET /v19/cage/{code} One company by CAGE code
GET /v19/cage?q= Search companies by name
GET /v19/fsc/{code} One Federal Supply Class
GET /v19/inc/{code} One Item Name Code
GET /v19/export/{nsn}, POST /v19/export/batch Export screening from DEMIL / DEMILI (no key needed for one NSN)
GET /v19/weight-dims/{nsn}, POST /v19/weight-dims/batch Weight and dimensions, lb/in with kg/mm (Developer plan and above)
GET /v19/trade-codes/{nsn}, POST /v19/trade-codes/batch Schedule B and HTS codes (Developer and above)
GET /v19/repairable/{nsn}, POST /v19/repairable/batch Repairability from the Air Force ERRC (Developer and above)
GET /v19/photos/{nsn}, POST /v19/photos/batch Photos taken by NSN Lookup (Developer and above)

Public endpoints (no key): GET /health, GET /health/ready, GET /versions, GET /docs, GET /llms.txt, GET /.well-known/mcp.json.

GET /v19/nsn/

Returns the identification data for one NSN.

Parameter In Required Description
nsn path yes 13-character NSN with or without dashes, or a 9-character NIIN
include query no Comma-separated sections to add. Default references. Use all for everything, none for identification only

Sections for include:

Section FLIS segment Contents
references C Manufacturer part numbers and CAGE codes
management H Per-service management data: unit price, unit of issue, source of supply, AAC
moeRules B Which services and agencies use and manage the item
standardization E Item standardization decisions and replacement NSNs
cancellations K Cancelled or replaced NIINs
freight G Freight classification (NMFC, UFC, handling)
characteristics M Decoded item characteristics (material, dimensions, and so on)
packaging W Packaging requirements

Responses: 200 with an NSN record, 400 invalid_nsn, 400 invalid_include, 404 not_found.

Ask only for the sections you need. Smaller requests are faster.

GET /v19/search

Parameter Required Description
q yes 2 to 200 characters. Item name words (every word must match), an NSN or NIIN, or an exact part number
fsc no 4-digit Federal Supply Class to limit results
page no Page number, starting at 1. Default 1
pageSize no 1 to 25. Default 10

Returns a page of NSN summaries. Wildcards and fuzzy matching are not supported. Only the first 100 results of a search can be paged through. Each search (and each /v19/parts call) uses one of your plan's daily searches; search results do not count against the daily NSN limit.

GET /v19/parts

Parameter Required Description
partNumber yes Manufacturer part number, up to 64 characters. Dashes, slashes, spaces and letter case are ignored when matching
cage no 5-character CAGE code to limit to one manufacturer
page, pageSize no As for search

Returns a page of part matches: the NSN summary plus the reference rows that matched.

The part number is a query parameter because part numbers often contain /. URL-encode it: MS35338/44 becomes partNumber=MS35338%2F44.

GET /v19/cage/

Returns one company. 400 invalid_cage if the code is not 5 letters or digits, 404 not_found if unknown.

GET /v19/cage

Parameter Required Description
q yes Company name, or the start of it. 2 to 200 characters
page, pageSize no As for search

Returns a page of companies.

GET /v19/fsc/

Returns one FSC. The code is 4 digits.

GET /v19/inc/

Returns one INC. The code is 5 characters.

Focused sections: /v19/

{section} is export, weight-dims, trade-codes, repairable or photos.

Fields NSN Lookup does not hold are left out and named in the section's notHeld list. Export screening is a screening aid, not a license determination.

Response headers

Header Meaning
X-Api-Version The version that answered, for example 19
Cache-Control: private, no-store Responses are specific to your key. Do not store them in shared caches
Retry-After On 429 and 503: seconds to wait
Deprecation, Sunset Only on versions that are being retired. See Versioning