Target Reviews API
Scrape Target Reviews data with one API call. Returns written customer reviews for a Target product, 10 per page, each with the full review text, star rating, reviewer nickname, submission date, helpful-vote count, verified-purchase flag, and any reviewer photos. Pages do not overlap and the review total is exact, so a full crawl is deterministic: pass the returned cursor back until has_more is false. Page size is fixed by the upstream at 10 and cannot be raised. If you want the star distribution rather than the review text, call GET /v1/target/product instead and read product.ext.rating_distribution, which is one call rather than one per ten reviews.
Last updated July 2026Maintained by the SocialCrawl team
Searching 46 platforms in parallel
What can you do with the Reviews API?
The Reviews endpoint gives you structured Target data with computed fields in a single request. No scraping infrastructure to build or maintain.
Example Request
curl -H "x-api-key: YOUR_API_KEY" \
"https://www.socialcrawl.dev/v1/target/reviews?tcin=92146817"import requests
response = requests.get(
"https://www.socialcrawl.dev/v1/target/reviews",
params={
'tcin': '92146817',
},
headers={"x-api-key": "YOUR_API_KEY"},
)
data = response.json()const response = await fetch(
"https://www.socialcrawl.dev/v1/target/reviews?tcin=92146817",
{
headers: { "x-api-key": "YOUR_API_KEY" },
},
);
const data = await response.json();Parameters
| Parameter | Required | Description |
|---|---|---|
| tcin | Yes | Target catalogue id (TCIN), the numeric id at the end of a target.com product URL: target.com/p/<name>/-/A-92148487 is TCIN 92148487. Target rolls a colour or size variant up to its parent product, so the id returned by GET /v1/target/product can differ from the one you sent; the id you asked for is preserved at product.ext.requested_id. |
| page | No | Page number, starting at 1. Prefer the universal cursor parameter. |
What does the Target Reviews API return?
Every response follows one unified schema. Here is a real, unmodified response body, so you can see the exact fields you get back before spending a credit.
Example response
{
"success": true,
"platform": "target",
"endpoint": "/v1/target/reviews",
"data": {
"items": [
{
"review": {
"id": "7dc1f597-a0f2-4a3c-a3e2-f8db546c2722",
"entity_id": "92146817",
"url": null,
"title": null,
"text": "Love these! Had these for almost two years, sound isn’t to bad & charges fine - Great quality",
"rating": {
"value": 5,
"max": 5
},
"author": {
"name": "Briana G",
"avatar_url": null,
"url": null,
"location": null,
"reviews_count": null
},
"helpful_votes": 0,
"verified": true,
"source": null,
"language": null,
"original_language": null,
"translated": null,
"images": null,
"responses": null,
"published_at": "2026-07-27T06:52:57.000+00:00"
}
},
{
"review": {
"id": "d2b4a1dd-f91a-4dfc-9f1b-ace5b3eb928c",
"entity_id": "92146817",
"url": null,
"title": null,
"text": "Does not charge well. Have to recharge case every day if headphones are not left in the case. Sound quality is better than other brands.",
"rating": {
"value": 2,
"max": 5
},
"author": {
"name": null,
"avatar_url": null,
"url": null,
"location": null,
"reviews_count": null
},
"helpful_votes": 0,
"verified": false,
"source": null,
"language": null,
"original_language": null,
"translated": null,
"images": null,
"responses": null,
"published_at": "2026-07-25T21:42:42.000+00:00"
}
}
],
"next_cursor": "2",
"total": 785,
"dropped": 0
},
"credits_used": 5,
"credits_remaining": 9999,
"request_id": "req_example000000",
"cached": false,
"pagination": {
"next_cursor": "sc.eyJ2IjoyLCJjIjoiMiIsInAiOiJwYWdlIn0",
"has_more": true,
"page_size": 10
}
}Live sample illustrating the unified response shape. Field values reflect the record you query.
How does the Target Reviews API work?
Send a GET request with your API key and get back clean, structured JSON in our unified schema. Supported computed fields are populated when the source provides the required inputs.
Method
GET
Response
JSON
How do you scrape social media data in seconds?
The fastest social media scraping API for developers. Scrape profiles, posts, comments, and analytics from 46 platforms covering 10B+ monthly active users.
One schema, every platform
Query 46 platforms with identical response structures. Write your integration once.
Computed fields, not just scraped
When an endpoint supports these metrics and the source provides the required inputs, the normalized record includes engagement_rate, estimated_reach, content_category, and language — ready to use.
See your data before you code
Visual Data Explorer — paste any URL, get rich result cards, sortable tables, CSV export.
import requests
response = requests.get(
'https://www.socialcrawl.dev/v1/tiktok/profile',
params={'handle': 'charlidamelio'},
headers={'x-api-key': 'sc_YOUR_API_KEY'}
)
data = response.json(){
"success": true,
"platform": "tiktok",
"data": {
"author": {
"username": "charlidamelio",
"followers": 152400000
},
"engagement": {
"likes": 12400000000,
"engagement_rate": 0.087
},
"metadata": {
"language": "en",
"content_category": "lifestyle"
}
}
}Have a question? We got answers
Find answers to frequently asked questions about SocialCrawl's API, pricing, and capabilities.
Contact usHow many reviews come back per call?
Do consecutive pages repeat reviews?
What is in a review row?
Is there a cheaper way to get just the rating breakdown?
What happens when a product has no reviews?
Ask AI about SocialCrawl
Ready to scrape Target Reviews data?
Get your API key and start pulling Target data in under 60 seconds.
