# Surplus Inventory (surplusinv.com) > Online marketplace for industrial surplus parts (PLCs, drives, modules, and > more). Anyone can search active listings by manufacturer and part number. This > file tells AI agents how to query the catalog programmatically. ## Query the inventory (public JSON API) No API key required. Open and read-only, rate limited to 60 requests/minute per IP. All responses are JSON. ### Search listings `GET https://www.surplusinv.com/api/v1/parts` Query parameters (all optional): - `mfg` — manufacturer. Prefix match by default; wrap in `*` for a substring match (e.g. `*bradley*`). - `partnum` — part number. Same prefix/`*`-substring rules as `mfg`. - `category` — exact category match. - `q` — full-text search across description, notes, manufacturer, part number, category, and location. - `page` — 1-based page number (default 1). - `limit` — results per page, 1–100 (default 25). Response: ```json { "data": [ { "id": "uuid", "mfg": "Allen-Bradley", "partnum": "1756-IB16", "description": "16-point 24VDC sinking digital input module", "qty": "5", "price": "425.00", "condition": "NEW", "category": "PLC", "location": "Aisle 3, Shelf B", "imageUrl": "https://.../1756-ib16.jpg", "externalUrl": null, "listingActive": true, "featured": false, "createdAt": "2026-01-01T00:00:00.000Z", "updatedAt": "2026-01-01T00:00:00.000Z", "productUrl": "https://www.surplusinv.com/product/uuid" } ], "page": 1, "itemsPerPage": 25, "totalCount": 1, "totalPages": 1 } ``` `condition` is one of: `NEW`, `NEW_OLD_STOCK`, `USED`, `REFURB`, `FOR_PARTS`, `OPEN_BOX`, or `null`. ### Look up a single listing `GET https://www.surplusinv.com/api/v1/parts/{idOrPartnum}` Accepts a listing UUID or a part number. Returns a single object in the same shape as an item in `data` above, or `404` if no active listing matches. ### Facets - `GET https://www.surplusinv.com/api/v1/manufacturers` — `{ "data": string[] }`; optional `?category=`. - `GET https://www.surplusinv.com/api/v1/categories` — `{ "data": string[] }`; optional `?manufacturer=`. ### Examples ``` GET https://www.surplusinv.com/api/v1/parts?mfg=Allen-Bradley&partnum=1756-IB16 GET https://www.surplusinv.com/api/v1/parts?q=PLC&limit=5 GET https://www.surplusinv.com/api/v1/parts/1756-IB16 ``` ## Getting seller contact info Seller contact details (name, email, phone) are intentionally NOT returned by the API. To reach a seller, open the listing's `productUrl` (`https://www.surplusinv.com/product/{id}`) and use the contact-reveal flow there. ## Key pages - Home: https://www.surplusinv.com/ - Search UI: https://www.surplusinv.com/search - Sitemap (all listings): https://www.surplusinv.com/sitemap.xml - About: https://www.surplusinv.com/about