ScavioScavio
Pricing
Tools
Sign InsGet Startedg
Blog
Saks10 min readNov 10, 2026

How to Get Saks Fifth Avenue Sale Prices, Stock by Size and Store Availability With an API

Get Saks Fifth Avenue sale prices with Scavio's Saks API: a designer's sale items, units per size, store stock near a ZIP. 9 endpoints, 2 credits a call.

Scavio Team

Nov 10, 2026

Try the Saks Fifth Avenue API free
scavio
Ecommerce / Price monitoring
Saks

To get Saks Fifth Avenue sale prices programmatically, use Scavio's Saks Fifth Avenue API. POST /api/v1/saks/brand with a designer's slug and on_sale: true returns only that designer's sale items, and /deals returns the whole Sale, Women's Clothing Sale or Men's Sale list, 24 grid positions a page with price, regular price, sale price and percent off. /product lists every SKU with its online warehouse units, a color and size call names the SKU behind each size, and /store-availability checks that size at the Saks stores near a ZIP. All 9 endpoints cost 2 credits a call, $2 per 1,000 requests on the Growth plan.

Every response below was captured on November 10, 2026, seventeen days before Black Friday, with Saks' sale and its gift-card event running. Prices are US dollars from saksfifthavenue.com; the API covers the US site only. Listing calls (designer page, sale lists, search, category) took 4.2 to 10.9 seconds a page and the designer index 9.2, so give your client a timeout of at least 90 seconds; product, stores, store availability and suggestions answered in 1.1 to 3.3 seconds, apart from one product call at 8.8.

Step 1: Find the designer's slug

Bash
curl -s https://api.scavio.dev/api/v1/saks/designers \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

The A-Z index returned 1,196 designers. Three of them, as captured:

JSON
{
  "letter": null,
  "total": 1196,
  "count": 1196,
  "designers": [
    { "name": "A.L.C.", "slug": "a.l.c.", "url": "https://www.saksfifthavenue.com/brand/a.l.c.", "letter": "A" },
    { "name": "ALICE + OLIVIA", "slug": "alice-olivia", "url": "https://www.saksfifthavenue.com/brand/alice-olivia", "letter": "A" },
    { "name": "Chloé", "slug": "chloé", "url": "https://www.saksfifthavenue.com/brand/chlo%C3%A9", "letter": "C" }
  ]
}

Pass the slug exactly as given, dots and accents included, to /brand. Send {"letter": "V"} for one letter.

Step 2: Pull one designer's sale (the Saks designer sale)

Bash
curl -s https://api.scavio.dev/api/v1/saks/brand \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"brand": "versace", "on_sale": true}'

Versace's sale came back in 10.9 seconds: 26 items, 24 on this page and 2 on the next. The page header, the deepest item and the isSale facet, as captured (the image URL and 5 other facets trimmed):

JSON
{
  "brand": { "name": "Versace", "slug": "versace", "url": "https://www.saksfifthavenue.com/brand/versace/sale" },
  "total": 26,
  "page": 1,
  "total_pages": 2,
  "per_page": 24,
  "start": 0,
  "next_start": 24,
  "sort": "featured",
  "count": 24,
  "items": [
    {
      "id": "0400024223030",
      "variant_id": "24223037",
      "title": "Draped Medusa Head Body-Con Gown",
      "brand": "Versace",
      "url": "https://www.saksfifthavenue.com/product/versace-draped-medusa-head-body-con-gown-0400024223030.html",
      "price": 1436.39,
      "price_max": null,
      "regular_price": 3990,
      "regular_price_max": null,
      "sale_price": 1436.39,
      "on_sale": true,
      "percent_off": 64,
      "currency": "USD",
      "review_count": null,
      "badge": "Exclusive",
      "is_final_sale": null,
      "is_clearance": false,
      "returnable": true,
      "limited_inventory": true,
      "promotions": ["Earn a $50-$500 Gift Card with Code NOVGC"],
      "product_type": "master",
      "colors": []
    }
  ],
  "applied_filters": { "isSale": ["Sale"] },
  "facets": [
    {
      "id": "isSale",
      "label": "Sale",
      "values": [
        { "label": "Sale", "value": "Sale", "count": 26, "selected": true },
        { "label": "Not Sale", "value": "Not Sale", "count": 640, "selected": false }
      ]
    }
  ]
}

So 26 of Versace's 666 Saks items were on sale, 18 of them at 50% off or more. Walk the rest with "start": 24 (the previous next_start) until next_start is null. Run the same call for Golden Goose, Chloé, Burberry and Bottega Veneta and the depth differs by designer: all 19 Chloé sale items were 55% or 64% off, 24 of Golden Goose's 26 were 25% off (chart in the comparison post). Add sort: "price_low_to_high", size, color, min_price or max_price to narrow it further.

Two things to read correctly. When an item sells at a range, price is the low end and price_max the high end, and percent_off compares the two low ends: Versace's Stretch-Cotton T-Shirt read $206.50 to $295 against a regular $295, so some of its colors or sizes were still at full price. And promotions[] is Saks' text as printed; the gift-card code is not applied to price.

Step 3: Watch the Saks sale and new arrivals

Bash
curl -s https://api.scavio.dev/api/v1/saks/deals \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type": "sale"}'

The Sale list returned "label": "Sale", total: 15390 and total_pages: 642 in 4.9 seconds. Its first item, with the price fields and flags kept:

JSON
{
  "id": "0400027988798",
  "title": "Basketball Mule Sneakers",
  "brand": "Balenciaga",
  "price": 709,
  "price_max": null,
  "regular_price": 1190,
  "sale_price": 709,
  "on_sale": true,
  "percent_off": 40,
  "is_final_sale": null,
  "returnable": true,
  "promotions": []
}

Change type to womens_sale, mens_sale, womens_new_arrivals or mens_new_arrivals for the other lists. The brand facet on the Sale list counted 536 designers with sale items, from Oradina with 625 and Polo Ralph Lauren with 579 down to Fendi with 1, so one call tells you which designers to walk. To keep several designers in one list, send their facet names: {"type": "womens_sale", "brand": ["Gucci", "Prada"], "size": "Medium"}. There is no Black Friday or clearance list on Saks, so for Black Friday week watch the Sale list and the designers you care about daily.

Step 4: Search with size, price and sale first

A shopper in r/AmexPlatinum set up a daily search for men's sweaters, size Large, under $150, in stock on Saks. As one call:

Bash
curl -s https://api.scavio.dev/api/v1/saks/search \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "sweater", "size": "Large", "max_price": 150, "filters": {"refGender": "Men'"'"'s"}, "sort": "sale_first"}'

19 sweaters in 6.3 seconds, the 17 on sale first. The header and two items (most item fields trimmed):

JSON
{
  "query": "sweater",
  "total": 19,
  "page": 1,
  "total_pages": 1,
  "start": 0,
  "next_start": null,
  "sort": "sale_first",
  "count": 19,
  "applied_filters": { "refGender": ["Men's"], "sizeRefinement": ["Large"], "max_price": 150 },
  "items": [
    { "id": "0400024371594", "title": "Gregory Wool-Blend Crewneck Sweater", "brand": "rag & bone", "price": 120.68, "regular_price": 298, "sale_price": 120.68, "on_sale": true, "percent_off": 60, "limited_inventory": true },
    { "id": "0400027601808", "title": "Cotton Cable-Knit Crewneck Sweater", "brand": "Polo Ralph Lauren", "price": 145, "regular_price": 145, "sale_price": null, "on_sale": false, "percent_off": null, "limited_inventory": false }
  ]
}

Sizes take the size facet's label: "Large" works, while an abbreviation such as "M" matches nothing and returns total: 0 rather than an error, so check total and the facet's selected flags. The other sorts are featured, best_sellers, newest, price_high_to_low, price_low_to_high and brand_az. The size filter keeps items Saks lists in that size; to confirm the size is in stock today, read the product (Step 5).

Step 5: Read a product's sizes and units

Bash
curl -s https://api.scavio.dev/api/v1/saks/product \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_id": "0400024665280"}'

Chloé's Loti Suede Platform Pumps, one of Chloé's 19 sale items, in 1.7 seconds (description, images, colors, attributes and a few flags trimmed):

JSON
{
  "requested_id": "0400024665280",
  "id": "0400024665280",
  "master_id": "0400024665280",
  "type": "master",
  "title": "Loti Suede Platform Pumps",
  "brand": "Chloé",
  "upc": null,
  "price": 607.49,
  "regular_price": 1350,
  "sale_price": 607.49,
  "on_sale": true,
  "percent_off": 55,
  "promotions": [{ "id": "29149600", "name": "Gift Card Event", "message": "Earn a $50-$500 Gift Card with Code NOVGC" }],
  "selected": { "color": "PEACHY PINK", "size": null },
  "sizes": [
    { "value": "36 (6)", "label": "36 (6)", "selected": false, "selectable": false, "availability": "NOT_AVAILABLE", "waitlist": true },
    { "value": "37 (7)", "label": "37 (7)", "selected": false, "selectable": false, "availability": "NOT_AVAILABLE", "waitlist": true },
    { "value": "37.5 (7.5)", "label": "37.5 (7.5)", "selected": false, "selectable": true, "availability": "IN_STOCK", "waitlist": true },
    { "value": "38.5 (8.5)", "label": "38.5 (8.5)", "selected": false, "selectable": true, "availability": "IN_STOCK", "waitlist": true },
    { "value": "39 (9)", "label": "39 (9)", "selected": false, "selectable": true, "availability": "IN_STOCK", "waitlist": true },
    { "value": "40 (10)", "label": "40 (10)", "selected": false, "selectable": true, "availability": "IN_STOCK", "waitlist": true },
    { "value": "40.5 (10.5)", "label": "40.5 (10.5)", "selected": false, "selectable": true, "availability": "IN_STOCK", "waitlist": true },
    { "value": "41 (11)", "label": "41 (11)", "selected": false, "selectable": false, "availability": "NOT_AVAILABLE", "waitlist": true }
  ],
  "variant_count": 8,
  "variants": [
    { "sku": "24665280", "warehouse_units": 0 },
    { "sku": "24665281", "warehouse_units": 1 },
    { "sku": "24665282", "warehouse_units": 1 },
    { "sku": "24665283", "warehouse_units": 1 },
    { "sku": "24665286", "warehouse_units": 0 },
    { "sku": "24665287", "warehouse_units": 0 },
    { "sku": "24665289", "warehouse_units": 2 },
    { "sku": "24665290", "warehouse_units": 2 }
  ],
  "in_stock_count": 5,
  "available_count": 5,
  "available": true,
  "ready_to_order": false,
  "availability": { "ats": 0, "message": null, "in_stock_date": null },
  "available_in_store": true,
  "marketplace": false,
  "drop_ship": false,
  "rating": null,
  "review_count": 0
}

sizes[] says which sizes can be ordered online (5 of 8). variants[] gives each SKU's online warehouse units (7 in all) but not which size it is. availability.ats reads 0 on a master; read it on a variant. rating and review_count are all the API returns about reviews: there is no review text.

Step 6: Name the SKU for each size and count units per size

Bash
curl -s https://api.scavio.dev/api/v1/saks/product \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_id": "0400024665280", "color": "PEACHY PINK", "size": "39 (9)"}'

The answer is the variant, in 1.4 seconds (the fields that repeat the master trimmed):

JSON
{
  "requested_id": "0400024665280",
  "id": "24665289",
  "master_id": "0400024665280",
  "type": "variant",
  "title": "Loti Suede Platform Pumps",
  "brand": "Chloé",
  "upc": "7626222122394",
  "url": "https://www.saksfifthavenue.com/product/chlo%C3%A9-loti-suede-platform-pumps-24665289.html",
  "price": 607.49,
  "regular_price": 1350,
  "percent_off": 55,
  "selected": { "color": "PEACHY PINK", "size": "39 (9)" },
  "ready_to_order": true,
  "availability": { "ats": 2, "message": "Limited Inventory", "in_stock_date": null }
}

We ran it for each in-stock size. Each variant's availability.ats matched its SKU's warehouse_units on the master:

SizeSKUUnits onlineMessage
37.5 (7.5)246652821Limited Inventory
38.5 (8.5)246652902Limited Inventory
39 (9)246652892Limited Inventory
40 (10)246652811Limited Inventory
40.5 (10.5)246652831Limited Inventory

The SKU numbers do not follow the size order (size 40 is 24665281, size 38.5 is 24665290), so map them with one call per size, store the map, and from then on one master call a day counts units per size. A size stock alert is a size whose units drop to 0 or come back. Each variant also has its own upc, for matching the same shoe at other retailers.

Step 7: Check Saks store stock near a ZIP

First, the stores:

Bash
curl -s https://api.scavio.dev/api/v1/saks/stores \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"zip": "10022"}'

ZIP 10022 returned 4 Saks locations within 50 miles in 1.4 seconds, 2 of them pickup stores. The nearest, as captured:

JSON
{
  "store_id": "8601",
  "name": "New York",
  "address": "611 Fifth Avenue",
  "city": "New York",
  "state": "NY",
  "zip": "10022-6899",
  "country": "US",
  "lat": 40.756416,
  "lng": -73.970295,
  "distance_miles": 0.21,
  "open_today": "11:00AM",
  "close_today": "7:00PM",
  "hours": "9AM - 6PM",
  "closed": false,
  "pickup": true
}

For today's hours use open_today and close_today; hours is a separate line as the site lists it and can differ. Then ask the pickup stores about one size:

Bash
curl -s https://api.scavio.dev/api/v1/saks/store-availability \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sku": "24665289", "zip": "10022"}'

Size 39 of the Chloé pumps was "availability_message": "Not Available", units_at_store: null at both New York and Greenwich, in_stock_count: 0, in 2.4 seconds: online only. Another SKU, 10781654, answered the same day with counts at both stores (store address and hours trimmed):

JSON
{
  "sku": "10781654",
  "location": { "zip": "10022" },
  "radius_miles": 50,
  "count": 2,
  "in_stock_count": 2,
  "stores": [
    { "store_id": "8601", "name": "New York", "distance_miles": 0.21, "pickup": true, "availability_message": "In Stock", "in_stock": true, "limited": false, "units_at_store": 141 },
    { "store_id": "8672", "name": "Greenwich", "distance_miles": 26.08, "pickup": true, "availability_message": "In Stock", "in_stock": true, "limited": false, "units_at_store": 15 }
  ]
}

units_at_store is Saks' own count for the store where the site shows one; when it is null, say "in stock" or "limited", never a number. The call needs a variant SKU (Step 6), not a master id, and lists only pickup stores. Marketplace items, "marketplace": true on the product, cannot be picked up in store.

Step 8: Browse a category

Bash
curl -s https://api.scavio.dev/api/v1/saks/category \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"path": "/c/women-s-apparel/dresses"}'

Women's Designer Dresses returned total: 11341 in 8.0 seconds, with 12 facets, among them 331 designers and an isSale facet counting 4,502 dresses on sale. Editorial tiles took 2 of the 24 grid positions, so the page held 22 dresses and next_start was 22, not 24: walk with start: next_start or page 2 skips two dresses. Add "on_sale": true for the dress sale. Category paths come from a Saks category URL, a suggestion's categories[].path or a search's redirected_to.path.

Step 9: Pull search suggestions

Bash
curl -s https://api.scavio.dev/api/v1/saks/suggestions \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "gucci"}'
JSON
{
  "query": "gucci",
  "result_count": 682,
  "designers": ["Gucci"],
  "categories": [],
  "products": [
    { "id": "0400021245588", "title": "Jordaan Horsebit Leather Loafers", "brand": "Gucci", "url": "https://www.saksfifthavenue.com/product/gucci-jordaan-horsebit-leather-loafers-0400021245588.html" }
  ],
  "popular_searches": ["prada", "ralph lauren", "balenciaga", "coach", "burberry"]
}

Captured in 1.1 seconds (4 of 5 products and the image URL trimmed). designers[] are display names: look the slug up in /designers before calling /brand.

All nine endpoints

EndpointWhat it returnsCredits
/api/v1/saks/search24 grid positions a page: price, price range, regular and sale price, percent off, review count, badge, final-sale, clearance and returnable flags, promotions and colors; designer, color, size, price, sale, new-arrival and facet filters; 7 sorts including sale_first2
/api/v1/saks/categoryOne category by /c/ path or URL, the same grid, filters and sorts, plus breadcrumbs2
/api/v1/saks/brandOne designer's Saks page by slug or URL, the same grid; on_sale: true for the designer's sale2
/api/v1/saks/dealsSale, Women's Clothing Sale, Men's Sale, Women's or Men's New Arrivals, the same grid and filters2
/api/v1/saks/productOne product with every color and size and its availability, every SKU with its online warehouse units, flags, promotions, attributes, average rating and review count; one variant with a color and size2
/api/v1/saks/storesSaks stores near a ZIP or a point within 15 to 300 miles, with today's hours and a pickup flag2
/api/v1/saks/store-availabilityOne variant SKU at the pickup stores near a location: message, in-stock and limited flags, units at store where the site shows a count2
/api/v1/saks/suggestionsThe search box's suggestions: result count, designers, categories with paths, up to 5 products, popular searches2
/api/v1/saks/designersThe A-Z designer index, about 1,200 designers, with the slug /brand takes2

What the API does not return: price history (start polling to build one), review text (only the average rating and the count), a clearance or final-sale list (only per-item flags), coupon codes (Saks' promotion text comes through as given), international prices, and saksoff5th.com, which has shut down. For a side-by-side of every Saks data option, see the best Saks designer sale tracker APIs; to use Step 2 and Step 5 rows as a price history, see is that Saks sale too good to be true?.

Getting started

  1. Sign up at dashboard.scavio.dev/sign-up: 50 free credits, no card required, enough for 25 Saks calls.
  2. Copy your API key from the dashboard.
  3. Send a POST to /api/v1/saks/brand with {"brand": "versace", "on_sale": true} and your key in the Authorization header.

Try the Saks Fifth Avenue API free in the playground first, or call it from Claude and other agents through the MCP server. It covers saksfifthavenue.com in the United States; for the other department stores, see the Macy's API and the Nordstrom API.

Reference: Saks Fifth Avenue API overview · designer page · sale and new arrivals · search · product · store availability · stores · category · suggestions · designers

Frequently asked questions

How do I get Saks Fifth Avenue sale prices with an API?

Call Scavio's /api/v1/saks/deals with type sale, womens_sale or mens_sale, or /api/v1/saks/brand with a designer slug and on_sale: true. Each item comes back with price, regular price, sale price, percent off and Saks' promotion text. On November 10, 2026, the Sale list held 15,390 items across 536 designers.

How do I see how many units of each size Saks has?

Two steps. /api/v1/saks/product on the product id lists every SKU with warehouse_units, Saks' online warehouse units, but not which size each SKU is. Call /product again with a color and a size: the answer's id is that size's SKU, with availability.ats and a message such as Limited Inventory. Map the sizes once, then one call a day counts every size.

Can I check whether a Saks store has my size?

Yes, at pickup stores. Send the size's SKU and a ZIP to /api/v1/saks/store-availability. Each pickup store comes back with In Stock, Limited Inventory or Not Available, and units_at_store when the site shows a count. Near ZIP 10022 there were two pickup stores, New York and Greenwich.

Is there a Saks clearance or final-sale list?

No. Saks lists Sale, Women's Clothing Sale, Men's Sale and the New Arrivals lists, and the API covers those. Clearance and final sale are flags on each item, is_clearance and is_final_sale, not lists. Read them on the product endpoint, because listing tiles often leave is_final_sale blank.

How much does Saks data cost with Scavio?

Every Saks endpoint costs 2 credits a call, $2 per 1,000 requests at the Growth rate of $1 per 1,000 credits. Errors such as an unknown product id (404) are not charged, and new accounts get 50 free credits with no card, enough for 25 Saks calls.

Saks sale prices as JSON

  • One designer's sale items per call
  • Units per SKU and the SKU for each size
  • Store stock near a ZIP
Try the Saks Fifth Avenue API free

50 free credits, no credit card

On this page

  1. Step 1: Find the designer's slug
  2. Step 2: Pull one designer's sale (the Saks designer sale)
  3. Step 3: Watch the Saks sale and new arrivals
  4. Step 4: Search with size, price and sale first

Related articles

View all
  • scavio
    Ecommerce / Price monitoring
    Dicks sporting goods
    How to Get Dick's Sporting Goods Clearance Prices, Per-Size Stock and Store Availability With an API
  • scavio
    Comparison / Price monitoring
    Saks
    6 Best Saks Fifth Avenue Designer Sale Tracker APIs in 2026: Scavio Narrows Any Designer to Its Sale Items and Counts Stock per Size
ScavioScavio

One scraper API for every social, search, e-commerce and real estate platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

Ask AI about Scavio

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy