World Market Product Scraper
Get product data from Cost Plus World Market, a US home decor, furniture, and specialty food retailer. Search by keyword or browse by department for price, brand, item number, category, images, availability, and ratings.
Open in Apify Store$0.99 / 1K on Free
Short answer
World Market Product Scraper is an Apify Store Actor that returns 11 published output fields, including title, price, originalPrice, saleBadge. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 14 input settings; one is required (mode). Last updated Oct 25, 2026.
From the public Store listing and published build schema, synced 2026-11-12.What it returns
11 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.
titlepriceoriginalPricesaleBadgebrandskuavailabilitypickupStatusratingreviewCountproductUrl
Input
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| mode | string | Yes | search | What to fetch. `search` uses a keyword, `byCategory` browses a department or collection, and `byProductUrls` reads the URLs you paste. |
| searchQuery | string | No | candle | Keyword to search for (mode=search), e.g. `candle`, `dining chair`, `chocolate`. |
| category | string | No | – | A World Market department or curated collection. Use `categoryUrl` instead if you want a sub-category that is not listed here. |
| categoryUrl | string | No | – | A worldmarket.com category or collection URL, e.g. `https://www.worldmarket.com/c/furniture/shop-all-furniture/`. Takes priority over `category`. |
| productUrls | array | No | [] | Direct worldmarket.com product-page URLs, e.g. `https://www.worldmarket.com/p/<slug>-<id>.html`. Up to 500 unique URLs per run. |
| sortBy | string | No | bestselling | Sort order for search and department results. `bestselling` and `newArrivals` keep World Market's own listing order. |
| minPrice | integer | No | – | Drop products whose current price is below this amount. |
| maxPrice | integer | No | – | Drop products whose current price is above this amount. |
| maxItems | integer | No | 20 | Hard cap on emitted products (1–500). Search and department pages are read 120 tiles at a time. |
| storeId | string | No | – | A World Market store ID such as `store398`. Used only when `includePickup` is enabled. If omitted, the nearest store is resolved from `postalCode`. |
Show the other 4 settings
| Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| postalCode | string | No | – | US ZIP code used to resolve the nearest store when `storeId` is not set and `includePickup` is enabled. |
| includeVariants | boolean | No | true | Include the selectable color, size or fragrance options for products that have them (up to 20). |
| includePickup | boolean | No | false | Add per-store pickup status, quantity and message. Requires `storeId` or `postalCode`. |
| proxyConfiguration | object | No | – | Optional. The actor connects directly first and only uses a proxy fallback if World Market blocks a request. Choose your own proxy to use it as that fallback, or leave it unset. |
Example input
Built from the input form's published example values and defaults.
{
"mode": "search",
"searchQuery": "candle",
"productUrls": [],
"sortBy": "bestselling",
"maxItems": 1,
"includeVariants": true,
"includePickup": false
} Run it from code or an AI agent
The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.
Python
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"mode": "search",
"searchQuery": "candle",
"productUrls": [],
"sortBy": "bestselling",
"maxItems": 1,
"includeVariants": True,
"includePickup": False
}
run = client.actor("nimbryxo-studio/world-market-product-scraper").call(run_input=run_input)
if run is None:
raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item) pip install apify-client
JavaScript
import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
"mode": "search",
"searchQuery": "candle",
"productUrls": [],
"sortBy": "bestselling",
"maxItems": 1,
"includeVariants": true,
"includePickup": false
};
const run = await client.actor("nimbryxo-studio/world-market-product-scraper").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items); npm install apify-client
cURL
curl -X POST "https://api.apify.com/v2/actors/nimbryxo-studio~world-market-product-scraper/run-sync-get-dataset-items" -H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" -d '{"mode":"search","searchQuery":"candle","productUrls":[],"sortBy":"bestselling","maxItems":1,"includeVariants":true,"includePickup":false}' Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).
MCP (AI agents)
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=nimbryxo-studio/world-market-product-scraper",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
} Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.
What a run costs
The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.
| Apify plan | Per 1,000 | 10,000 results | 100,000 results |
|---|---|---|---|
| Free plan | $0.99 | $9.90 | $99 |
| Starter plan | $0.82 | $8.20 | $82 |
| Scale plan | $0.66 | $6.60 | $66 |
| Business plan | $0.49 | $4.90 | $49 |
- Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
- The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
- Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
- Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.
What people use it for
- search product catalog
- check product availability
Similar Actors
StockX Market Price & Sales History Finder
Get StockX lowest ask, highest bid, last sale, and recent sales history for sneakers, streetwear, watches, and collectibles, by search, brand,…
Yandex Market Price & Seller Offer Comparison Scraper
Scrape product listings, prices, seller offers, and reviews from Yandex Market. Search by keyword, browse a category, pull a product's full…
Noon.com Multi-Market Product Search by Discount
Search Noon.com's UAE, Saudi Arabia, and Egypt storefronts by keyword, category, or URL, and get price, discount, rating, brand, and promotional…
AliExpress Multi-Region Search, Store & Review Scraper
Search AliExpress or fetch product, store, and review records by ID or URL across 18 regional storefronts and 42 currencies, with price, rating,…
Amazon All Offers & Buy Box Tracker
Collect every seller offer for Amazon ASINs you supply - condition, price, seller name and rating, shipping terms, delivery estimate, and which…
Amazon Brand Store Page & Merchandising Crawler
Crawl an Amazon Brand Store's navigation, creative modules (images, video, CTAs), and every product link found on its pages. Resolves a brand's…
Questions people ask
How much does World Market Product Scraper cost?
The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.
What data does World Market Product Scraper return?
Its published output schema lists 11 fields: title, price, originalPrice, saleBadge, brand, sku, availability, pickupStatus, rating, reviewCount, productUrl. A listed field is not guaranteed to be filled in every row.
What input does World Market Product Scraper need?
Required: mode. Optional settings include searchQuery, category, categoryUrl, productUrls, sortBy, minPrice.
How do I run World Market Product Scraper from Python or the API?
Use the Apify API client: in Python, ApifyClient(token).actor("nimbryxo-studio/world-market-product-scraper").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("nimbryxo-studio/world-market-product-scraper").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/nimbryxo-studio~world-market-product-scraper/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.
Sources
Cite this page
Scraper Finder. "World Market Product Scraper." https://scraperfinder.com/catalogue/world-market-product-scraper/ (data checked 2026-11-12).
Run World Market Product Scraper
$0.99 per 1,000 results. Paste the example input above, set your target query, then export the dataset.