Discover/Uline API
live

Uline APIuline.com

Access Uline's full product catalog via API. Search by keyword, browse categories, retrieve model details, and check real-time stock availability across industrial supplies.

Endpoint health
verified 6d ago
search_products
get_category_products
check_stock_availability
get_product_detail
4/4 passing latest checkself-healing
Endpoints
4
Updated
21d ago

What is the Uline API?

The Uline API provides 4 endpoints for accessing product data, pricing tiers, and stock availability from Uline's industrial and commercial supplies catalog. The get_product_detail endpoint returns full variant listings, tiered pricing arrays, and live stock status for any Uline model number. Category browsing and keyword search round out the coverage, letting you navigate from broad category hierarchies down to specific SKUs.

Try it
Search keyword (e.g. 'tape', 'foam cups', 'boxes')
api.parse.bot/scraper/7fca176c-b386-4835-b50e-c68815e86853/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/7fca176c-b386-4835-b50e-c68815e86853/search_products?query=tape' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace uline-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.uline_product_inventory_api import Uline, Product, ProductVariant, StockStatus, CategoryPage, SearchResult, ProductNotFound

uline = Uline()

# Search for products by keyword
results = uline.products.search(query="foam cups")
print(results.title, results.url)

# Browse a category to see available product lines
category = uline.products.browse(path="/Grp_320/Cups")
print(category.title)
for subcat in category.subcategories:
    print(subcat.name, subcat.path)

# Get full details for a specific product by model number
product = uline.products.get(model_number="S-21261")
print(product.name, product.price, product.stock_status)

for variant in product.variants:
    print(variant.model_number, variant.size, variant.quantity_per_case, variant.price)

# Check stock availability using the instance method
stock = product.check_stock()
print(stock.in_stock, stock.ships_today, stock.stock_status)
All endpoints · 4 totalmissing one? ·

Search for products by keyword. Returns categories or product listings depending on query specificity. A broad query like 'tape' returns subcategory navigation links; a specific query like 'foam cups' returns individual product models with pricing. The site redirects to the most relevant category or product line page for the query.

Input
ParamTypeDescription
queryrequiredstringSearch keyword (e.g. 'tape', 'foam cups', 'boxes')
Response
{
  "type": "object",
  "fields": {
    "url": "string, the final URL after redirect",
    "title": "string, page heading",
    "results": "array of result objects; each has name/path/url for categories, or model_number/price/description/size/quantity_per_case/pricing_tiers/pricing_info for products"
  },
  "sample": {
    "data": {
      "url": "https://www.uline.com/Cls_02/Tape?keywords=tape&SearchKeyword=tape",
      "title": "Tape",
      "results": [
        {
          "url": "https://www.uline.com/Grp_168/Carton-Sealing-Tape",
          "name": "Carton Sealing Tape",
          "path": "/Grp_168/Carton-Sealing-Tape"
        },
        {
          "url": "https://www.uline.com/Grp_110/Masking-Tape",
          "name": "Masking Tape",
          "path": "/Grp_110/Masking-Tape"
        }
      ]
    },
    "status": "success"
  }
}

About the Uline API

Search and Category Navigation

The search_products endpoint accepts a query string and returns different result shapes depending on specificity. A broad term like tape yields subcategory navigation objects with name, path, and url fields. A more specific query like foam cups returns individual product listings including model_number, price, description, size, quantity_per_case, and pricing_tiers. The endpoint also returns the url of the final page after any redirect, which you can use to determine whether the query resolved to a product line or a category.

get_category_products accepts a path parameter in one of three formats — /Cls_ for class pages, /Grp_ for group pages, or /BL_ for specific product lines. Class and group paths return a subcategories array for drilling deeper into the hierarchy. Product line paths (e.g. /BL_6540/Foam-Cups) return a products array with per-model pricing_tiers, size, quantity_per_case, and an optional description for the product line.

Product Detail and Stock Checks

get_product_detail takes a model_number (e.g. S-21261) and returns the full product page data: name, description, stock_status, pricing_tiers, and a variants array. Each variant includes its own model_number, description, size, quantity_per_case, price, and pricing_tiers, making it straightforward to compare sizes or configurations within a product family.

check_stock_availability accepts a model_number and returns three fields: in_stock (boolean), ships_today (boolean), and the raw stock_status string directly from the product page. This is useful for lightweight inventory polling without fetching the full product detail payload.

Reliability & maintenanceVerified

The Uline API is a managed, monitored endpoint for uline.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when uline.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official uline.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor tiered pricing changes for specific Uline model numbers across multiple quantity breakpoints.
  • Build a procurement tool that checks in_stock and ships_today before submitting purchase orders.
  • Sync a warehouse supplies catalog by crawling category paths from /Cls_ down through /Grp_ to /BL_ product lines.
  • Compare pricing_tiers across product variants returned by get_product_detail to identify bulk purchase thresholds.
  • Alert operations teams when stock_status changes from in-stock to out-of-stock for frequently ordered SKUs.
  • Populate an internal product database with Uline model_number, size, quantity_per_case, and description fields for commonly used supplies.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Uline have an official developer API?+
Uline does not offer a public developer API. There is no documented REST or GraphQL interface available to third-party developers on their site.
What does `search_products` return when the query is broad versus specific?+
The response shape depends on how Uline resolves the query. A broad term like 'tape' returns subcategory navigation objects with name, path, and url. A specific term like 'foam cups' returns product listings with model_number, price, pricing_tiers, size, and quantity_per_case. The url field in the response indicates which page the query resolved to, which helps you determine which shape to expect.
Does the API return customer reviews or product ratings for Uline items?+
Not currently. The API covers product specifications, pricing tiers, stock status, and category navigation. Reviews and ratings are not included in any endpoint response. You can fork the API on Parse and revise it to add an endpoint targeting product review data.
Are there any limitations on what `get_product_detail` exposes compared to a product page?+
The endpoint returns all variant data, pricing tiers, and stock status visible on a standard product page. It does not expose account-specific contract pricing or login-gated bulk quotes, as those require authenticated Uline account sessions that are not part of the public product page.
Does the API support retrieving order history or account information?+
Not currently. The API covers catalog data: product search, category browsing, model detail, and stock availability. Account-level data such as order history, saved lists, or contract pricing is not exposed. You can fork the API on Parse and revise it to target any additional product page sections that are publicly accessible.
Page content last updated . Spec covers 4 endpoints from uline.com.
Related APIs in EcommerceSee all →
ulta.com API
Search and browse Ulta Beauty's complete product catalog with real-time pricing and inventory information, then dive into detailed product specs including ingredients, usage instructions, and customer reviews. Find exactly what you're looking for across all beauty categories with comprehensive product data at your fingertips.
urbanoutfitters.com API
Search Urban Outfitters' catalog to find products and browse categories, then view detailed information including prices, descriptions, color and size availability for each item. Check current sale counts and discover what's trending across the store's product lineup.
lowes.com API
Search and browse products from Lowe's, including product listings by category, detailed product information, and pricing. Retrieve comprehensive details on specific items to compare options and make informed purchasing decisions.
cityelectricsupply.com API
Search and browse City Electric Supply's product catalog across categories, view detailed product information with localized pricing and inventory based on a ZIP code, and manage a shopping cart. Access product details and real-time stock availability for any area.
grainger.com API
grainger.com API
homedepot.com API
Search and browse Home Depot's product catalog to compare pricing, check real-time availability, and review detailed product specifications. Find products across all categories, look up store locations and hours, and check fulfillment options including in-store pickup and delivery.
uniqlo.com API
Search Uniqlo's US store catalog for clothing and accessories, view detailed product information, and explore available categories to find exactly what you're looking for. Browse the full range of Uniqlo's offerings right from your app or service without visiting the website.
jula.fi API
Search and browse products from Jula.fi to find hardware items with detailed information including prices (with and without VAT), stock availability, brand details, and product SKUs. Explore products by category or search for specific items to compare pricing and check real-time stock status.