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
| Endpoint | Returns |
|---|---|
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/fsc | Every 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/decode | Decodes 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/status | Current 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.