Faire Scraper | Products, Brands & Categories avatar

Faire Scraper | Products, Brands & Categories

Pricing

from $2.20 / 1,000 results

Go to Apify Store
Faire Scraper | Products, Brands & Categories

Faire Scraper | Products, Brands & Categories

Extract guest-visible Faire products, brands, categories, retail prices and reviews for your selected market. Pay per delivered row plus a start fee; export JSON, CSV or Excel.

Pricing

from $2.20 / 1,000 results

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

1

Bookmarked

6

Total users

2

Monthly active users

11 hours ago

Last modified

Security

Limited permissions

Share

Faire Scraper

Extract guest-visible Faire products, brands and categories for your selected market as rows you can export.

  • Product names, identifiers, images, minimum quantities and available retail or tester prices.
  • Brand catalogs, supplier-directory entries and category paths.
  • Optional purchase-option and product-review rows.
  • Multiple Faire URLs in one run.
  • $3.00 per 1,000 rows on the Free plan, plus a start fee.

What does Faire Scraper do?

Faire Scraper collects public catalog information from Faire.com for assortment research, brand discovery and price comparisons. It does not sign in as a retailer or return retailer-only wholesale prices. This is an independent tool, not affiliated with Faire.

  • Category: products under categoryPath.
  • Discover: products for discoverSlug or keyword.
  • Brand: a brand's catalog using brandToken.
  • Product: details for productToken.
  • Categories: category-tree rows with mode: "categories".
  • Suppliers: brand-directory rows with mode: "suppliers".
  • Optional rows: expandVariants, includeReviews and includeRelated are off by default. Each added row is billed at the same rate and counts toward the row limit.

country selects the market; the default is USA. The input form lists 31 accepted market codes, including GBR, CAN, AUS and DEU. An accepted code does not guarantee that every product is available there. locale defaults to en; use English search terms.

What data can you extract from Faire?

Each row represents one entity. Fields depend on the row type and what Faire exposes. The examples below illustrate field formats, not verified current offers.

Fields shared across row types

FieldDescriptionExample
rowTypeEntity type: product, variant, review, brand or categoryproduct
idEntity identifier within its row typep_example
urlFaire page link, when availablehttps://www.faire.com/product/p_example
contentDepthCoverage label, not a promise of wholesale accessguest_full

Product rows

FieldDescriptionExample
productTokenFaire product identifierp_example
nameProduct display nameExample ceramic planter
brandTokenBrand identifierb_example
minOrderQuantityMinimum product order quantity6
optionCountNumber of available purchase options, when fetched2
optionPriceMinLowest option retail price in major currency units18.5
optionPriceMaxHighest option retail price in major currency units24
optionPriceCurrencyCurrency for the option price rangeUSD
imagesAvailable product image objects[]

Variant rows

FieldDescriptionExample
optionTokenPurchase-option identifierpo_example
productTokenParent product identifierp_example
displayNameOption nameBlue
retailPriceCentsRetail price in minor currency units1850

Review rows

FieldDescriptionExample
reviewTokenSource review identifier, when suppliedpr_example
ratingNumeric review rating5
commentReview textExample review text

Brand rows

FieldDescriptionExample
brandTokenFaire brand identifierb_example
nameBrand display nameExample Homewares
minimumOrderAmountMinimum order amount and currency{"amountCents": 10000, "currency": "USD"}
averageRatingBrand's reported average rating4.8
activeProductsCountReported active product count24

Category rows

FieldDescriptionExample
categoryPathSlash-separated category pathHome Decor/Kitchen & Tabletop
nameCategory labelKitchen & Tabletop
treeLevelSource category-tree depth2
localeCategory languageen

How to scrape Faire

  1. Open Faire Scraper in Apify Console.
  2. Fill one target field, such as keyword or startUrls.
  3. Leave mode on auto and set maxResults to 3 for a small first run.
  4. Click Start and wait for completion.
  5. Open the dataset and download the rows, or read them through the API.

Empty input starts the Home Decor example from the form, limited to 3 rows. This example is billed normally, including the start fee. Filling one target field selects the mode automatically. The untouched example URL is ignored when you supply another target or choose a mode explicitly.

Category

Fill categoryPath, for example Pets. A plain phrase is matched to a category, or searched when no category matches.

Discover

Fill keyword or discoverSlug, for example candles. Search phrases are lowercased and spaces become hyphens. Unrelated suggestions are not guaranteed to produce usable rows.

Brand

Fill brandToken from a Faire brand URL. Results can contain brand information and products from that brand's catalog.

Product

Fill productToken from a Faire product URL. Enable optional rows only if you need them; they share the product's row allowance.

Categories

Choose mode: "categories" without a target. Use topLevelOnly for top-level categories, or crawlSubcategories to prefer deeper paths.

Suppliers

Choose mode: "suppliers". Without a URL, the Actor uses Faire's All Brands directory. You can supply a suppliers-page URL instead.

What to fill in

FieldWhat to enterDefault
modeauto, category, discover, brand, product, categories or suppliersauto
startUrlsFaire category, discover, brand, product or suppliers linksHome Decor example in the form
categoryPathCategory name or pathEmpty
discoverSlugSearch phrase or discover slugEmpty
keywordSearch phrase when discoverSlug is emptyEmpty
brandTokenBrand ID beginning with b_Empty
productTokenProduct ID beginning with p_Empty
maxResultsMaximum rows per URL or selected target, 1–5,00070; form example 3
countryMarket code from the formUSA
localeLanguage hinten
enrichDetailsAdd available details to listing rowstrue
enrichLimitDetail limit; 0 uses the smaller of the row allowance and 800
expandVariantsSeparate purchase-option rowsfalse
includeReviewsSeparate product-review rows; needs details outside product modefalse
includeRelatedAvailable related products in product modefalse
sortByRequested category sort, such as newEmpty
filterKeysCategory filter keys from Faire's filter panelEmpty
brandFiltersFilter value from a brand-page URLEmpty
pageListing start page, 1–5001
pageSizeRequested listing page size, 1–12060
maxPagesRequested listing-page limit; not a delivered-row cap10
autoPaginatePagination preference; see limitationstrue
crawlSubcategoriesPrefer deeper category pathsfalse
topLevelOnlyReturn only top-level categoriesfalse

Category:

{"categoryPath": "Pets", "maxResults": 3}

Discover:

{"keyword": "candles", "country": "GBR", "maxResults": 3}

Brand:

{"brandToken": "b_8yruuuqrma", "maxResults": 3}

Product:

{"productToken": "p_vafjzd5w6a", "expandVariants": true, "maxResults": 3}

Categories:

{"mode": "categories", "topLevelOnly": true, "maxResults": 3}

Suppliers:

{"mode": "suppliers", "maxResults": 3}

Multiple URLs:

{
"startUrls": [
"https://www.faire.com/category/Pets",
"https://www.faire.com/discover/candles"
],
"maxResults": 3
}
  • maxItems and limit are accepted as maxResults; query and q are accepted as discoverSlug.
  • With mode: "auto", target priority is startUrls, productToken, brandToken, categoryPath, then discoverSlug or keyword. Each URL identifies its own target.
  • Unknown fields do not fail the run. Close misspellings are corrected where possible; other unknown fields are ignored with a note. Invalid market values are ignored, leaving the default market.
  • Invalid targets stop collection with a field-and-fix message, such as INVALID_INPUT: startUrls — use faire.com links. No rows are charged; the start fee still applies.
  • INPUT_REPORT in the default key-value store records input interpretation, corrections and ignored fields. INPUT_ECHO shows normalized settings; RUN_SUMMARY records delivered counts and warnings. Failures can also write ERROR_SUMMARY.

Output example

Illustrative product row; actual fields and values depend on the source:

{
"rowType": "product",
"id": "p_example",
"productToken": "p_example",
"brandToken": "b_example",
"name": "Example ceramic planter",
"title": "Example ceramic planter",
"url": "https://www.faire.com/product/p_example",
"contentDepth": "guest_full",
"minOrderQuantity": 6,
"optionCount": 2,
"optionPriceMin": 18.5,
"optionPriceMax": 24,
"optionPriceCurrency": "USD",
"source": "faire.com"
}

You can export the dataset as JSON, CSV, Excel, XML, RSS or an HTML table. Product rows hold option counts and price ranges rather than embedded option and review lists. Optional rows carry the parent productToken for joining them back to products.

Why use this Faire scraper?

  • Row-based billing. The row charge applies to delivered rows, not attempted pages; a separate start fee applies.
  • Partial delivery. Available partial results can be delivered with warnings. Rows already written remain in the dataset; forcing a stop before delivery can leave no rows.
  • Inspectable input. Check INPUT_REPORT rather than guessing which target was selected.
  • Source-dependent fields. Missing prices or reviews are not replaced with invented values.
  • Multiple inputs. Collect several Faire URLs in one run.
  • No proxy setup. You do not need to set up proxies or provide a Faire retailer login.

How much does it cost to scrape Faire?

The Actor uses pay-per-event pricing: $0.005 per start event, plus a charge per delivered row. Start events scale with memory at one event per GB, with a minimum of one. At the default 512 MB, one start event costs $0.005. Platform usage is included in these prices.

Apify planPrice per rowPrice per 1,000 rows
Free$0.003$3.00
Starter$0.003$3.00
Scale$0.0026$2.60
Business$0.0022$2.20
  • maxResults applies to each URL or selected target. The default is 70; larger requests are collected in parts of 70.
  • Products, variants, reviews, related products, brands and categories all count toward the allowance. Three rows need not mean three products.
  • Free Apify accounts are limited to 200 rows per run and 10 runs of this Actor. These are developer-set limits.
  • Maximum cost per run (maxTotalChargeUsd in the API) limits the whole run's spend, including the start fee, and can reduce the rows delivered.

Example: two distinct URLs delivering 3 rows each produce 6 billable rows. With one start at 512 MB on the Free plan: 6 × $0.003 + $0.005 = $0.023. Fewer available rows means a lower row charge.

What happens when the run timeout is too short

When more time is needed and automatic continuation is accepted, the run pauses with the message "Queued on the collection backend; this run will resume automatically when results are ready (about N s)." It temporarily appears as ABORTED. When results are ready, the same run resumes, delivers rows to the same dataset and finishes as SUCCEEDED. Delivery can report "Resumed: delivering N rows." Already-delivered rows are skipped rather than charged twice.

This can happen at most 3 times per run. Keep the default timeout of 3600 seconds to reduce interruptions. Automatic continuation does not turn collection errors or a manual abort into guaranteed success.

The synchronous API endpoints run-sync and run-sync-get-dataset-items wait at most 300 seconds and can return an empty dataset while the run is paused. For longer jobs, start asynchronously and read the dataset after SUCCEEDED, or use a webhook for that event.

Use with AI agents and the API

Apify MCP server (Claude, ChatGPT, Cursor, VS Code)

Add this Actor to an MCP client with remote-server support:

https://mcp.apify.com?tools=lentic_clockss/faire-scraper

Sign in through Apify OAuth when prompted, or send Authorization: Bearer <YOUR_APIFY_TOKEN>. The tool starts a run and returns its run and dataset IDs; the agent can then read rows with get-dataset-items.

Clients without remote support can use npx @apify/actors-mcp-server --tools lentic_clockss/faire-scraper with APIFY_TOKEN set.

Example prompt: "Find up to 3 Faire rows for candles in the United Kingdom using keyword candles, country GBR and maxResults 3."

Apify API

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("lentic_clockss/faire-scraper").call(
run_input={"keyword": "candles", "maxResults": 3}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('lentic_clockss/faire-scraper').call({
keyword: 'candles', maxResults: 3,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

For HTTP, send the JSON input to POST https://api.apify.com/v2/acts/lentic_clockss~faire-scraper/runs with an Authorization: Bearer <YOUR_APIFY_TOKEN> header. Read results with GET https://api.apify.com/v2/datasets/<datasetId>/items?format=json after the run succeeds.

Integrations

Use the Integrations tab to connect results to Google Sheets, Make, Zapier, n8n, Slack, Airtable or a webhook. Use Apify Schedules for recurring runs.

FAQ

Public availability is not permission for every use. You are responsible for checking Faire's terms and applicable data-protection law. Processing personal data requires a lawful basis.

Why did my run end as ABORTED?

Check the status message. Automatic continuation temporarily uses this status before the same run resumes. A manual abort or another failure is different; see the timeout section.

How many results can I get?

Request 1–5,000 rows per input with maxResults. Availability, optional rows, free-plan limits and the maximum run cost can reduce delivery. Empty input requests only the 3-row example.

Why are some fields empty?

Faire does not expose every field to guests. Listing rows can be sparse when details are unavailable or enrichDetails is off. Missing option counts mean unknown, not zero.

Do I get wholesale login prices?

No. Available retail or tester prices are not retailer-only wholesale price tiers. A guest_full label means fuller guest detail, not authenticated access.

Can I use URLs instead of tokens?

Yes. Put Faire category, discover, brand, product or suppliers links in startUrls. Faire subdomain links are normalized to www.faire.com where needed.

Their switches are off by default. Even when enabled, Faire may expose none, or the row allowance may be used by earlier rows. Reviews outside product mode require enrichDetails.

What does a partial result mean?

Some usable rows were collected but other pages or details were unavailable. Check RUN_SUMMARY warnings. Try fewer rows or a longer timeout when the run stopped early.

Limitations

  • Guest-visible catalog data only; no private accounts, retailer-only prices or guaranteed contact information.
  • Market selection does not guarantee stock, shipping eligibility or complete catalog coverage.
  • maxPages and autoPaginate are not strict delivery limits: row-based collection may continue paging to fill maxResults.
  • Sort and filter effects depend on the source. Pagination can end before the requested row count.
  • No automatic translation of search terms is promised.
  • Collection failures can produce no rows. A manually stopped run may end before any dataset delivery.

More e-commerce and marketplace scrapers from the same publisher:

Browse all of our scrapers at apify.com/lentic_clockss.

Support

Found a problem or need another field? Open an issue in the Issues tab of this Actor's page and include the run ID and the input you used.