ShopGoodwill Scraper
Pricing
from $3.00 / 1,000 results
ShopGoodwill Scraper
Scrape ShopGoodwill.com - Goodwill's official online auction marketplace for secondhand clothing, shoes, accessories, and jewelry. Search by keyword, browse by category or seller, or fetch full item detail by ID.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Scrape ShopGoodwill.com — Goodwill's official online auction marketplace for secondhand clothing, shoes, accessories, and jewelry. Search by keyword, browse by category or seller (Goodwill store), or fetch full item detail by ID. No login, no cookies, no paid proxy required.
What this actor does
- Four modes:
search,byCategory,bySeller,byItemIds - Keyword + brand + size narrowing — free-text search that can be combined with an optional brand and size keyword
- Category browsing — Women's, Men's, Children's, Juniors', Baby clothing, and Jewelry & Gemstones
- Seller/store browsing — pull every current listing from a specific Goodwill store
- Direct item lookup — full detail (description, all images, seller info, shipping) by item ID
- Filters — price range, sort order, buy-it-now only, local-pickup only, include closed/sold auctions
- Empty fields are omitted from every record
Output per item
Search / category / seller listing records:
itemId,title,descriptioncurrentPrice,startingPrice,buyNowPrice,isBuyNowAvailable,minimumBid,numBidsshippingPrice,discountPercentcategoryId,categoryName,categoryPathimageUrlstartTime,endTime,remainingTimesellerIditemQuantity,views,isStockPhotoitemUrl— direct link to the listingrecordType: "item",scrapedAt
Item-detail records (mode=byItemIds) add:
images[](full-resolution),thumbnailUrlsellerName,sellerUrlkeywords[]weightLbspickupCity,pickupState,pickupZip,pickupCountry,pickupOnlyhandlingPriceisAuction,bidIncrementshippingCarrierbidHistory[]— full live bid ledger (bidderNamemasked by ShopGoodwill,amount,time,isBuyNow) when the item has bids
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | search | search / byCategory / bySeller / byItemIds |
searchQuery | string | nike | Free-text keyword search |
brand | string | – | Brand keyword, ANDed into the search text |
sizeKeyword | string | – | Size keyword, ANDed into the search text |
categoryId | string | – | Category to browse/narrow by (see enum below) |
sellerId | integer | – | Numeric seller/store ID (mode=bySeller) |
itemIds | array | – | Numeric item IDs (mode=byItemIds) |
priceMin | integer | – | Minimum price (USD) |
priceMax | integer | – | Maximum price (USD) |
sortBy | string | endingSoonest | endingSoonest / endingLatest / priceLowToHigh / priceHighToLow |
buyNowOnly | boolean | false | Only Buy-It-Now listings |
pickupOnly | boolean | false | Only local-pickup listings |
includeClosedAuctions | boolean | false | Search recently-ended (sold) listings instead of live ones |
maxItems | integer | 40 | Hard cap on emitted records (1–2000) |
categoryId options — Clothing: 10 All Clothing · 27 Women's · 28 Men's · 29 Children's · 1729 Juniors' · 453 Baby · 137 Belt Buckles · 2272 Collegiate Wear · 169 Eyewear. Jewelry & Gemstones: 6 All · 84 Bracelets · 100 Brooches/Pins · 91 Costume Jewelry · 2240 Costume Jewelry Grabbags · 90 Earrings · 2241 Fine Jewelry Grabbags · 85 Jewelry Boxes · 102 Jewelry Sets · 436 Loose Gemstones · 101 Men's Accessories · 86 Necklaces · 87 Pendants · 353 Precious Metal Scrap · 88 Rings · 89 Watches.
Example: keyword search with price cap
{"mode": "search","searchQuery": "levis jacket","priceMax": 40,"sortBy": "priceLowToHigh","maxItems": 50}
Example: browse a category
{"mode": "byCategory","categoryId": "27","brand": "coach","maxItems": 100}
Example: everything from one seller
{"mode": "bySeller","sellerId": 16,"maxItems": 200}
Example: direct item lookup
{"mode": "byItemIds","itemIds": ["269254306", "268831482"]}
Use cases
- Resale/thrift price research — track sold prices for a brand or item type over time
- Sourcing for resellers — monitor a favorite Goodwill store's new listings
- Sustainable-fashion apps — surface secondhand clothing inventory by category
- Deal alerting — filter by price range and Buy-It-Now to catch underpriced listings
- Market analytics — aggregate category/brand-keyword demand across regions
Data source / limitations
Data comes from ShopGoodwill's public listing API — the same one that powers the website's search and category pages. No login, cookies, or paid proxy are required.
- ShopGoodwill does not expose structured brand or size facets anywhere in its API (listing payload, item-detail payload, or seller-info endpoint) — items are donated goods without a standardized catalog, so
brandandsizeKeywordare keyword terms ANDed into the free-text search rather than exact filters. Results depend on whether the seller mentioned that term in the title/description. The only place "size" appears structurally is as a same-named category several levels deep (e.g.Clothing > Men's Clothing > Shoes Men's > Size 14), and those size-level category IDs are not enumerated anywhere on the site (the live category-tree endpoint only returns 2 levels) — so they cannot be reliably exposed as a stable input enum. - The site is an auction marketplace, not a fixed-price catalog — most items have a
currentPrice(current bid) and many also have an optionalbuyNowPrice. There is no "condition" grade the way some resale marketplaces use (New/Like New/Good); the only condition-adjacent text is a generic, seller-wide "sold as-is" disclaimer that is identical across every listing from that seller, not item-specific, so it is intentionally not surfaced as an output field. There is likewise no seller feedback/rating score anywhere on ShopGoodwill (confirmed via the seller-info endpoint) — sellers only expose a company profile (city, return policy, customer-service hours). categoryIdnow covers both the top-level departments and their live level-2 subcategories (e.g. Jewelry → Rings/Necklaces/Watches/etc., Clothing → Belt Buckles/Collegiate Wear/Eyewear) — these were verified against ShopGoodwill's own live category-tree API and each returns hundreds to thousands of real matching items. Deeper level-3+ nodes (specific shoe/dress sizes) are not enumerable via any stable site API, so those are still reached by combiningcategoryIdwith a keyword insearchQuery.bidHistory(mode=byItemIds) reflects ShopGoodwill's own server-masked bidder names (e.g.b****r) — this is the same ledger shown on the live item page, not derived or guessed.includeClosedAuctionssearches a rolling 7-day window of recently-ended listings.
FAQ
Do I need an account or cookies? No. All modes work anonymously against ShopGoodwill's public listing API.
What currency are prices in? US dollars.
What does remainingTime look like? A short human string like "16s", "2m 16s", or "3d 4h" as returned live by ShopGoodwill at scrape time — it is not re-computed, so re-run the actor for a fresh value.
Why do some items have no buyNowPrice? Many auctions are bid-only; buyNowPrice (and isBuyNowAvailable) is only included when the seller enabled an instant-purchase price.
Can I get items ending in the far future? Some listings use placeholder end dates for ongoing "Buy It Now" style stock; sort by priceHighToLow or priceLowToHigh if endingSoonest results look unexpected.
How many items can I fetch in one run? Up to maxItems (max 2000) per run. ShopGoodwill paginates in batches of up to 40 items server-side; the actor pages through automatically.
Is bySeller mode the same as a Goodwill "store"? Yes — each regional Goodwill agency runs its own seller account on ShopGoodwill; sellerId identifies that store's listings.