Quince.com Product Scraper - Prices, Discounts, Reviews & More avatar

Quince.com Product Scraper - Prices, Discounts, Reviews & More

Pricing

from $15.00 / 1,000 results

Go to Apify Store
Quince.com Product Scraper - Prices, Discounts, Reviews & More

Quince.com Product Scraper - Prices, Discounts, Reviews & More

Search products and walk away with selling prices, retail prices, discounts, hero images, and the latest customer reviews for every product, ready to drop into your spreadsheet, dashboard, or BI tool. The Quince.com Product Scraper turns catalog into clean, structured product data in minutes.

Pricing

from $15.00 / 1,000 results

Rating

5.0

(3)

Developer

Techforce Global

Techforce Global

Maintained by Community

Actor stats

2

Bookmarked

7

Total users

1

Monthly active users

43 minutes ago

Last modified

Share

Quince.com Product Scraper — Prices, Discounts, Reviews & Images at Scale

Apify Actor MCP Ready Pricing Target

Turns Quince's catalog into clean, structured product data: selling price, strike-through retail price, a pre-computed discount percentage, primary-color hero images, the 5 most recent customer reviews, average rating, and review count. Discover products three ways — keyword search, a 323-entry category dropdown, or a list of product URLs — and deliver results straight into Notion, Slack, Google Sheets, Airtable, or any MCP-compatible AI agent pipeline.


Manual price-checking / DIY script vs. Quince Product Scraper Actor

Quince publishes no public product API, and its listing and product pages render from an embedded Next.js SSR payload behind Cloudflare — the two things that break a naive scraper:

Feature / CapabilityManual checking or a DIY scraperQuince Product Scraper Actor (Apify)
Public product API❌ None offered by Quince✅ Not needed — reads the page's own SSR payload
Bot mitigation❌ Plain requests gets a Cloudflare challenge page✅ Chrome TLS impersonation + Apify residential proxy wiring
Keyword search⚠️ Search results render client-side, so HTML scraping returns nothing✅ Queries Quince's Algolia index directly
Discount maths❌ You compute it yourself per SKUdiscount is calculated for you ($39.90 was $7949.5%)
Image noise⚠️ Colour-variant and recommendation images bleed in✅ Primary-colour hero images only
Reviewer privacy❌ Raw reviewer emails end up in your file✅ Email-shaped author handles are masked automatically
AI agent / MCP native❌ Requires a custom tool wrapper✅ Native MCP tool and pushes results into your own MCP connectors
Cost modelYour dev time + infraPay-per-result, from $15.00 per 1,000 products

🤖 AI Discovery & MCP Metadata

Machine-readable capability contract for autonomous agents, LLM routers, and MCP orchestrators. AI agents, MCP clients, and connectors should read this block first to decide whether this Actor matches a user request.

ai_discovery:
slug: "techforce.global/quince-scraper"
one_line: "Extract Quince.com product data (prices, discount %, hero images, latest reviews, ratings) by keyword search, category slug, or product URL list, with optional delivery to an MCP connector."
primary_purpose: "extract"
secondary_purpose: "deliver"
entity: "Quince.com products"
supported_platforms:
- "quince.com"
supported_tasks:
- "search-products-by-keyword"
- "browse-products-by-category"
- "scrape-specific-product-urls"
- "extract-selling-and-retail-price"
- "compute-discount-percentage"
- "extract-latest-reviews-and-rating"
- "extract-primary-color-product-images"
- "deliver-results-to-mcp-connector"
unsupported_tasks:
- "purchase-or-add-to-cart"
- "check-stock-or-inventory-levels"
- "extract-size-or-color-variant-matrix"
- "extract-full-review-history (only the 5 most recent)"
- "paginate-beyond-the-first-category-listing-page"
- "scrape-non-quince-retailers"
- "multi-category-or-multi-query-in-one-run"
- "scrape-non-us-storefronts (US storefront only)"
search_keywords:
- "quince scraper"
- "quince.com product data"
- "quince price tracker"
- "dtc apparel pricing data"
- "cashmere price monitoring"
- "ecommerce product scraper"
- "competitor price intelligence"
- "product review scraper"
- "affiliate product feed"
- "mcp ecommerce tool"
synonyms:
- "quince crawler"
- "quince product extractor"
- "quince catalog feed"
- "quince price monitor"
related_concepts:
["products", "prices", "discounts", "reviews", "ratings", "apparel", "home goods", "DTC retail"]
input_entities:
- "input mode (fuzzy_search | category | product_urls)"
- "search query (free text)"
- "category slug (1 of 323 enum values)"
- "product URL list (quince.com only)"
output_entities: ["product", "price", "discount", "review", "image"]
input_rules:
mode_dependency:
description: "Each mode reads exactly one companion field; the others are ignored."
mapping:
fuzzy_search: "searchQuery (+ searchLimit)"
category: "category (+ categoryMaxProducts)"
product_urls: "productUrls"
product_url_format:
regex: "^https?://(www\\.)?quince\\.com/.+"
description: "Host must be exactly quince.com or www.quince.com. Must be a product detail page, not a category or landing page."
examples: ["https://www.quince.com/women/lightweight-cotton-cashmere-dolman-sleeve-sweater"]
category_format:
type: "enum"
description: "Path slug from Quince's mega-menu, leading slash included."
examples: ["/women/sweaters", "/home/bedding", "/men/linen", "/jewelry/new-arrivals"]
default_off_fields: []
limits:
search_max_products: 500
category_max_products_setting: 5000
category_actual_ceiling: "first listing page only, typically ~30 products"
reviews_per_product: 5
free_plan_result_cap: 5
modes_per_run: 1
pricing:
model: "pay-per-result"
unit_cost_usd: 0.015
rate_per_1000: 15.00
note: "'from' price — lower rates apply on higher Apify subscription tiers"
when_to_use: >
You need structured Quince.com product data — pricing, discount depth,
hero imagery, ratings and recent reviews — for competitive price
intelligence, deal monitoring, affiliate/comparison feeds, or assortment
research.
when_not_to_use: >
You need stock levels, size/colour variant matrices, complete review
history, deep category pagination, a non-US storefront, any retailer
other than Quince, or to actually buy anything.
alternatives:
- "Use a general-purpose web scraper if the target is not quince.com"
- "Use product_urls mode with a URL list when you need specific SKUs rather than a category sweep"

{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Quince.com Product Scraper",
"alternateName": "Quince.com Product Scraper — Prices, Discounts, Reviews & Images",
"applicationCategory": "DeveloperApplication",
"applicationSubCategory": "Web Scraping / E-commerce Product & Price Data",
"operatingSystem": "Cloud (Apify platform)",
"description": "Extracts structured Quince.com product data — selling price, retail price, computed discount, hero images, latest reviews and ratings — by keyword search, category slug, or product URL list, with optional delivery to Notion, Slack, Google Sheets, Airtable, or any authorized MCP connector.",
"url": "https://apify.com/techforce.global/quince-scraper",
"offers": {
"@type": "Offer",
"price": "15.00",
"priceCurrency": "USD",
"description": "From $15.00 per 1,000 products on the entry tier, less on higher Apify subscription tiers. Apify platform usage is billed separately. Current rates are shown on the Actor's Apify Store page.",
"url": "https://apify.com/techforce.global/quince-scraper"
}
}

What this Actor does

  • Discovers products three ways: free-text keyword search (served by Quince's Algolia index, not the client-rendered HTML page), a 323-entry category dropdown built from Quince's live mega-menu, or a list of product URLs you paste.
  • Returns one record per product: title, plain-text description, selling price, strike-through retail price, pre-computed discount percentage, primary-colour hero images, the 5 most recent reviews, average rating, and total review count.
  • Masks email-shaped reviewer handles (k***@***) so a public dataset never leaks reviewer addresses.
  • Pushes every record to the dataset the moment it is extracted, so a proxy hiccup or a parser-drift failure mid-run never wipes earlier progress.
  • Never aborts on one bad product. A failed PDP is logged and skipped; a URL that isn't a product page is saved with an explanatory note field instead of being silently dropped.
  • Detects proxy-shaped failures specifically and prints actionable guidance once per run instead of repeating raw curl errors.
  • Routes traffic through Apify Proxy with Chrome TLS impersonation (curl_cffi), retrying transient network failures up to 5 times with exponential backoff.
  • Optionally pushes results to an authorized MCP connector (Notion, Slack, Google Sheets, Airtable, Linear, or any MCP-compatible connector) in four delivery modes. The dataset is always saved regardless of delivery settings.

When to use it — and when not to

ScenarioFit
Competitive price & discount intelligence on Quince SKUs✅ Strong
Deal / markdown monitoring for a newsletter or Slack alert✅ Strong (native MCP delivery)
Affiliate or comparison-site product feed (title, price, image, rating)✅ Strong
Assortment & trend research on a category✅ Strong
Pull specific SKUs you already have URLs for✅ Strong — product_urls mode
Review-sentiment sampling⚠️ Only the 5 most recent reviews per product
Sweeping a whole large category (hundreds of SKUs)⚠️ First listing page only, typically ~30 products — see Execution Rules
Several categories or queries at once⚠️ One mode, one query/category per run
Non-US storefront pricing❌ US storefront (quince.com) only — all prices are USD
Stock levels, size/colour variant matrices❌ Not extracted
Buying, carting, or checkout❌ Not supported — read-only Actor
Any retailer other than quince.com❌ Not supported

⚡ Execution Rules (Avoid Common Agent Failures)

  1. mode decides which other fields matter. fuzzy_search reads searchQuery + searchLimit; category reads category + categoryMaxProducts; product_urls reads productUrls. Fields belonging to the other modes are ignored entirely — setting searchQuery in category mode does nothing.
  2. mode is the only required field, and it defaults to fuzzy_search. Since searchQuery defaults to "", an input of {} produces a successful run with zero items and the terminal status message Skipped: Please enter a search query before running.
  3. Invalid input does not fail the run. Empty query, unpicked category, empty URL list, unknown mode, or an Algolia credential failure all end as SUCCEEDED with itemCount: 0 and a Skipped: … status message. Agents must read itemCount and the status message, not just run status.
  4. categoryMaxProducts is a ceiling, not a target. Category mode fetches one listing page and extracts the products embedded in its SSR payload — typically ~30. Setting 5000 does not paginate; you will still get roughly one page. For larger sweeps, use several narrower category slugs, or product_urls mode with a URL list.
  5. category values are exact path slugs from a fixed list of 323, leading slash included: /women/sweaters, /home/bedding, /men/linen. Not display names — "Sweaters" is invalid.
  6. productUrls must be product detail pages on quince.com or www.quince.com. A category, search, or marketing URL is reachable but is not a PDP: the Actor saves a record carrying note and no product fields. Lookalike hosts (evil-quince.com) are rejected outright.
  7. US storefront only. region accepts a single value, US; every request goes to www.quince.com and all prices are USD. Do not present output as pricing for any other market. (Proxy country is a separate setting — see proxy — and does not change the storefront.)
  8. Missing values are the string "N/A", never null. This applies to sellingPrice, retailPrice, discount, averageRating, reviewCount, and even images/reviews — which are the string "N/A" rather than an empty array when absent. Type-check before iterating.
  9. Free Apify plans are capped at 5 products per run, applied by clamping searchLimit / categoryMaxProducts / the productUrls list. This is a successful run, not a failure.
  10. deliveryMode defaults to summary, not none. For dataset-only runs, either leave mcpConnector empty or set deliveryMode: "none" explicitly.
  11. Only successfully-extracted products are delivered. Records that are placeholder/skip rows (title "N/A") stay in the dataset but are excluded from connector payloads.
dependencies:
- rule: "mode selects its companion field; other modes' fields are ignored"
on_violation: "run succeeds with 0 items and a 'Skipped: ...' status message"
- rule: "delivery requires mcpConnector AND mcpTool"
on_violation: "delivery step is skipped with a warning; the dataset is still written in full"
- rule: "mcpArguments must reference {message} for the rendered template to appear anywhere"
on_violation: "message body is empty; the tool is still called"
- rule: "mcpConnector only resolves when the Actor runs on the Apify platform"
on_violation: "local runs log 'APIFY_MCP_PROXY_URL is not set' and skip delivery; the dataset is unaffected"
- rule: "perProduct mode issues one connector call per product"
note: "a 200-product category run is 200 calls — prefer 'chunked' or 'summary'"
authentication:
actor_input: none
platform: "Apify API token required for API / SDK / MCP invocation; paid plan required for residential proxy groups"
target_site: "no Quince account or credentials required (public product pages only)"

📥 Input Contract

.actor/input_schema.json is authoritative — if any table on this page disagrees with the schema files, the schema files win. API and MCP clients should always pass mode plus that mode's companion field explicitly.

Scraping Parameters

FieldTypeRequiredDefaultAllowed Values / FormatExample
modestring (enum)✅ Yesfuzzy_searchfuzzy_search · category · product_urlscategory
searchQuerystring⚠️ If mode = fuzzy_search""Free textmongolian cashmere crewneck
searchLimitinteger⬜ No501 to 500100
categorystring (enum)⚠️ If mode = category/women/sweaters323 exact path slugs/home/bedding
categoryMaxProductsinteger⬜ No2001 to 5000 (see Rule 4)100
productUrlsarray of string⚠️ If mode = product_urls[]^https?://(www\.)?quince\.com/.+["https://www.quince.com/women/..."]
regionstring (enum)⬜ NoUSUS only — US storefront, USD pricesUS
proxyobject⬜ NoApify Proxy, RESIDENTIAL, country US (prefill)Apify proxy editor objectsee below
maxConcurrencyinteger⬜ No (hidden)101 to 100not yet wired; PDPs are fetched sequentially
maxRequestRetriesinteger⬜ No (hidden)30 to 10not yet wired; retries are fixed at 5 attempts

Mode → required field map

modeYou must setVolume knobProduces
fuzzy_searchsearchQuerysearchLimit (max 500)One record per matching product from Quince's Algolia index
categorycategorycategoryMaxProducts (first page only, ~30)One record per product on the category's first listing page
product_urlsproductUrlslength of the listOne record per URL — including note rows for non-product URLs

Category reference

323 slugs, taken from Quince's live mega-menu and refreshed via scripts/fetch_categories.py. Representative values:

AreaExample slugs
Women/women, /women/sweaters, /women/dresses, /women/cashmere, /women/silk, /women/jeans, /women/shoes/sandals
Men/men, /men/linen, /men/best-sellers
Home/home/bedding, /home/candles, /home/travel
Jewelry & accessories/jewelry/new-arrivals, /women/jewelry/earrings-all, /women/bags-&-leather-goods
Beauty & wellness/beauty-&-wellness/skincare, /beauty-&-wellness/fragrance
Edits & seasonal/all/new-arrivals, /all/best-sellers, /the-spring-edit, /style-gone-viral, /linen

The Console dropdown carries the full list — pick from it rather than hand-writing slugs.

Examples

Keyword search:

{
"mode": "fuzzy_search",
"searchQuery": "mongolian cashmere crewneck",
"searchLimit": 50,
"deliveryMode": "none"
}

Category browse:

{
"mode": "category",
"category": "/women/sweaters",
"categoryMaxProducts": 100,
"deliveryMode": "none"
}

Specific products:

{
"mode": "product_urls",
"productUrls": [
"https://www.quince.com/women/lightweight-cotton-cashmere-dolman-sleeve-sweater",
"https://www.quince.com/women/100-organic-cotton-button-front-cardigan"
],
"deliveryMode": "none"
}

Recommended proxy block:

{
"proxy": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

MCP Delivery Configuration (Optional)

ParameterTypeDefaultDescription
mcpConnectorstring""Authorized MCP connector on your Apify account (Notion, Slack, Airtable, Google Sheets, Linear, …). Leave empty for dataset-only runs.
deliveryModeenumsummarysummary (single digest) · chunked (split large lists) · perProduct (one call per item) · none.
mcpToolstring""Tool name on the connector: send_message, create_page, append_row. Run once with a connector selected — the log lists the connector's available tools.
mcpArgumentsobject{}Arguments passed to the tool. String leaves support {placeholders}.
mcpMessageTemplatestring""Template rendered and exposed to mcpArguments as {message}.

Placeholders by mode:

ModePlaceholders
summary{mode} (the raw input mode — fuzzy_search / category / product_urls), {sourceInput} (your query, slug, or first URL), {productCount}, {productsText}, {message}
chunkedthe above, plus {part} and {partCount} — and {productsText} holds one part
perProduct{title}, {url}, {description}, {sellingPrice}, {retailPrice}, {discount}, {averageRating}, {reviewCount}, {imageUrl} (first hero image), {productText}, plus {mode}, {sourceInput}, {productCount}, {message}

Placeholders render "N/A" sentinels as empty strings, so a template never posts a literal N/A.

Slack deal alert:

{
"mode": "category",
"category": "/women/cashmere",
"mcpConnector": "<your-authorized-slack-connector>",
"deliveryMode": "summary",
"mcpTool": "send_message",
"mcpMessageTemplate": "Quince {sourceInput} — {productCount} products:\n\n{productsText}",
"mcpArguments": { "channel": "#deals", "text": "{message}" }
}

Google Sheets, one row per product:

{
"mode": "category",
"category": "/women/sweaters",
"mcpConnector": "<your-authorized-sheets-connector>",
"deliveryMode": "perProduct",
"mcpTool": "append_row",
"mcpArguments": {
"values": ["{title}", "{sellingPrice}", "{retailPrice}", "{discount}", "{averageRating}", "{url}"]
}
}

Chunked delivery groups products into parts under ~72,000 characters and truncates any single product block at ~1,800 characters, so services with per-request block or timeout caps (Notion in particular) never reject the call.


📤 Output Contract & Data Structure

Storage: Apify Dataset (one JSON object per product). Pagination: limit & offset on the dataset items endpoint. Duplicates: product_urls mode dedupes the input list; within a run each product appears once. Cross-run deduplication is the consumer's responsibility — use url as the key.

FieldType"N/A" possibleMeaning
urlstringNoCanonical product page URL — use as the dedupe key
titlestringYesProduct display name. "N/A" marks a placeholder/skip row
descriptionstringYesProduct description, HTML stripped to plain text
sellingPricestringYesCurrent price, $-prefixed — e.g. "$39.90"
retailPricestringYesStrike-through "was" price — e.g. "$79"
discountstringYesComputed savings — e.g. "49.5%". "N/A" for full-price items
imagesarray of string or "N/A"YesHero images for the primary colour only
reviewsarray of object or "N/A"YesThe 5 most recent reviews, newest first
reviews[].ratingnumber1–5 star rating
reviews[].titlestringYesReview headline
reviews[].bodystringYesReview text
reviews[].authorstringYesDisplay name, or a masked handle (k***@***) if it looked like an email
reviews[].createdAtstringYesReview timestamp as published, YYYY-MM-DD HH:MM:SS
averageRatingnumber/stringYesOverall average rating, 1–5
reviewCountnumber/stringYesTotal reviews on the product
sourceKindstringNoWhich mode produced the record: fuzzy_search, category, or product_urls
sourceInputstringNoThe query, slug, or URL you supplied
notestringabsentOnly present on skip rows — explains why no product data was extracted (non-PDP URL, or an HTTP error status)

Two shapes to expect: a normal product record, and a skip row (title: "N/A" plus note). Branch on note presence — or on title != "N/A" — before treating an item as a product.

images and reviews are not always arrays. When absent they are the string "N/A". Guard with a type check (isinstance(x, list)) rather than iterating blindly.

Example output item

{
"url": "https://www.quince.com/women/lightweight-cotton-cashmere-dolman-sleeve-sweater",
"title": "Lightweight Cotton Cashmere Link-Stitch Dolman Sweater",
"description": "Experience the perfect blend of luxury and comfort with our Lightweight Cotton Cashmere Link-Stitch Dolman Sweater.",
"sellingPrice": "$39.90",
"retailPrice": "$79",
"discount": "49.5%",
"images": [
"https://images.ctfassets.net/.../W-SWT-40-SGSTNE_1063_EDITED.jpg",
"https://images.ctfassets.net/.../W-SWT-40-SGSTNE_1120_EDITED.jpg"
],
"reviews": [
{
"rating": 5,
"title": "Flattering",
"body": "This sweater is so flattering that I have it in two colors and will probably buy more.",
"author": "k***@***",
"createdAt": "2026-05-22 04:52:07"
}
],
"averageRating": 4.88,
"reviewCount": 15697,
"sourceKind": "category",
"sourceInput": "/women/sweaters"
}

Example skip row

{
"url": "https://www.quince.com/women/sweaters",
"sourceKind": "product_urls",
"sourceInput": "https://www.quince.com/women/sweaters",
"note": "URL is on quince.com but does not look like a product page. It may be a category, search, or marketing page. Try using 'Category browse' or 'Fuzzy search' mode for those."
}

What a successful run looks like

{
"status": "SUCCEEDED",
"defaultDatasetId": "<datasetId>",
"stats": { "itemCount": 30 }
}

The terminal status message carries the real summary — Extracted 30 product(s)., plus counts of skipped URLs, proxy failures, and connector messages when relevant. A SUCCEEDED run with itemCount: 0 and a Skipped: … status message means the input was unusable, not that Quince had no matches.


▶️ Invocation & Integration

Lifecycle: Discover → Understand → Configure → Execute → Retrieve → Validate. Authenticate every call with Authorization: Bearer <APIFY_TOKEN>.

Apify Console

Open the Actor → Input tab → pick a mode → fill that mode's field (query, category dropdown, or URL list) → set the volume cap → confirm the proxy block → Start → export from the Dataset tab (JSON, CSV, Excel, XML, RSS).

Model Context Protocol (MCP)

Add this Actor directly as an AI tool in Claude Desktop, Cursor, VS Code, or LangChain agents:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=techforce.global/quince-scraper"

Python (apify-client)

import os
from apify_client import ApifyClient
client = ApifyClient(os.getenv("APIFY_TOKEN"))
run = client.actor("techforce.global/quince-scraper").call(run_input={
"mode": "category",
"category": "/women/cashmere",
"categoryMaxProducts": 100,
"proxy": {
"useApifyProxy": True,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US",
},
"deliveryMode": "none",
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
products = [i for i in items if i.get("title") not in (None, "N/A")]
print(f"{len(products)} products, {len(items) - len(products)} skipped rows")
for p in products[:5]:
print(f'{p["title"]}: {p["sellingPrice"]} (was {p["retailPrice"]}, {p["discount"]} off)')

JavaScript / TypeScript (apify-client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('techforce.global/quince-scraper').call({
mode: 'fuzzy_search',
searchQuery: 'linen shirt',
searchLimit: 50,
deliveryMode: 'none',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const discounted = items.filter((i) => i.discount && i.discount !== 'N/A');
console.log(`${discounted.length} of ${items.length} items are on markdown`);

cURL — synchronous (returns items directly; 300s limit)

curl -X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <YOUR_APIFY_TOKEN>' \
-d '{"mode":"category","category":"/women/sweaters","categoryMaxProducts":50,"deliveryMode":"none"}' \
'https://api.apify.com/v2/acts/techforce.global~quince-scraper/run-sync-get-dataset-items'
# 1. Start execution with a hard spend limit
curl -X POST -H 'Content-Type: application/json' \
-H 'Authorization: Bearer <YOUR_APIFY_TOKEN>' \
-d '{"mode":"fuzzy_search","searchQuery":"cashmere sweater","searchLimit":200,"deliveryMode":"none"}' \
'https://api.apify.com/v2/acts/techforce.global~quince-scraper/runs?maxTotalChargeUsd=3.00'
# 2. Poll
curl -H 'Authorization: Bearer <YOUR_APIFY_TOKEN>' \
'https://api.apify.com/v2/actor-runs/<runId>'
# 3. Retrieve when SUCCEEDED
curl -H 'Authorization: Bearer <YOUR_APIFY_TOKEN>' \
'https://api.apify.com/v2/datasets/<DATASET_ID>/items?clean=true&format=json&limit=1000&offset=0'

⚠️ Autonomous Agent Error Handling & Resolution Matrix

Error CodeDetection ConditionUnderlying CauseDeterministic Agent Action
AUTH_INVALIDHTTP 401Missing or malformed APIFY_TOKENAbort & Prompt User: request a valid API token.
RATE_LIMITEDHTTP 429Apify API rate / concurrency limitsRetry: exponential backoff (2s, 4s, 8s).
SYNC_TIMEOUTHTTP 408 on the sync endpointRun exceeded the 300s synchronous ceilingReconfigure: switch to async POST /runs + polling.
INPUT_SKIPPEDSUCCEEDED, itemCount: 0, status starts Skipped:Empty query, unpicked category, empty/invalid URL list, or unknown modeModify Input: read the status message — it names the exact missing field.
SEARCH_UNAVAILABLESUCCEEDED, 0 items, status mentions Could not run searchQuince's Algolia credentials could not be resolved from the pageRetry once, then fall back to category or product_urls mode.
NO_SEARCH_MATCHSUCCEEDED, 0 items, status mentions No products matchedQuery too narrow or misspelledModify Input: broaden the keyword.
BAD_HOSTSUCCEEDED, 0 items, status mentions must be on quince.comA URL pointed at another hostModify Input: keep every URL on quince.com/www.quince.com.
NOT_A_PDPItem carries note and title: "N/A"A category/search/landing URL was passed in product_urls modeModify Input: switch to category mode, or supply real PDP URLs.
SITE_UNREACHABLEFAILEDCould not reach Quince.com (HTTP …)Homepage probe failed before any scrapingRetry: re-run; if persistent, change proxy country/group.
CHALLENGEDFAILEDQuince.com is temporarily refusing the requestCloudflare challenge detected on the homepage probeReconfigure: enable RESIDENTIAL proxy, then retry.
PROXY_FAILUREStatus message mentions request(s) failed due to a proxy issueResidential tunnel failures mid-run (partial results saved)Consume partial data, then re-run; switch country (US → CA) or group.
CATEGORY_UNDERFILLitemCount ≈ 30 despite a much larger categoryMaxProductsNo pagination — one listing page per runReconfigure: use several narrower category slugs, or product_urls mode.
FREE_PLAN_CAPitemCount ≤ 5 with the upgrade banner in the logFree Apify plan caps results at 5 per runPrompt User: upgrade for full-volume runs.
DELIVERY_SKIPPEDLog no tool name was providedmcpConnector set but mcpTool emptyModify Input: set mcpTool; the dataset is already saved.
DELIVERY_TOOL_UNKNOWNLog Tool 'x' is not available on this connectorWrong tool name for that connectorModify Input: pick a name from the Available tools: list in the same log line.
DELIVERY_EMPTYConnector called, body emptymcpArguments omitted the {message} placeholderModify Input: map {message} inside mcpArguments.
MCP_PROXY_MISSINGLog APIFY_MCP_PROXY_URL is not setRunning locally instead of on the platformReconfigure: apify push and run on the platform.
CHARGE_LIMITRun aborted before the volume cap was reachedmaxTotalChargeUsd spend threshold reachedPrompt User: confirm a higher spend cap.

Reading run status: a run that extracts nothing still finishes SUCCEEDED — the terminal status message says which input was unusable, and skip rows in the dataset carry a note explaining each rejected URL. Only a FAILED status is a platform-level failure. Every status-message and log-line condition in the table above comes from this Actor’s own behavior; the 401/408/429 rows are standard Apify API responses.


🗣️ Natural Language → Actor Mapping

User saysIntentConstructed Actor input
"Find Quince cashmere crewnecks"Keyword search{"mode":"fuzzy_search","searchQuery":"cashmere crewneck","searchLimit":50}
"What's in Quince's women's sweaters category?"Category browse{"mode":"category","category":"/women/sweaters"}
"Scrape these 3 Quince product pages"Direct extraction{"mode":"product_urls","productUrls":["…","…","…"]}
"How much is Quince discounting right now?"Discount monitoring{"mode":"category","category":"/all/best-sellers"} then read discount
"Show me Quince's newest arrivals"Assortment research{"mode":"category","category":"/all/new-arrivals"}
"Compare Quince linen prices to ours"Price intelligence{"mode":"category","category":"/linen"} then read sellingPrice / retailPrice
"What are people saying about this Quince sweater?"Review sampling{"mode":"product_urls","productUrls":["<pdp>"]} then read reviews (5 most recent)
"Build a product feed for my affiliate site"Feed generation{"mode":"category","category":"<slug>"} then use title, sellingPrice, images, averageRating
"Post today's Quince markdowns to Slack"Pipeline/delivery{"mode":"category","category":"/all/best-sellers","mcpConnector":"slack","deliveryMode":"summary","mcpTool":"send_message","mcpArguments":{"channel":"#deals","text":"{message}"}}
"Track Quince bedding prices in a Google Sheet"Export/delivery{"mode":"category","category":"/home/bedding","deliveryMode":"perProduct","mcpTool":"append_row"}
"Save Quince jewelry research to Notion"Pipeline/delivery{"mode":"category","category":"/jewelry/new-arrivals","deliveryMode":"chunked","mcpTool":"create_page"}
"Is this Quince sweater in stock in size M?"Inventory check❌ Out of scope — stock and variants are not extracted

Should NOT route here: any retailer other than quince.com · stock/inventory checks · size or colour variant matrices · complete review history (only the 5 newest) · non-US storefront pricing · buying, carting, or checkout · generic "scrape any website" requests.


🧭 Agent Execution & Routing Logic

[Input User Query]
1. Target is quince.com? NO → Route to a general or retailer-specific Actor
│ YES
2. Read-only product data (not carting/checkout)? NO → Abort (transactional ops unsupported)
│ YES
3. Needs stock, variants, or full review history? YES → Abort (not extracted)
│ NO
4. Pick the mode:
├── specific SKUs / URLs in hand → mode "product_urls" (verify each is a PDP)
├── a browsable section → mode "category" (pick from the 323 slugs)
└── free-text intent → mode "fuzzy_search" (searchQuery required)
5. Set that mode's volume knob only → search: searchLimit ≤ 500
│ category: ~1 page regardless of the cap
6. Non-US market pricing required? YES → Abort/flag: US storefront (USD) only
│ NO
7. Residential proxy available on this plan? NO → Warn: Cloudflare-challenge risk
│ YES
8. Deliver to a connector? YES → set mcpConnector + mcpTool + {message} in mcpArguments
│ NO → set deliveryMode "none"
9. Estimated cost within budget? NO → Reduce the cap / set maxTotalChargeUsd / prompt user
[Execute Apify Actor]
├──► status == "SUCCEEDED" ──► itemCount == 0? YES → read status message ("Skipped: ...") → fix input
│ │ NO
│ └──► drop skip rows (title == "N/A" / note present) → consume products (dedupe via 'url')
└──► status == "FAILED" ──► route to Error Handling Matrix above

💰 Cost Control & Pricing Transparency

  • Pay-per-result pricing: from $15.00 per 1,000 products ($0.015 per product) — the "from" rate applies on the entry tier and drops on higher Apify subscription tiers. No monthly subscription.
  • Free Apify plans receive up to 5 products per run as a preview, with an upgrade notice in the log.
  • Autonomous spend caps: pass maxTotalChargeUsd as a query parameter on the run endpoint for a hard per-execution ceiling — important for any agent spending on your behalf.
  • Skip rows count as dataset items. A product_urls run full of category URLs still writes records; keep the URL list clean so you pay for products, not notes.
Products extractedTotal Cost (USD, entry tier)
5 products (free-plan preview)$0.00
30 products (typical single category page)$0.45
50 products (default search run)$0.75
200 products$3.00
500 products (search ceiling)$7.50
1,000 products (batched across runs)$15.00

ℹ️ Always confirm the live rate on the Actor’s Apify Store page before committing to a large run. The Store listing is what bills you, Apify platform usage is charged in addition to the per-product rate, and the table above is a worked example at the entry-tier rate.


🔍 Companion machine-readable files

FilePurpose
.actor/actor.jsonIdentity, version, default run options (3600s timeout, 4096 MB), and the inline dataset view definition
.actor/input_schema.jsonAuthoritative typed input contract — mode enum, 323-value category enum, URL pattern for productUrls, deliveryMode enum
.actor/output_schema.jsonDeclares where results are stored
data/categories.jsonThe category slug catalogue behind the dropdown
scripts/fetch_categories.pyRegenerates the category list from Quince's live mega-menu
src/modes.pyMode router — turns input into seed URLs and raises the "Skipped:" validation messages
src/algolia.pyDirect Algolia search client used by fuzzy_search mode
src/pdp.pyProduct-page parsing, price/discount maths, image filtering, review masking
src/http_client.pycurl_cffi fetch with Chrome TLS impersonation, proxy routing, and 5-attempt backoff
src/delivery.pyMCP connector delivery modes and {placeholder} rendering
src/connector.pyMCP session handling through the Apify MCP Proxy

Note: this Actor has no separate dataset_schema.json — the dataset view lives inline in .actor/actor.json.

If any table on this page disagrees with the schema files, the schema files win.


🛠️ Troubleshooting

Most zero-result runs are input problems that end as SUCCEEDED, not crashes. Read the terminal status message first — it usually names the exact fix.

#Symptom you seeMost likely causeFix
1SUCCEEDED, 0 items, status Skipped: Please enter a search query before running.mode is fuzzy_search (the default) with an empty searchQuerySet searchQuery, or switch mode.
2SUCCEEDED, 0 items, status Skipped: Please pick a category…mode: category with no categoryPick a slug from the dropdown.
3SUCCEEDED, 0 items, status Skipped: Please paste at least one product URL…mode: product_urls with an empty listAdd PDP URLs.
4~30 products when you asked for hundredsCategory mode reads one listing page; no paginationUse several narrower slugs, or product_urls mode with a URL list.
5Exactly 5 products every runFree Apify plan capUpgrade the plan; the log prints the upgrade banner.
6Items with title: "N/A" and a noteNon-PDP URL, or the page returned an HTTP errorExpected. Filter them out, or fix the URL list.
7FAILEDQuince.com is temporarily refusing the requestCloudflare challenge on the homepage probeEnable RESIDENTIAL proxy and retry.
8FAILEDCould not reach Quince.com (HTTP …)Network/proxy failure on the homepage probeRetry; change proxy country or group.
9Status mentions request(s) failed due to a proxy issueResidential tunnel hiccups mid-runPartial results were saved. Re-run, or switch country (US → CA) / group.
10Status mentions Could not run searchAlgolia credentials could not be resolved from the pageRetry once, then use category or product_urls mode.
11Input rejected for "region": "CA"Only US is a valid value — the Actor serves the US storefrontPass "US" or omit the field. Proxy country is configured separately under proxy.
12maxConcurrency / maxRequestRetries appear to do nothingBoth are hidden inputs and not wired; fetches are sequential with 5 fixed retry attemptsExpected. Adjust the volume cap instead.
13Consumer code crashes iterating images or reviewsThey are the string "N/A" when absent, not []Type-check (isinstance(x, list)) before iterating.
14discount is "N/A" on a real productThe product has no strike-through retail price — it is full priceRead retailPrice first; "N/A" there means no markdown.
15Only 5 reviews per productBy design — the 5 most recent onlyFor full review history, a custom pipeline is required.
16Reviewer names look like k***@***Email-shaped handles are masked for privacyExpected and intentional.
17Prices have no currency codePrices are $-prefixed strings from the US storefrontStrip $ and treat as USD.
18Slack / Notion / Sheets received nothingDelivery needs both mcpConnector and mcpTool; otherwise it is skipped with a warningSet both. The dataset is still written in full.
19Log: APIFY_MCP_PROXY_URL is not setYou ran locally with apify run; connectors only resolve on the platformDeploy with apify push and run on the platform.
20Connector fired, but the message body is emptymcpArguments did not reference {message}Map {message} in mcpArguments and populate mcpMessageTemplate.
21Skip rows missing from the connector payloadOnly successfully-extracted products are deliveredExpected. Read the dataset for the full picture.
22Hundreds of connector calls fireddeliveryMode: "perProduct" sends one call per productSwitch to chunked or summary.
23Delivery fired when you only wanted a datasetdeliveryMode defaults to summary, not noneSet deliveryMode: "none" or leave mcpConnector empty.
24HTTP 401 / 403Missing, expired, or malformed APIFY_TOKENRegenerate in Apify Console → Settings → API & Integrations, send as Authorization: Bearer <token>.
25HTTP 429Apify account concurrency / rate limits — not Quince blockingRetry with exponential backoff (2s → 4s → 8s).
26HTTP 408 on run-sync-get-dataset-itemsThe synchronous endpoint has a hard 300-second ceilingSwitch to async: POST /runs → poll /actor-runs/<runId> → fetch dataset.

Diagnostic checklist before opening an issue

  1. Read the terminal status message, not just the run status. Skipped: … means the input needs fixing; a SUCCEEDED run can still be a no-op.
  2. Baseline run. {"mode":"category","category":"/women/sweaters","categoryMaxProducts":10,"deliveryMode":"none"} with residential proxy on.
  3. Products returned? If yes, the site and proxy are fine — the problem is your mode or volume expectation (see Rule 4).
  4. Still zero? Switch proxy country/group and re-run. Cloudflare challenges are the most common hard failure.
  5. Open the same page in a browser. If Quince itself shows nothing, the slug or URL is stale.
  6. Check the run log for the resolved seed URLs and per-product lines (-> Title ($price)), which show exactly where extraction stopped.

If the issue survives all six steps, open an Issues ticket on the Actor page (or email support) with the run ID, the exact input JSON, and what you expected. Run IDs let us replay the exact execution.

❓ FAQ

Setup & access

Do I need a Quince account or API key?

No. The Actor reads publicly available product pages. You need an Apify account and API token; you need no Quince credentials whatsoever.

Is this an official Quince API?

No. Quince publishes no public product API. This is an independent Actor and is not affiliated with, endorsed by, or sponsored by Quince.

Do I need to configure proxies?

Yes — keep the residential proxy on. Quince sits behind Cloudflare, and the homepage probe fails fast with a clear message when a challenge is served. Residential groups require a paid Apify plan.

Can I plug it into Claude, Cursor, or a LangChain agent?

Yes — it is a native MCP tool:

claude mcp add --transport http apify "https://mcp.apify.com?tools=techforce.global/quince-scraper"

Input & modes

Which mode should I use?

product_urls when you already know the SKUs, category to sweep a section, fuzzy_search for free-text intent. One mode per run.

Why did I only get ~30 products from a category?

Category mode reads a single listing page and takes the products embedded in its SSR payload — there is no pagination. categoryMaxProducts caps that number; it cannot raise it. Use several narrower slugs, or supply product URLs.

Can I scrape several categories or queries in one run?

No — one mode and one query/category per run. Loop the Actor in your orchestration layer.

Can I get Canadian or other non-US pricing?

No. region accepts US only — every request goes to the US storefront (www.quince.com) and all prices are USD. Setting the Apify proxy country to another country does not change the storefront.

Output & data

Why is everything "N/A" instead of null?

By design — the extractor emits the string "N/A" for any missing value so downstream code never has to guard against null. The trade-off: images and reviews are also "N/A" (a string) when absent, so type-check before iterating.

Why only 5 reviews?

The Actor returns the 5 most recent reviews per product, plus averageRating and total reviewCount for the full picture.

Are reviewer emails included?

No. Author handles that look like email addresses are masked to x***@*** before being written.

Do I get stock levels or size/colour variants?

No. Only the fields listed in the Output Contract, and images for the primary colour only.

Delivery

What is the MCP connector for?

It pushes the scraped products straight into a tool you have already authorized on your Apify account — Notion, Slack, Google Sheets, Airtable, Linear, or any MCP-compatible connector — with no glue code. Credentials stay private: delivery runs through the Apify MCP Proxy, so the Actor never sees your connector tokens.

Which delivery mode should I use?

summary for a digest, chunked for long lists into services with request caps (Notion), perProduct for row-per-product targets (Sheets/Airtable), none for dataset-only runs.

Does delivery work when running locally?

No. Connectors resolve through the Apify MCP Proxy, which only exists on the platform. Locally you'll see APIFY_MCP_PROXY_URL is not set and the dataset is saved as normal.

Limits & pricing

What does it cost?

From $0.015 per product — $15.00 per 1,000 results on the entry tier, less on higher subscription tiers. No monthly subscription.

How do I guarantee an agent never overspends?

Pass maxTotalChargeUsd as a query parameter on the run endpoint. It is a hard per-execution ceiling — the run stops rather than exceeding it.


Same data family — other e-commerce product scrapers

ActorUse it for
Amazon Products ScraperThe same price, rating and review fields across Amazon's catalogue — the widest assortment for benchmarking Quince against mass-market pricing
Flipkart Search ScraperIndian-market product and price data, for comparing the same category across a different storefront and currency
Etsy Product ScraperHandmade and independent-seller listings — the closest comparison set for Quince's positioning on quality-per-price

All three return a comparable product record, so one pipeline can pull Quince alongside them and compare price, discount depth and review sentiment for the same product type.

Enrichment & downstream

ActorUse it for
Advanced Website Crawling ActorCrawl a competitor's own site for clean HTML/Markdown/text context alongside Quince pricing
Google Maps Scraper – Business DataEnrich retail or brand entities into full business records
GOV.UK Business ScraperMatch UK supplier or brand names against Companies House records

Suggested pipeline patterns

📉 Daily markdown monitor Scheduled category run on /all/best-sellersdeliveryMode: "summary", mcpConnector: "slack", mcpTool: "send_message" → your channel gets the day's discount depth with no glue code.

🛒 Affiliate product feed category runs across your target slugs → filter out skip rows (title != "N/A") → title, sellingPrice, images[0], averageRating → render on your site; refresh weekly.

📊 Price-history warehouse Same slugs on a schedule → deliveryMode: "perProduct" into Google Sheets/Airtable, or dataset → ETL → track sellingPrice and discount per url over time.

🔎 Assortment research /all/new-arrivals weekly → diff on url against last week → surface genuinely new SKUs and their launch pricing.

Browse all Actors by Techforce Global at scraper.techforce.global.


🔐 Compliance & Data Privacy

This is an independent Actor. It is not affiliated with, endorsed by, or sponsored by Quince. "Quince" is a trademark of its respective owner.

This Actor collects publicly available product listing data only. It does not log into accounts, bypass authentication, or access order, customer, or payment data. Review author display names are public profile strings and email-shaped handles are masked automatically, but reviewer names may still constitute personal data in some jurisdictions. You are responsible for ensuring your use complies with Quince's Terms of Service, applicable data-protection law (including GDPR and CCPA), and any local regulations. Product images and descriptions remain the copyright of their owner — check your rights before republishing them.


🆘 Support & Custom Pipeline Engineering

Need deep category pagination, full review history, additional regional storefronts, scheduled multi-category monitoring, or a warehouse sync?


Made with ❤️ by Techforce Global Specialists in High-Performance E-commerce Data Extraction and AI Automation.


🏷️ Structured data for search & AI discovery

SoftwareApplication describes the Actor; FAQPage wraps the FAQ above so those answers are eligible for rich results, matching it question-for-question.

{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Quince.com Product Scraper",
"alternateName": "Quince.com Product Scraper — Prices, Discounts, Reviews & Images",
"applicationCategory": "DeveloperApplication",
"applicationSubCategory": "Web Scraping / E-commerce Product & Price Data",
"operatingSystem": "Cloud (Apify platform)",
"description": "Extracts structured Quince.com product data — selling price, retail price, computed discount, hero images, latest reviews and ratings — by keyword search, category slug, or product URL list, with optional delivery to Notion, Slack, Google Sheets, Airtable, or any authorized MCP connector.",
"url": "https://apify.com/techforce.global/quince-scraper",
"author": {
"@type": "Organization",
"name": "Techforce Global",
"url": "https://www.techforceglobal.com"
},
"provider": {
"@type": "Organization",
"name": "Apify",
"url": "https://apify.com"
},
"offers": {
"@type": "Offer",
"price": "15.00",
"priceCurrency": "USD",
"description": "From $15.00 per 1,000 products on the entry tier, less on higher Apify subscription tiers. Apify platform usage is billed separately. Current rates are shown on the Actor's Apify Store page.",
"url": "https://apify.com/techforce.global/quince-scraper"
},
"featureList": [
"No Quince account, API key or credentials required",
"Three input modes: free-text search, category dropdown, or a product URL list",
"Free-text search resolved through Quince's own search index rather than HTML scraping",
"323 preset category slugs selectable from a dropdown",
"Selling price and strike-through retail price on every product",
"Discount percentage computed from the two prices",
"Hero images for the primary colourway, deduplicated and absolute",
"The five most recent reviews per product, with email-shaped author handles masked",
"Average rating and total review count for the full picture beyond the five reviews",
"Every row stamped with the mode and the exact query, slug or URL that produced it",
"Non-product URLs written as explicit skip rows with the reason, never silently dropped",
"Records pushed as each product completes, so a mid-run failure keeps earlier progress",
"Proxy failures detected and answered with specific remediation guidance in the log",
"Missing values emitted as the string N/A so consumers never guard against null",
"Optional MCP delivery to Notion, Slack, Google Sheets, Airtable, Linear and more",
"Chunked delivery mode keeps long product lists under connector size and timeout caps"
],
"isAccessibleForFree": false,
"softwareRequirements": "Apify account and API token",
"softwareHelp": {
"@type": "CreativeWork",
"url": "https://apify.com/techforce.global/quince-scraper"
},
"keywords": "Quince scraper, Quince.com product data, price monitoring, discount tracking, competitor price scraping, e-commerce product data, review scraping, retail price comparison, MCP connector"
}
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Do I need a Quince account or API key?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. The Actor reads publicly available product pages. You need an Apify account and API token; you need no Quince credentials whatsoever."
}
},
{
"@type": "Question",
"name": "Is this an official Quince API?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. Quince publishes no public product API. This is an independent Actor and is not affiliated with, endorsed by, or sponsored by Quince."
}
},
{
"@type": "Question",
"name": "Do I need to configure proxies?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes - keep the residential proxy on. Quince sits behind Cloudflare, and the homepage probe fails fast with a clear message when a challenge is served. Residential groups require a paid Apify plan."
}
},
{
"@type": "Question",
"name": "Can I plug it into Claude, Cursor, or a LangChain agent?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes - it is a native MCP tool. Add it with: claude mcp add --transport http apify \"https://mcp.apify.com?tools=techforce.global/quince-scraper\""
}
},
{
"@type": "Question",
"name": "Which mode should I use?",
"acceptedAnswer": {
"@type": "Answer",
"text": "product_urls when you already know the SKUs, category to sweep a section, fuzzy_search for free-text intent. One mode per run."
}
},
{
"@type": "Question",
"name": "Why did I only get ~30 products from a category?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Category mode reads a single listing page and takes the products embedded in its server-rendered payload - there is no pagination. categoryMaxProducts caps that number; it cannot raise it. Use several narrower slugs, or supply product URLs."
}
},
{
"@type": "Question",
"name": "Can I scrape several categories or queries in one run?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No - one mode and one query or category per run. Loop the Actor in your orchestration layer."
}
},
{
"@type": "Question",
"name": "Can I get Canadian or other non-US pricing?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. region accepts US only - every request goes to the US storefront at www.quince.com and all prices are USD. Setting the Apify proxy country to another country does not change the storefront."
}
},
{
"@type": "Question",
"name": "Why is everything \"N/A\" instead of null?",
"acceptedAnswer": {
"@type": "Answer",
"text": "By design - the extractor emits the string N/A for any missing value so downstream code never has to guard against null. The trade-off: images and reviews are also the string N/A when absent, so type-check before iterating."
}
},
{
"@type": "Question",
"name": "Why only 5 reviews?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The Actor returns the 5 most recent reviews per product, plus averageRating and total reviewCount for the full picture."
}
},
{
"@type": "Question",
"name": "Are reviewer emails included?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. Author handles that look like email addresses are masked before being written - the local part is truncated and the domain is replaced entirely."
}
},
{
"@type": "Question",
"name": "Do I get stock levels or size/colour variants?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. Only the fields listed in the Output Contract, and images for the primary colour only."
}
},
{
"@type": "Question",
"name": "What is the MCP connector for?",
"acceptedAnswer": {
"@type": "Answer",
"text": "It pushes the scraped products straight into a tool you have already authorized on your Apify account - Notion, Slack, Google Sheets, Airtable, Linear, or any MCP-compatible connector - with no glue code. Credentials stay private: delivery runs through the Apify MCP Proxy, so the Actor never sees your connector tokens."
}
},
{
"@type": "Question",
"name": "Which delivery mode should I use?",
"acceptedAnswer": {
"@type": "Answer",
"text": "summary for a digest, chunked for long lists into services with request caps such as Notion, perProduct for row-per-product targets such as Sheets or Airtable, none for dataset-only runs."
}
},
{
"@type": "Question",
"name": "Does delivery work when running locally?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. Connectors resolve through the Apify MCP Proxy, which only exists on the platform. Locally you will see APIFY_MCP_PROXY_URL is not set and the dataset is saved as normal."
}
},
{
"@type": "Question",
"name": "What does it cost?",
"acceptedAnswer": {
"@type": "Answer",
"text": "From $0.015 per product - $15.00 per 1,000 results on the entry tier, less on higher subscription tiers. Apify platform usage is billed separately. No monthly subscription."
}
},
{
"@type": "Question",
"name": "How do I guarantee an agent never overspends?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Pass maxTotalChargeUsd as a query parameter on the run endpoint. It is a hard per-execution ceiling - the run stops rather than exceeding it."
}
}
]
}