For developers

NSN Index API

Bring NSN, part number, CAGE, supply class and packaging code data into your own applications through a read-only JSON API. Data is refreshed monthly from DLA's public PUB LOG release.

Getting access

The API requires a key. To request one, email info@alineds.com with your company, use case and expected request volume. Pilot keys allow 5,000 requests a day.

Authentication

Send your key in the X-API-Key header on every request:

curl -H "X-API-Key: YOUR_KEY" https://nsnindex.com/api/v1/nsn/5305-01-441-9789

Keep keys on your servers. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining (requests left today, reset at 00:00 UTC) and X-Data-Month. Bursts above the per-minute limit return 429 with Retry-After.

Endpoints

EndpointReturns
GET /api/v1/nsn/{nsn or niin}The full PUB LOG record: identification, management, part numbers with CAGE names, characteristics, freight, packaging (with decoded codes), history and replacement NSNs.
/api/v1/nsn/5305-01-441-9789
GET /api/v1/search?q=NSN or NIIN match, CAGE match, part numbers starting with the query, item names and companies. limit up to 50.
/api/v1/search?q=MS35206
GET /api/v1/parts/{part number}Exact part number matches (dashes, slashes and spaces ignored), with NSN and CAGE.
/api/v1/parts/MS35206-245
GET /api/v1/cage/{cage}?page=CAGE name and address, and its part numbers, 100 per page.
/api/v1/cage/96906
GET /api/v1/fscEvery Federal Supply Group and Class with NSN counts.
GET /api/v1/fsc/{fsc}?page=NSNs in a supply class, 100 per page.
/api/v1/fsc/5305
GET /api/v1/item-names/{inc}?page=NSNs with an item name code, 100 per page.
GET /api/v1/packaging/decodeDecodes MIL-STD-2073-1E codes given as parameters (mop, clean, pres, wrap, cush, thk, unit, inter, icq, qup, ucl, mark, lvla, lvlb, lvlc, opi) or pasted text as s.
/api/v1/packaging/decode?mop=41&unit=BS&lvla=C
GET /api/v1/packaging/codes/{table}MIL-STD-2073-1E code tables, all or one (mop, cont, mark and so on).
/api/v1/packaging/codes/cont
GET /api/v1/statusCurrent data month. No key needed.

The full machine-readable description is at /api/v1/openapi.json (OpenAPI 3); import it into Postman or a client generator.

Errors

Errors return JSON {"error": {"status", "code", "message"}} with 400 (bad input), 401 (missing or invalid key), 404 (not found), 405 (not GET) or 429 (rate or daily limit).

Terms

Source data is DLA's public PUB LOG release; NSN Index is not affiliated with DLA and the data is provided as-is. Keys are for the holder's own applications: don't share keys or resell the data as a competing catalog or API. Product photos shown on the website are not part of the API.