GOAT Scraper for Price by Size and Last Sale Data

GOAT Scraper
Solutions

Scope, cadence and output

Scope is usually a brand, a silhouette, a collection or a list of style codes. We resolve those to product template slugs, walk the catalogue, then pull the size grid for each template under the country codes you care about.

Output leaves as CSV, JSON, XLSX or an API endpoint, on the cadence you set - daily for a watchlist, tighter around a Friday drop, weekly for a full brand sweep. The schema holds steady between runs, and the slug and product template id stay in every row, so yesterday and today diff cleanly.

Scraping goat.com is a maintenance job rather than a one off script, because the search layer, the facet names and the price payload all move. That maintenance is ours.

Fields a GOAT scraper returns

Two records make a complete GOAT extract: the product template, which describes the shoe, and the buy bar, which prices it size by size. We normally deliver both, joined on the product template id.

  • Identity - slug, numeric product template id, name, nickname, sku (the style code), brand name, silhouette, designer, season and release date.
  • Classification - productCategory, productType and a four level taxonomy, for example Footwear, Sneakers, Basketball, Lifestyle Basketball.
  • Sizing - sizeBrand, sizeUnit, sizeType and the full sizeRange, plus separate availability arrays for new stock, used stock and new stock with defects.
  • Price per size - one row for each size and condition, carrying the lowest ask, the lowest "Instant Ship" ask and the last sale, each expressed as a currency, a local amount and a USD cent amount.
  • Condition - shoeCondition values such as new_no_defects and new_with_defects, and boxCondition values such as good_condition and badly_damaged.
  • Stock - a stockStatus on every row, seen as single_in_stock, multiple_in_stock and not_in_stock.
  • Retail anchor - the display price GOAT shows for an unreleased or retail priced pair, which is what you subtract to get the premium over retail.
  • Depth counts - sellingCount, usedForSaleCount and withDefectForSaleCount, the signals behind a thin size run or a crowded one.
  • Media and copy - main and grid picture URLs on the image transform host, plus the editorial story text held on the template.

Every row is stamped with the country code and the currency it was collected under, because those two change the answer.

Fields a GOAT scraper returns
Condition tiers, Instant Ship and shipping region

Condition tiers, Instant Ship and shipping region

Condition on GOAT is not a single field. The buy bar splits into tabs labelled "Buy New", "Buy Used" and "Make Offer", and the filter rail carries "New", "Used", "New With Defects", "GOAT Clean", "Instant Ship" and "Under Retail" as separate switches. Each one changes which rows you see and what they cost.

"Instant Ship" marks stock GOAT already holds and has verified, so it moves without a seller leg and is priced on its own line rather than folded into the lowest ask. "GOAT Clean" is worn stock that GOAT cleans, grades and photographs itself, with grades worded "Like New", "Excellent", "Very Good" and "Good". Box condition rides alongside shoe condition, with on site wording such as "New / Good Condition" and "New / No Original Box".

Shipping region matters more here than on most marketplaces. Request the same style under a different country code and the asks move, the "Instant Ship" price moves, and a size can flip from single_in_stock to multiple_in_stock, because the set of sellers able to reach that country is different. The last sale converts from one USD amount, so it holds still. A currency cookie switches the display currency, and every price object still carries a USD cent value, which keeps a mixed region extract comparable in one column.

GOAT as a data source

GOAT is a resale marketplace for sneakers, apparel, bags, jewelry and collectibles, operated by GOAT Group, which also runs Flight Club, alias and Grailed. Sellers list, GOAT authenticates, and buyers order into a long list of shipping countries. The storefront serves locale prefixed paths such as /en-gb/ and /ja-jp/ over the same catalogue.

A sneaker listing sits at /sneakers/ plus a slug, and the slug ends in the manufacturer style code with the spaces turned into hyphens. The record behind air-jordan-12-retro-bucks-ct8013-103 stores sku "CT8013 103", so the join back to a retail catalogue is already sitting in the URL. Apparel, bags, jewelry and collectibles have their own top level paths, and browse pages follow /brand/, /sneakers/brand/, /sneakers/silhouette/, /sneakers/designer/ and /collections/.

Pages are served by Next.js and the descriptive attributes are embedded in the first response. The grid on a browse page is not: the server rendered payload ships an empty search block next to a flag named isCrawler, and the tiles arrive afterwards from a Constructor.io index. Prices by size are absent as well. They come from a separate call keyed by the numeric product template id and a two letter country code.

Get a Quote
dev_w
25

Developers

customers
500+

Customers worldwide

pages
1 500 000 000+

Pages extracted

stime
15000+

Hours saved for our clients

Plans

Airplane

€199 / one-time

setup fee - included

Data limits100,000
Frequencyone-time
Run timeup to 5 days
Data storing7 days

Helicopter

€169 / mo

setup fee €499

Data limits250,000
Frequencymonthly
Run timeup to 5 days
Data storing14 days

Glasses

€229 / mo

setup fee €499

Data limits1,000,000
Frequencyweekly
Run timeup to 5 days
Data storing30 days

DNA

€549 / mo

setup fee €799

Data limits3,000,000
Frequency3 times daily
Run timesame day
Data storing90 days

What GOAT price data answers

Teams scrape GOAT for three jobs, and they are not the same job.

The first is pricing a size run. One style does not have one price. Size 8 and size 12 in the same colorway can sit far apart, and the shape of that curve is what decides which sizes are worth holding. A GOAT scraper that returns every size in a single pull produces the curve; a spot check on the headline figure does not.

The second is the distance between what sellers ask and what buyers actually paid. GOAT prints a lowest ask and a "Last Sale" beside each other in the buy bar, and that gap, read per size, is the clearest signal that a style is cooling. GOAT publishes one last sale figure per size rather than a history, so the series exists only if somebody records it on a cadence. That is what a managed run is for.

The third is the style code join. Because sku holds a manufacturer code, GOAT price data lines up against retail feeds, brand release calendars and other resale venues without fuzzy title matching.

Release timing sits underneath all three. A template carries its release date, and asks and sold prices appear on sizes before that date arrives, so the pre release window, the drop itself and the first days of open trading are three different price regimes on the same slug. Sampling has to be tight enough to separate them.

Related Case Studies

The Entire Iherb Supplements Catalog, Captured End-to-End in 3 Days

The Entire Iherb Supplements Catalog, Captured End-to-End in 3 Days

Scraping supplement products from iHerb.com with full details, including descriptions and packaging variations.

Learn More about The Entire Iherb Supplements Catalog, Captured End-to-End in 3 Days
The Lowest Allegro Prices from 150K Eans Collected

The Lowest Allegro Prices from 150K Eans Collected

Daily scraping of lowest prices for 150K products on Allegro.pl to support marketplace pricing and margin optimization.

Learn More about The Lowest Allegro Prices from 150K Eans Collected
Ralph Lauren Monitoring on Amazon, 8 Markets Scanned Into One Clean Dataset

Ralph Lauren Monitoring on Amazon, 8 Markets Scanned Into One Clean Dataset

Regular monitoring of Ralph Lauren clothing, footwear, and accessories sold across Amazon subdomains: AE, DE, ES, FR, IT, NL, PL, UK.

Learn More about Ralph Lauren Monitoring on Amazon, 8 Markets Scanned Into One Clean Dataset
Our Blog

Reads Our Latest News & Blog

Learn how to use web scraping to solve data problems for your organization

6 E-Commerce Sites Like eBay to Scrape in 2026

6 E-Commerce Sites Like eBay to Scrape in 2026

If you sell online, run a marketplace, or advise e-commerce clients, you already know why eBay matters: it’s one of the few places where big retailers compete side by side with thousands of small merchants and private sellers.

Top 8 E-commerce Websites to Scrape in 2026 (From Amazon to 1688)

Top 8 E-commerce Websites to Scrape in 2026 (From Amazon to 1688)

E-commerce teams do not just need “some” competitor data anymore. They need a continuous stream of real prices, discounts, stock levels, reviews, and seller behavior from the platforms that actually shape their markets.

How to Scrape Amazon Data: Benefits, Challenges & Best Practices

How to Scrape Amazon Data: Benefits, Challenges & Best Practices

Amazon provides valuable information gathered in one place: products, reviews, ratings, exclusive offers, news, etc. So scraping data from Amazon will help solve the problems of the time-consuming process of extracting data from e-commerce.

scrapeit logo

Who runs the crawler

ScrapeIt is a managed scraping team. We write the crawler, run it on our infrastructure, watch it when goat.com changes, and repair it before the gap reaches your reports. You receive data, not a repository to maintain.

Collection stays on publicly reachable pages, at a rate that does not strain the site, and we do not gather personal details about sellers or buyers. Send us the scope and we will size the work.

FAQ

Does GOAT have a public API?

No. There is no developer portal and no documented product API: checked on 2026-08-27, goat.com/api, goat.com/developers and goat.com/partners all answer 404. The site and the mobile app talk to internal JSON endpoints under /api/v1/ that are undocumented, unversioned for outside use and free to change without notice, and GOAT's Terms of Use restrict access through spiders, robots, crawlers and data mining tools. So there is no key to request. We collect from publicly reachable pages instead, honour robots.txt, keep the request rate low, and ask you to confirm that your intended use of the data is compatible with the site's terms before a run starts.

Can you get the last sale price and not just the asking price?

Yes. The buy bar returns a last sold figure next to the lowest ask for each size, and both come back on an ordinary public request. What GOAT does not publish is a history: it is one last sale per size, overwritten when the next pair sells. If you want a curve rather than a snapshot, we sample on a schedule and keep every observation, so the history is one we build for you and you own it.

Do GOAT prices change depending on the shipping country?

Yes, and it is worth planning for. The same style and the same size come back with different asks and sometimes a different stock status under a different country code, because the sellers able to ship there differ. The last sale converts from a single USD amount, so that one does not move. We collect per country and stamp each row with the country code and currency, which keeps the comparison honest.

Can we match GOAT products to our own catalogue?

Usually on the style code. GOAT holds it in a field named sku, spaced the way the brand writes it, and repeats it at the end of the URL slug in lowercase with hyphens. That leaves two join keys plus the numeric product template id, which is stable and is the key the size grid is fetched by. Watch for grade school, toddler and women's versions of the same colorway: each carries its own style code and its own size run, so they arrive as separate products, not variants.

Is GOAT data the same as Flight Club data?

The catalogue overlaps heavily; the pricing does not. Both are GOAT Group storefronts and their sitemaps are published from the same host. Reading the Nike sneaker sitemap shard of each site on 2026-08-27, both held 50,000 URLs and 38,198 of the slugs were identical strings, so nike-air-max-2015-698902-006 resolves on goat.com and on flightclub.com. Inventory, asks and fees are separate ledgers, so if you need both marketplaces you need both crawled.

How does it Work?

Step 1 - Make a Request

You share your needs, expectations, and desired timeframe. We’ll suggest the best solution based on your request and budget.

Step 2 - Configuring Custom Web Crawlers

Our specialists configure the crawlers and extract a sample dataset for your review before proceeding with the full-scale extraction.

Step 3 - Collect and Deliver

Once you approve the sample, we launch the project and start full data collection. We gather, filter, and structure the data for easy use, delivering it on time in your preferred format.

Step 4 - Maintain and Support

Our team manages ongoing processes, monitors website changes, and supports all data extraction cycles. We can also help integrate data into your systems or create dashboards to simplify analysis.

Request a Quote

Tell us more about you and your project information.
Which sites, which fields, how often. A couple of lines is enough.

We reply within 1 business day. No obligation.

scrapiet

Scrapeit Sp. z o.o.
10/208 Legionowa str., 15-099, Bialystok, Poland
NIP: 5423457175
REGON: 523384582