Other

Target API

Target API returns live Target data as clean JSON for target The primary endpoint, search, returns product results including variant tcin, product tcin, position, name and brand.

2 actionsLive JSON1,000 free creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

Developers reach for it when they need to validate, enrich, classify and normalize operational data without maintaining one-off scraping code or separate API contracts. If you were about to build or fix a Target scraper, this API is the maintained alternative — it returns the same data as clean JSON, with the proxies, rotation and anti-bot handling already solved. This page covers the live example, request shape, response shape and available actions: search, product_detail. Every request uses the same ReefAPI envelope, one API key and one shared credit pool, so it fits alongside the rest of your data stack.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/target/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "coffee maker",
    "max_results": 24
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "target",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1440.1,
    "record_count": 24,
    "bytes": 323099,
    "cache_hit": false,
    "completeness_pct": 100,
    "stop_reason": "limit_reached",
    "method": "target_ssr_documents",
    "route": "crawler_ua",
    "field_sources": {
      "crawler_ua": "every field on this action"
    },
    "degraded": false,
    "source": {
      "surface": "target.com server-rendered ItemList (schema.org)",
      "url": "https://www.target.com/s/coffee+maker",
      "upstream_calls": 1,
      "page_size": 24
    },
    "search_mode": "keyword",
    "keyword_match_rate": 1,
    "pagination": {
      "page": 1,
      "page_size": 24,
      "returned": 24,
      "offset": 0,
      "deepest_offset": 264,
      "total_results": 285,
      "total_results_at_most": 288,
      "has_more": true,
      "next_page": 2
    },
    "filters": {
      "applied": [],
      "ignored": [],
      "notes": "target.com publishes no facet vocabulary on this surface, so only filters measured to bite are offered: sort, min_price, max_price."
    },
    "notes": null
  },
  "data": {
    "products": [
      {
        "variant_tcin": "91863920",
        "product_tcin": "91863920",
        "url": "https://www.target.com/p/mr-coffee-12c-programmable-drip-coffee-maker-stainless-steel-finish/-/A-91863920",
        "position": 1,
        "name": "[redacted-name]",
        "brand": "Mr. Coffee",
        "brand_url": "https://www.target.com/b/mr-coffee/-/N-5s76z",
        "category": "Coffee Makers",
        "image": "https://target.scene7.com/is/image/Target/GUEST_fd026130-c56b-41d3-9e88-992fcf06debf",
        "price": 19.99,
        "list_price": 34.99,
        "currency": "USD",
        "on_sale": true,
        "in_stock": null,
        "availability": null,
        "rating": 4.3,
        "rating_count": 929,
        "review_count": null,
        "offer_type": "sale"
      },
      {
        "variant_tcin": "91863923",
        "product_tcin": "91863923",
        "url": "https://www.target.com/p/mr-coffee-12c-drip-coffee-maker-black/-/A-91863923",
        "position": 2,
        "name": "[redacted-name]",
        "brand": "Mr. Coffee",
        "brand_url": "https://www.target.com/b/mr-coffee/-/N-5s76z",
        "category": "Coffee Makers",
        "image": "https://target.scene7.com/is/image/Target/GUEST_7b42039c-223f-420b-97a8-d99a339a6295",
        "price": 18.99,
        "list_price": 26.99,
        "currency": "USD",
        "on_sale": true,
        "in_stock": null,
        "availability": null,
        "rating": 4.4,
        "rating_count": 1251,
        "review_count": null,
        "offer_type": "sale"
      },
      {
        "variant_tcin": "90116759",
        "product_tcin": "91466170",
        "url": "https://www.target.com/p/keurig-k-mini-go-multicup-reservoir-single-serve-k-cup-pod-coffee-maker-with-strong-brew-button/-/A-91466170",
        "position": 3,
        "name": "[redacted-name]",
        "brand": "Keurig",
        "brand_url": "https://www.target.com/b/keurig/-/N-5uvm4",
        "category": "Coffee Makers",
        "image": "https://target.scene7.com/is/image/Target/GUEST_17b87f23-79f3-4bbb-b0a2-98d278f42e6b",
        "price": 69.99,
        "list_price": 99.99,
        "currency": "USD",
        "on_sale": true,
        "in_stock": null,
        "availability": null,
        "rating": 4,
        "rating_count": 2064,
        "review_count": null,
        "offer_type": "sale"
      }
    ],
    "related_categories": []
  }
}
Actions

What the Target API does

ActionDescriptionConcrete use caseKey params
searchFind products on target.com (US). Give a free-text `query` ('coffee maker', 'lego star wars', 'nike running shoes') to run Target's own site search, or a `category` path ('/c/cpus/-/N-01vhh', '/b/apple/-/N-5y3ej') to browse a Target category or brand page. Every product comes back with BOTH of Target's ids — the parent product id and the specific colour/size id — plus the name, brand, category, image, current price, the crossed-out list price when it is on sale, the star rating and rating count, and the product URL. Narrow with `sort`, `min_price` and `max_price`; page with `page` and `max_results`.Ops teams call search to find products on target.com (US).query, category, page, max_results, sort, ...
product_detailGet one Target product in full, by Target's own id or by its target.com URL. One call returns the UPC barcode, the shipping weight and package dimensions with Target's own units, the complete image gallery, the entire colour/size variant matrix with each variant's own price, list price, stock status, barcode, weight, dimensions, image and native Target id, the specification table parsed into name/value pairs, the brand, the category breadcrumb path, the current price and availability, the star rating with its full 1-5 distribution and Target's secondary ratings, the customer review photos, and the customer reviews inline.Developer tools call product_detail to get one Target product in full, by Target's own id or by its target.com URL.tcin, url, reviews, include_price
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/target/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"coffee maker","max_results":24}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.target.search with {"query":"coffee maker","max_results":24}.
Use cases

Who uses this API and why

  • Ops teams use Target to find products on target.com (US).
  • Developer tools use Target to get one Target product in full, by Target's own id or by its target.com URL.
  • Validation workflows use Target to validate, enrich, classify and normalize operational data, all from one ReefAPI key and credit pool.
FAQ

Questions developers ask before integrating

What is the Target API?

Target API is a ReefAPI endpoint group for target It returns live JSON through POST requests under /target/v1.

Is the Target API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Target calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Target login or account?

No login to Target is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Target data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Target API use?

Target actions currently cost 1-3 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call Target from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call target actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Target API a Target scraper?

It is the managed alternative to a DIY Target scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same target back as clean JSON.

Why does my Target scraper keep getting blocked?

Most Target scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.

docs / target

Target

Target

base /target/v12 endpoints
post/target/v1/product_detail3 credits

Get one Target product in full, by Target's own id or by its target.com URL. One call returns the UPC barcode, the shipping weight and package dimensions with Target's own units, the complete image gallery, the entire colour/size variant matrix with each variant's own price, list price, stock status, barcode, weight, dimensions, image and native Target id, the specification table parsed into name/value pairs, the brand, the category breadcrumb path, the current price and availability, the star rating with its full 1-5 distribution and Target's secondary ratings, the customer review photos, and the customer reviews inline.

ParameterAllowed / rangeDescription
tcinoptionalTarget's own product id (a 'TCIN'), exactly as `search` returns it — e.g. '87328557'. BOTH ids a search row gives you work: pass `product_tcin` (the parent product) or `variant_tcin` (one specific colour/size) and you get the same product back, because target.com resolves a variant id to its parent page. The response echoes what you asked for in `product.requested_tcin` and always reports the canonical parent in `product.tcin`. Provide `tcin`, or a product `url`.
urloptionalA full target.com product URL — an alternative to `tcin`. The slug is decorative: only the `A-<id>` part is read, so `/p/-/A-87328557` works too.
reviews = 8optional0–12How many written customer reviews to inline with the product (0-12). This costs NO extra request — the reviews are already in the two pages this call fetches, so 0 saves you nothing but response size. The star rating, the rating count, the full 1-5 star distribution, the recommended percentage, Target's secondary ratings (comfort / quality / sizing / style, where the category has them) and the customer review photos always come back regardless of this value. Target itself only puts a limited number of review bodies on a product page, so `reviews.available_on_page` tells you how many there really were — asking for more than that is not an error, you simply get what exists.
include_price = trueoptionalWhether to fetch the price, the availability and the per-variant price/stock matrix (default true). These live on a different target.com surface from the barcode, weight, dimensions, specs, images and reviews, so getting them costs ONE extra upstream request of roughly 0.7-1.0 MB. Set false when you only need the catalogue facts — it roughly halves the bytes and the latency of this call, and everything else is unchanged. `meta.route` and `meta.field_sources` always state which surfaces actually answered.
Try in playground →