ScavioScavio
Pricing
Tools
Sign InsGet Startedg
3 live endpoints

Total Wine API

Total Wine & More data as structured JSON, priced at the store you pick: product search with that store's price, units in stock, purchase limit and aisle; product detail with bay, shelf and last restock date; and a store locator by ZIP or city.

Get your API keyRead the docs

50 free credits on signup. No card, no Total Wine account.

POST /api/v1/totalwine/search
sample
query:
try
{  "data": {    "query": "titos",    "store_id": "503",    "page": 1,    "total_results": 13,    "searched_all_stores": false,    "count": 13,    "products": [      {        "position": 1,        "id": "96260175",        "name": "Tito's Handmade Vodka",        "brand": "Tito's",        "size": "1.75L Bottle",        "price": 2999,        "in_stock": true,        "stock": 1204,        "purchase_limit": 6,        "aisle": "Aisle 03, Left",        "rating": 4.8,        "review_count": 3302,        "pickup": true,        "delivery": true,        "shipping": false      },      {        "position": 2,        "id": "96260010",        "name": "Tito's Handmade Vodka",        "brand": "Tito's",        "size": "1L Bottle",        "price": 2499,        "in_stock": true,        "stock": 56,        "purchase_limit": 6,        "aisle": "Aisle 03, Left",        "rating": 4.8,        "review_count": 3302,        "pickup": true,        "delivery": true,        "shipping": false      }    ]  },  "response_time": 11108}
captured example · 10 credits2 / 2 free

Live call at store 503 (San Antonio) against the real endpoint. 2 free runs, then it's your own key.

What is the Scavio Total Wine API?

The Scavio Total Wine API is a REST API that returns Total Wine & More data as structured JSON at a store you choose. Its 3 POST endpoints cover product search with the store's price, units in stock and aisle; product detail with bay, shelf and restock date; and a store locator by ZIP or city that returns the store_id every price call takes.

3
endpoints, all live in production
10
credits per call, every endpoint
Per store
price, stock and aisle

The Total Wine data buyers actually need

The price and stock at the store you shop, not a national average.

Search

POST /api/v1/totalwine/search

Keyword search priced at the Total Wine store you pick. Every result carries that store's price, the units it has on hand, the per-order purchase limit, the aisle it sits in, rating and review count, and whether pickup, delivery and shipping are available.

Product detail

POST /api/v1/totalwine/product

One product at one store by id or URL: price, units in stock, aisle, bay and shelf, the date the store last received it, ABV, size, taste profile, characteristics such as finish and product type, breadcrumbs and images.

Store locator

POST /api/v1/totalwine/stores

Total Wine stores near a ZIP code or city, nearest first, each with the store number that every price call takes, plus address, phone, coordinates, distance in miles and delivery availability.

All 3 Total Wine API endpoints

Every route is a POST, returns JSON, and takes the same API key. 10 credits per successful call.

EndpointReturnsCredits
Search/api/v1/totalwine/searchKeyword search at one store: that store's price, units in stock, purchase limit, aisle, size, rating and pickup, delivery and shipping availability10
Product detail/api/v1/totalwine/productOne product at one store: price, units in stock, aisle, bay and shelf, last restock date, ABV, taste profile, characteristics and breadcrumbs10
Store locator/api/v1/totalwine/storesTotal Wine stores near a ZIP or city with store number, address, phone, coordinates and distance in miles10

50 free credits on signup covers 5 Total Wine calls. See plans

Search Total Wine at one store

One POST with a store_id, and every result comes back with that store's price, units in stock and aisle. The response on the right is a real capture at store 503.

from scavio import ScavioClient

client = ScavioClient(api_key="sk_live_your_key")

# Find the stores near a ZIP - 10 credits
stores = client.totalwine.stores("78801", radius=100)["data"]["stores"]
store_id = stores[0]["store_id"]

# Prices and stock at that store - 10 credits
res = client.totalwine.search("titos", store_id=store_id)
for item in res["data"]["products"]:
    print(item["name"], item["size"], item["price"], item["stock"], item["aisle"])

# One product at the same store - 10 credits
p = client.totalwine.product(product_id="96260175", store_id=store_id)["data"]
print(p["price"], p["stock"], p["aisle"], p["bay"], p["shelf"])
200 response.jsoncaptured
{
  "data": {
    "query": "titos",
    "store_id": "503",
    "page": 1,
    "total_results": 13,
    "searched_all_stores": false,
    "count": 13,
    "products": [
      {
        "position": 1,
        "id": "96260175",
        "name": "Tito's Handmade Vodka",
        "brand": "Tito's",
        "size": "1.75L Bottle",
        "price": 2999,
        "in_stock": true,
        "stock": 1204,
        "purchase_limit": 6,
        "aisle": "Aisle 03, Left",
        "rating": 4.8,
        "review_count": 3302,
        "pickup": true,
        "delivery": true,
        "shipping": false
      },
      {
        "position": 2,
        "id": "96260010",
        "name": "Tito's Handmade Vodka",
        "brand": "Tito's",
        "size": "1L Bottle",
        "price": 2499,
        "in_stock": true,
        "stock": 56,
        "purchase_limit": 6,
        "aisle": "Aisle 03, Left",
        "rating": 4.8,
        "review_count": 3302,
        "pickup": true,
        "delivery": true,
        "shipping": false
      }
    ]
  },
  "response_time": 11108
}

Why not scraping Total Wine directly?

Total Wine has no public API, and its prices change with the store a visitor is matched to.

DIY Total Wine scraping

  • Total Wine offers no public API for product, price or store data
  • The site blocks ordinary scrapers and answers for whichever store it matches you to
  • Getting one store's price means steering every request to that store and checking it stuck
  • Stock, aisle and restock data sit in a large page state you have to parse

Scavio Total Wine API

  • Three POST endpoints returning clean JSON with consistent field names
  • Every price and stock figure is for the store_id you send, verified on each response
  • Units in stock, purchase limit, aisle, bay, shelf and last restock date included
  • One key, 50 free credits on signup, the same JSON envelope as every Scavio platform

Scavio returns publicly available data only.

What developers build with it

Restaurant and bar purchasing

Track the shelf price and stock of the spirits, wine and beer you buy at the Total Wine store you actually shop, next to your distributor and grocery prices.

stores + search + product

Store-to-store price comparison

Total Wine prices differ by store and state. Query the same product at several store numbers to see where it is cheapest and where it is in stock.

stores + product

Stock and restock monitoring

Watch units on hand and the last received date at one store to catch a restock of an allocated bottle, or to see when a fast mover is running low.

product

Liquor retail competitive intelligence

Compare Total Wine's everyday prices against Spec's, grocery chains and Costco for the same brand and size, on one API key.

search + Spec's + HEB + Costco

Agent shopping tools

Give an AI agent Total Wine as a callable tool through the MCP server: find the nearest store, check a bottle's price and stock, and plan a pickup.

MCP + REST

How to get Total Wine data as JSON

  1. 1

    Get an API key

    Sign up for a Scavio account and copy your key from the dashboard. You get 50 credits free on signup, with no card required and no Total Wine account.

  2. 2

    Find your store

    Send {"query": "78801"} to https://api.scavio.dev/api/v1/totalwine/stores with an Authorization: Bearer header. Every store in the response carries a store_id.

  3. 3

    Search at that store

    Send {"query": "titos", "store_id": "503"} to /api/v1/totalwine/search. Each result carries that store's price, units in stock and aisle. Pass a result's id to /api/v1/totalwine/product for the full detail.

One key, 55 platformsMCP server for agentsPython & JS SDKsn8n community node

Total Wine API FAQ

Does Total Wine have a public API?

+

No. Total Wine & More does not offer a public API for product, price or store data. The Scavio Total Wine API fills that gap with 3 POST endpoints that return Total Wine data as structured JSON: store-level product search, product detail and a store locator.

What is the Scavio Total Wine API?

+

It is a REST API that returns public totalwine.com data as structured JSON. Three POST endpoints cover keyword search at one store with price, stock and aisle; product detail at one store with bay, shelf and restock date; and a store locator by ZIP or city.

Are the prices for a specific store?

+

Yes. Total Wine prices and stock are set per store, so every price call takes a store_id and returns that store's numbers. A response is only returned when Total Wine answered for the store you asked for. In our capture, Tito's Handmade Vodka 1.75L was 2999 cents with 1,204 units on hand at store 503 (San Antonio Del Norte).

How do I find a Total Wine store number?

+

POST a ZIP code or city to /api/v1/totalwine/stores. Stores come back nearest first, each with a store_id. In our capture, ZIP 78801 (Uvalde, TX) returned San Antonio (The Rim) at 79.28 miles, San Antonio (Del Norte) and Forum.

Does it return stock levels?

+

Yes. Search results and product detail carry stock, the units the store has on hand, plus in_stock. Search also returns purchase_limit, the most units one order can take. Product detail adds last_received_date, when the store last received the item.

Does it return the aisle location?

+

Yes. Search returns aisle (for example "Aisle 03, Left"), and product detail adds bay and shelf, so you can find the bottle in the store.

What happens if a store does not sell an item?

+

When a store carries none of the matches, Total Wine falls back to searching other stores. Those are other stores' prices, so the API drops them, returns an empty products list and sets searched_all_stores to true. This happens, for example, with spirits at Virginia stores, because Virginia sells spirits only in state stores.

How much does a Total Wine request cost?

+

Every Total Wine endpoint costs 10 credits. New accounts get 50 free credits on signup, one time, with no card required. Paid plans start at $30 per month for 7,000 credits.

How are prices formatted?

+

Prices are integers in cents: 2999 means $29.99. prices[] lists each price Total Wine shows with its type (EDLP is the everyday price), and price is the lowest of them.

How fresh is the data?

+

Every request fetches the page live from Total Wine at the moment you call it, and nothing is cached. Each response carries fetched_at, the time Total Wine answered.

Which languages and tools are supported?

+

Every endpoint is a plain HTTPS POST with a JSON body, so any language works. Scavio also ships Python and JavaScript SDKs, a remote MCP server at mcp.scavio.dev for AI agents, and an n8n community node, all on the same API key.

Is using Total Wine data legal?

+

Scavio returns publicly available Total Wine data and does not access accounts or order history. You remain responsible for how you use the data, including compliance with Total Wine's terms. Talk to your own counsel for your specific use case.

Explore more of Scavio

Spec's API

Every Texas Spec's store's price for a product in one call.

HEB API

Store-level grocery prices, SNAP eligibility and aisle locations.

Costco API

Warehouse prices, gas, coupons and clearance.

Walmart API

Search, product, reviews and store-level pricing.

Kroger API

Search and product detail across Kroger banners.

Total Wine API docs

All 3 endpoints with params and real responses.

Try the Total Wine API free

50 free credits on signup, no card. Your first request is a POST with a ZIP code in it.

Get your API keySee pricing
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

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy