Uline Product Catalog Scraper avatar

Uline Product Catalog Scraper

Pricing

Pay per event

Go to Apify Store
Uline Product Catalog Scraper

Uline Product Catalog Scraper

Scrape public Uline catalog products, SKUs, prices, pack data, image URLs, and product links for procurement and ecommerce monitoring.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Scrape public Uline catalog pages for product SKUs, names, prices, quantity price breaks, dimensions, product URLs, images, and visible availability signals.

What does Uline Product Catalog Scraper do?

Uline Product Catalog Scraper turns public Uline catalog and product pages into structured rows you can export to JSON, CSV, Excel, Google Sheets, or any Apify integration.

It is designed for procurement, sourcing, ecommerce, and catalog-monitoring workflows that need repeatable access to public Uline product data.

Who is it for?

  • 🧾 Procurement teams monitoring industrial supply prices
  • 📦 Ecommerce analysts comparing packaging and shipping supply catalogs
  • 🏷️ Pricing teams tracking SKU-level price changes
  • 🧰 Operations teams building internal supplier reference tables
  • 📊 Data teams feeding BI dashboards with public catalog data

Why scrape Uline catalog data?

Uline is a large industrial and shipping supply catalog. Manual copy/paste from product tables is slow, error-prone, and hard to repeat.

This actor helps you collect public catalog rows in a consistent schema so you can compare SKUs, track pricing, and monitor supplier pages over time.

What data can you extract?

FieldDescription
skuUline item number
nameProduct name or description
categoryVisible Uline category
breadcrumbsPage breadcrumb/category labels
productUrlProduct detail URL
imageUrlProduct image URL
priceVisible unit/lowest price
priceBreaksQuantity price tiers
dimensionsSize or option text
attributesExtra visible specs/options
packQuantityPack, bundle, bale, or quantity text when visible
weightWeight text when visible
availabilityPublic availability signal when visible
descriptionPage/product meta description
sourceUrlInput URL where the row was found
scrapedAtTimestamp of extraction

How much does it cost to scrape Uline products?

This actor uses pay-per-event pricing.

  • A $0.005 start fee is charged once per run.
  • A product-row event is charged for each saved Uline product row.
  • Formula-derived BRONZE price with platform minimum floor: $0.00004 per product row (about $0.04 per 1,000 rows), with higher-tier discounts.
  • FREE tier product-row price: $0.000046 per row.
  • You can control cost with maxItems and maxPages.

For a quick first test, keep the default input and maxItems at 20.

How to use it

  1. Open the actor on Apify.
  2. Paste one or more public Uline URLs in Uline start URLs.
  3. Set Maximum products to the number of rows you need.
  4. Keep proxy disabled unless your network is blocked.
  5. Click Start.
  6. Download results from the dataset as JSON, CSV, Excel, or via API.

Supported Uline URLs

The scraper is built for public Uline pages such as:

  • Guided navigation pages, for example /Product/GuidedNav?t=184360&dup=title
  • Product detail pages, for example /Product/Detail/S-13287/...
  • Category-style pages that render product tables in the initial HTML

Input example

{
"startUrls": [
{ "url": "https://www.uline.com/Product/GuidedNav?t=184360&dup=title" }
],
"maxItems": 50,
"maxPages": 1,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Output example

{
"sku": "S-13287",
"name": "3 x 3 x 3\" Corrugated Boxes",
"category": "Boxes, Corrugated",
"breadcrumbs": ["Corrugated Boxes"],
"productUrl": "https://www.uline.com/Product/Detail/S-13287/Corrugated-Boxes-200-Test/3-x-3-x-3-Corrugated-Boxes",
"imageUrl": "https://img.uline.com/is/image/uline/S-13287?$Browse$",
"price": 0.37,
"currency": "USD",
"priceBreaks": [
{ "quantity": "25", "price": 0.37 },
{ "quantity": "100", "price": 0.36 }
],
"dimensions": "3 x 3 x 3\"",
"attributes": ["200 lb. Test"],
"availability": "In stock / ships today shown on page",
"sourceUrl": "https://www.uline.com/Product/GuidedNav?t=184360&dup=title",
"scrapedAt": "2026-06-16T00:00:00.000Z"
}

Tips for better results

  • Use public Uline catalog URLs that show product tables.
  • Start with a low maxItems value when testing a new page.
  • Use product detail URLs when you need richer description/specification text.
  • Use guided navigation URLs when you need many SKUs from a category table.
  • Re-run the same URL on a schedule to monitor price changes.

Common procurement workflows

  • 📉 Track price changes for packaging SKUs.
  • 📦 Build a reference database of carton and shipping supply dimensions.
  • 🧾 Compare supplier catalog prices for recurring purchases.
  • 🔔 Trigger alerts when a key product page changes.
  • 📊 Feed public catalog rows into BI dashboards.

Integrations

You can connect the dataset to:

  • Google Sheets for shared category monitoring
  • Make or Zapier for SKU change alerts
  • Snowflake, BigQuery, or S3 for data warehouse pipelines
  • Apify API for scheduled internal procurement jobs
  • Webhooks for downstream notifications after each run

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/uline-product-catalog-scraper').call({
startUrls: [{ url: 'https://www.uline.com/Product/GuidedNav?t=184360&dup=title' }],
maxItems: 50,
maxPages: 1,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/uline-product-catalog-scraper').call(run_input={
'startUrls': [{'url': 'https://www.uline.com/Product/GuidedNav?t=184360&dup=title'}],
'maxItems': 50,
'maxPages': 1,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

API usage with cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~uline-product-catalog-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"startUrls": [{"url": "https://www.uline.com/Product/GuidedNav?t=184360&dup=title"}],
"maxItems": 50,
"maxPages": 1
}'

Use with AI agents via MCP

Uline Product Catalog Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).

Add the Apify MCP server to your AI client with this actor selected.

Setup for Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/uline-product-catalog-scraper"

Setup for Claude Desktop, Cursor, or VS Code

Add this to your MCP config file:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/uline-product-catalog-scraper"
}
}
}

Your AI assistant will use OAuth to authenticate with your Apify account on first use.

Example MCP prompts

Once connected, try asking your AI assistant:

  • "Run automation-lab/uline-product-catalog-scraper for this Uline guided navigation URL and summarize the first 20 SKUs with prices."
  • "Scrape this Uline category URL and create a table of SKU, name, dimensions, and price breaks."
  • "Monitor this Uline box category and tell me which SKUs have the lowest unit price."
  • "Extract all visible quantity price tiers from this Uline catalog page."
  • "Create a CSV-ready list of Uline SKUs, product URLs, and images."

Learn more in the Apify MCP documentation.

Scheduling

Use Apify schedules to run the actor daily, weekly, or monthly.

A common setup is:

  1. Save a task with your Uline category URLs.
  2. Schedule it weekly.
  3. Export the dataset to Google Sheets or your data warehouse.
  4. Compare the latest run with previous runs.

Data quality notes

Uline pages vary by category. Some tables expose many price tiers and product URLs, while some pages expose only basic SKU metadata.

The actor saves fields when they are publicly visible in the returned HTML. Missing values are returned as null or empty arrays instead of invented data.

FAQ

Can I scrape all Uline products?

You can provide public Uline category or guided navigation URLs and set maxItems high enough for the rows visible on those pages. Full-site discovery is not included in the first version; use targeted catalog pages for best reliability.

Does this actor scrape private account pricing?

No. It only extracts public catalog data visible without logging in. It does not access account-specific discounts, carts, invoices, or private customer data.

Troubleshooting

Why did I get zero products?

Check that your URL is a public Uline product detail, guided navigation, or category page with product rows in the HTML. Search pages or error pages may not contain product tables.

Do I need a proxy?

Usually no. The public Uline catalog pages tested during development were reachable with normal HTTP requests. If your environment receives blocks, enable Apify Proxy and try a datacenter group first.

Why are some fields null?

Not every Uline page exposes pack quantity, weight, or availability in the same place. The actor only returns data visible on the public page.

Legality

This actor extracts publicly available catalog information. You are responsible for using the data in compliance with Uline's terms, applicable laws, and your own policies. Avoid collecting personal data and use reasonable request limits.

Other ecommerce and catalog actors by Automation Lab:

Changelog

Initial version extracts public Uline catalog/product rows with SKU, price, price breaks, dimensions, image URLs, product URLs, and source URLs.

Support

If you find a Uline page that does not parse correctly, open an issue with the exact input URL and a short description of the expected fields.