Grailed Resale Listings Scraper avatar

Grailed Resale Listings Scraper

Pricing

Pay per event

Go to Apify Store
Grailed Resale Listings Scraper

Grailed Resale Listings Scraper

Scrape Grailed designer and streetwear resale listings — active and SOLD — via the Algolia search API. Returns full listing data including sold price, seller score, original price, and arbitrage-ready comparables.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Scrape Grailed designer and streetwear resale listings — both active and SOLD — via the Algolia search API. Returns full listing data including sold price, seller score, original retail price, and arbitrage-ready comparables.

What it does

This actor queries Grailed's Algolia search index directly, giving you fast and complete listing data without relying on rendered HTML. Each run:

  1. Fetches live Algolia credentials from the Grailed page (the search key rotates — hardcoded keys don't work)
  2. Pages through active listings in the Listing_production Algolia index
  3. Optionally pages through sold listings in the Listing_sold_production index
  4. Returns structured records with all fields needed for resale comps and arbitrage analysis

Use cases

  • Resale comps: filter by designer and category to see what items actually sold for vs. asking price
  • Brand arbitrage: track original retail price vs. resale price across brands and categories
  • Inventory research: survey active listings for a designer or category to understand market depth and pricing
  • Seller intelligence: combine seller score and total transactions to identify top-rated sellers

Input

FieldTypeRequiredDescription
categorystringone of theseGrailed category slug (e.g. outerwear, tops, bottoms, footwear, accessories)
designerstringone of theseDesigner / brand name (e.g. Supreme, Rick Owens, Comme des Garcons)
includeSoldbooleannoInclude SOLD listings (default: true)
maxItemsintegernoMax total listings to return. 0 = no limit (default: 0)

Either category or designer (or both) must be provided.

Example — sold Supreme outerwear comps:

{
"category": "outerwear",
"designer": "Supreme",
"includeSold": true,
"maxItems": 500
}

Example — all active outerwear listings:

{
"category": "outerwear",
"includeSold": false
}

Output

Each record contains:

FieldDescription
listing_idGrailed listing ID
titleListing title
designerBrand or designer name
departmentmenswear or womenswear
categoryTop-level category (e.g. outerwear)
sub_categorySub-category (e.g. parkas)
sizeItem size
conditionCondition string (e.g. is_gently_used)
priceAsking price in USD
original_priceOriginal retail price in USD
soldtrue if the listing has sold
sold_priceFinal sold price in USD (sold listings only)
sold_atISO-8601 timestamp when sold
seller_usernameGrailed username of the seller
seller_scoreSeller rating average (0–5)
locationSeller's country
listing_urlFull URL to the listing on Grailed
photo_urlPrimary listing photo URL
created_atWhen the listing was created
updated_atWhen the listing was last updated
scrapedAtISO-8601 scrape timestamp

Performance and limits

  • Speed: ~1000 listings/page, ~200ms between pages — expect ~5-10k listings/minute
  • Memory: 256 MB (no browser, pure JSON API)
  • Algolia limits: Max 500 pages x 1000 hits = 500k results per query. For categories with more than 500k listings, use designer + category filters together to scope queries under that limit.
  • Proxy: No proxy required — direct HTTP + impit TLS fingerprint works. DataImpulse residential 403s on Grailed.

Notes

  • Grailed's Algolia search key rotates. The actor extracts the live key from the page on each run — do not attempt to hardcode credentials.
  • Sold listings data is only available for items sold through the Grailed platform.
  • The original_price field is populated only when the seller entered it manually.