ScavioScavio
Pricing
Tools
Sign InsGet Startedg
Blog
Target6 min readNov 3, 2026

How to Check Target Stock by Store Through an API

Send a TCIN and a ZIP to Scavio's Target availability endpoint: one 1-credit call returns units and in-store, pickup and curbside status at 20 nearby stores.

Scavio Team

Nov 3, 2026

Try the Target API free
scavio
Inventory / Stock alerts
Target

To check Target stock by store in code, send the item's TCIN and a US ZIP to Scavio's Target API. POST /api/v1/target/availability returns the 20 nearest Target stores in one call, each with in-store, pickup and curbside status, the units Target reports (up to 10), the next pickup date, address, phone and hours. Add store_id to check one store. Every call costs 1 credit, about $0.002 on the Growth plan billed yearly.

Target has no public API for store inventory, and target.com shows stock for one product at a time: you choose Edit store, search a ZIP and read the list. Here is the same check as four API calls, with responses captured on November 3, 2026.

Step 1: Find the item's TCIN

Every Target call keys on the TCIN, Target's item number. It is the number after A- in a product URL, and search returns it for every result:

Bash
curl -s https://api.scavio.dev/api/v1/target/search \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword": "nintendo switch 2 console"}'

This returned 24 products from 408 results in 6.0 seconds. The first row, trimmed:

JSON
{
  "pos": 1,
  "tcin": "94693225",
  "parent_tcin": "1011548511",
  "title": "Nintendo Switch 2 Console System",
  "url": "https://www.target.com/p/nintendo-switch-2-console/-/A-94693225",
  "brand": "Nintendo",
  "price": 499.99,
  "regular_price": 499.99,
  "on_sale": false,
  "dpci": "207-49-0001",
  "is_marketplace": false
}

dpci is the number on the shelf tag and receipt, so you can match a store-side list to the TCIN here.

Step 2: Check stock at every store near a ZIP

Bash
curl -s https://api.scavio.dev/api/v1/target/availability \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tcin": "94693225", "zip": "90012"}'

For downtown Los Angeles this returned 20 stores, nearest first, in 3.3 seconds for 1 credit. The first one, with hours trimmed to one of seven days:

JSON
{
  "store_id": "2776",
  "name": "LA Central",
  "distance_miles": 1.34,
  "quantity": 10,
  "in_store": "in_stock",
  "pickup": "in_stock",
  "pickup_date": "2026-11-03",
  "curbside": "unavailable",
  "ship_to_store": null,
  "address": {
    "line1": "735 S Figueroa St.",
    "city": "Los Angeles",
    "state": "California",
    "zipcode": "90017-2571"
  },
  "phone": "213-330-4543",
  "hours": [
    { "date": "2026-11-03", "day": "Tuesday", "is_open": true, "open": "07:00:00", "close": "21:00:00" }
  ]
}

Across the 20 stores, 10 showed 4 units or fewer and 2 were out of stock:

Units of the Nintendo Switch 2 console at the 20 Target stores nearest ZIP 90012 on November 3, 2026: 10 stores showed 4 or fewer, including Glassell Park and Mid City out of stock and USC Village with 1, while 8 stores showed 10, the most Target reports

How to read the fields:

  • quantity is the units Target reports for that store, and it stops at 10. In our captures no store ever showed more than 10, and a best-selling Bounty paper towel pack showed exactly 10 at 19 of 20 Dallas-area stores. Treat 10 as "10 or more" and 1 to 9 as a low-stock signal, not an exact shelf count.
  • in_store is shelf stock; pickup and curbside are the order channels. They can disagree: LA Silver Lake showed 3 units in_stock in store with pickup and curbside unavailable.
  • Status values we saw were in_stock, out_of_stock, not_sold_in_store, unavailable and, once, limited_stock_see_store. not_sold_in_store means the store does not carry the item, which is different from sold out.
  • Widen or narrow the area with radius (1 to 100 miles, default 25). A call returns at most 20 stores.

Step 3: Price the item at a store

Target prices some items, groceries in particular, store by store. Search, product and category take a store_id and return that store's price; the store ids come from Step 2.

Bash
curl -s https://api.scavio.dev/api/v1/target/search \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword": "whole milk", "store_id": "3277"}'

At Manhattan Herald Square (3277) a gallon of Good & Gather Vitamin D whole milk (TCIN 13276134) came back at $4.79. The same search at Dallas Cityplace Market (875) priced it at $2.69. Of the 24 products both searches returned, 15 cost more in Manhattan, 2 cost less and 7 matched. Not everything moves: the Switch 2 was $499.99 at the stores we priced, and the product response's price_location_id was 3991, Target's default with no store context, rather than the store you asked for. That field tells you whether a price is the store's own.

Step 4: Watch one store and alert on a change

Pass store_id with the ZIP to get just that store. Glassell Park, from the Step 2 list:

JSON
{"tcin": "94693225", "zip": "90012", "store_id": "3262"}

returned count: 1 with quantity: 0, in_store, pickup and curbside all out_of_stock, in 4.0 seconds for 1 credit. The store must sit inside the radius of the ZIP, or stores comes back empty. A minimal watcher that alerts when a store turns from out of stock to in stock:

Python
import os, time, requests

URL = "https://api.scavio.dev/api/v1/target/availability"
HEADERS = {"Authorization": f"Bearer {os.environ['SCAVIO_API_KEY']}"}
WATCH = [("94693225", "90012", "3262")]  # (tcin, zip, store_id)
last = {}

while True:
    for tcin, zip_code, store_id in WATCH:
        r = requests.post(URL, headers=HEADERS, timeout=120,
                          json={"tcin": tcin, "zip": zip_code, "store_id": store_id})
        stores = r.json()["data"]["stores"]
        if not stores:
            continue
        s = stores[0]
        state = (s["in_store"], s["pickup"], s["quantity"])
        if last.get((tcin, store_id), state)[0] != "in_stock" and s["in_store"] == "in_stock":
            print(f"{s['name']}: back in stock, {s['quantity']} units, pickup {s['pickup']}")
        last[(tcin, store_id)] = state
    time.sleep(3600)

Hourly checks of one item at one store are 720 credits a month. To cover a metro, drop store_id and diff all 20 stores from one call instead.

All five Target endpoints

EndpointWhat it returnsCredits
/api/v1/target/availabilityUp to 20 stores near a ZIP: units (up to 10), in-store, pickup, curbside, address, phone, hours1
/api/v1/target/searchProducts with TCIN, DPCI, price, regular price, rating and badges, at the store_id you pass1
/api/v1/target/productFull detail by TCIN with the store's price and price_location_id1
/api/v1/target/categoryA category's products at a store's prices, with the breadcrumb1
/api/v1/target/reviewsRating histogram, recommend counts and up to 8 review bodies1

Every call above billed 1 credit in our November 3 captures. To compare this with the other Target inventory options, see the best Target store inventory APIs. The same store-level pattern works for Walmart store prices and Costco warehouse stock.

Getting started

  1. Sign up at dashboard.scavio.dev/sign-up: 50 free credits, no card required.
  2. Copy your API key from the dashboard.
  3. Send a POST to /api/v1/target/availability with a TCIN and ZIP and your key in the Authorization header.

A stock alert, a store finder or a local price tracker built on Target means keeping every tracked item checked at every store your users care about, every day. Scavio returns that in one JSON shape per call: 200 items across three metros of 20 stores, checked daily, is 18,000 credits a month, about $36 at the Growth-yearly rate of $2 per 1,000 credits. Try the Target API free in the playground first, or call it from Claude and other agents through the MCP server.

Reference: Target API overview · availability · search · product · category · reviews

Frequently asked questions

How do I check if a specific Target has something in stock?

On target.com, open the product, choose Edit store, search a ZIP code or city and select Find stores; in the Target app, change your store under the Account tab and go back to the product. In code, send the item's TCIN and a ZIP to Scavio's Target availability endpoint, which returns up to 20 nearby stores with in-store, pickup and curbside status, or one store if you add store_id.

How do I find a Target item's TCIN or DPCI?

The TCIN is the number after A- in a target.com product URL, such as 94693225 in /A-94693225. The DPCI is the department-class-item number on the shelf tag and receipt, written like 207-49-0001. Target's search results carry both, so a keyword search gives you the TCIN the stock call needs.

Do out-of-stock Target items come back?

Often, but Target does not publish restock dates and stock moves store by store. On November 3, 2026, the Switch 2 Legend of Zelda 40th Anniversary Edition was out of stock at all 20 Dallas-area stores five days after release, while the standard Switch 2 was in stock at all 20. Polling the stores you care about and alerting when a status changes is how you catch a restock.

How do I get a Target in-stock alert?

Target offers back-in-stock notifications on some items, with exclusions for high-demand products. For your own alerts, call Scavio's availability endpoint with a TCIN, ZIP and store_id on a schedule, store the last in_store and pickup values, and send a message when out_of_stock turns into in_stock. Each check costs 1 credit.

What does not sold in store mean at Target?

It means that store does not carry the item, as opposed to having sold out. Near ZIP 10001 on November 3, 2026, the Zelda edition Switch 2 came back not_sold_in_store at 12 of the 20 nearest stores and out_of_stock at the other 8.

Target stock by store as JSON

  • 20 nearby stores in one call
  • In-store, pickup and curbside status with units
  • 1 credit a call, no Target partner account
Try the Target API free

50 free credits, no credit card

On this page

  1. Step 1: Find the item's TCIN
  2. Step 2: Check stock at every store near a ZIP
  3. Step 3: Price the item at a store
  4. Step 4: Watch one store and alert on a change

Related articles

View all
  • scavio
    Comparison / Inventory
    Target
    6 Best Target Store Inventory APIs in 2026: Scavio Returns Shelf, Pickup and Curbside Stock at 20 Stores in One Call
  • scavio
    Inventory / Stock alerts
    Home depot
    How to Check Home Depot Stock by Store With an API: Units on Hand, Pickup Type and the 20 Nearest Stores
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