uline.com APIuline.com ↗
Access Uline product data, tiered pricing, and real-time stock availability via 4 endpoints. Search catalog, browse categories, and check model-level inventory.
curl -X GET 'https://api.parse.bot/scraper/7fca176c-b386-4835-b50e-c68815e86853/search_products' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products by keyword. Returns a list of categories or products depending on the query specificity.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword |
{
"type": "object",
"fields": {
"url": "string",
"title": "string",
"results": "array"
},
"sample": {
"url": "https://www.uline.com/Product/AdvSearchResult?keywords=cups",
"title": "Cups",
"results": [
{
"url": "https://www.uline.com/BL_6540/Foam-Cups",
"name": "Foam Cups",
"path": "/BL_6540/Foam-Cups"
}
]
}
}About the uline.com API
The Uline API provides 4 endpoints for extracting product data, tiered pricing, and stock availability from Uline's industrial and commercial supply catalog. The get_product_detail endpoint returns a full variant list, quantity-based pricing tiers, and a stock_status field per model number, while check_stock_availability gives boolean in_stock and ships_today indicators for rapid inventory checks without fetching the full product page.
Catalog Search and Navigation
The search_products endpoint accepts a query string and returns a list of matching categories or products depending on how specific the query is — broad terms tend to return category-level results, while specific terms surface individual product listings. Each result includes a url, title, and results array.
The get_category_products endpoint navigates Uline's three-tier category hierarchy using a path parameter that begins with /Cls_ (class), /Grp_ (group), or /BL_ (product line). Class and group paths return a subcategories array with name, path, and url fields for drilling down further. Product line paths (e.g. /BL_6540/Foam-Cups) return a products array with model_number, price, pricing_tiers, description, size, and quantity_per_case.
Product Detail and Variants
The get_product_detail endpoint takes a model_number (e.g. S-21261) and returns the full product page data: name, description, stock_status, base price, pricing_tiers as an array of strings at each quantity tier, and a variants array. Each variant object carries its own model_number, pricing_tiers, description, size, quantity_per_case, pricing_info, and price — useful when a product page lists multiple sizes or configurations.
Stock Availability
The check_stock_availability endpoint is a lightweight lookup: pass a model_number and receive in_stock (boolean), ships_today (boolean), the echoed model_number, and a raw stock_status string. This is suited for polling inventory across a set of models without pulling full product detail responses.
- Monitor real-time stock and ships-today status for Uline models used in warehouse replenishment workflows.
- Extract quantity-based pricing tiers from
get_product_detailto build cost comparison tools for bulk purchasing decisions. - Crawl Uline's category hierarchy with
get_category_productsto build a structured product taxonomy for procurement databases. - Search by keyword with
search_productsto map Uline catalog coverage for a given product type before committing to a supplier. - Pull variant listings from
get_product_detailto compare sizes and configurations of a product line in a single request. - Track price changes across multiple model numbers over time by scheduling periodic calls to
get_product_detail. - Populate a B2B purchasing portal with live Uline pricing and availability data keyed to specific model numbers.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Uline offer an official developer API?+
What does `get_product_detail` return that `check_stock_availability` does not?+
get_product_detail returns the full product context: name, description, pricing_tiers, and a variants array with per-variant pricing and size fields. check_stock_availability returns only in_stock, ships_today, model_number, and the raw stock_status string — no pricing or variant data. Use the stock endpoint when you only need inventory status and want to avoid the overhead of a full product response.How does `get_category_products` behave differently depending on the path prefix?+
/Cls_ or /Grp_ return a subcategories array for further navigation; no product listings are returned at those levels. Paths starting with /BL_ represent product lines and return a products array with pricing and size data. Passing the wrong path type for your intent will return the other structure.