PetSmart Product Reviews Scraper avatar

PetSmart Product Reviews Scraper

Pricing

from $0.01 / 1,000 review extracteds

Go to Apify Store
PetSmart Product Reviews Scraper

PetSmart Product Reviews Scraper

🐾 Extract public PetSmart product ratings, review text, reviewer context, media, helpfulness, and aggregate rating statistics by product ID.

Pricing

from $0.01 / 1,000 review extracteds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Collect public PetSmart product reviews as clean, structured data.

Use product IDs from PetSmart URLs and receive review text, star ratings, reviewer context, helpfulness, media, dates, recommendation flags, and product-level rating statistics.

No PetSmart account, browser, cookies, or proxy setup is required.

What does PetSmart Product Reviews Scraper do?

PetSmart Product Reviews Scraper reads PetSmart's public review feed for one or more products.

It can:

  • 🐾 collect reviews for up to 50 product IDs in one run;
  • ⭐ filter between minimum and maximum star ratings;
  • 📅 filter by submission date;
  • 🔃 sort newest, oldest, or most helpful first;
  • 🖼️ preserve public review photos and videos;
  • 📊 add product review totals and average ratings;
  • 🧾 export records to JSON, CSV, Excel, XML, or RSS through Apify.

Each dataset row represents one review.

Who is it for?

Pet brands

Monitor feedback about food, toys, grooming products, and accessories sold through PetSmart.

Marketplace and retail teams

Compare customer sentiment, recurring complaints, and launch response across products.

Product and quality teams

Feed recent low-star reviews into issue-tracking or voice-of-customer workflows.

Consumer researchers

Build reproducible datasets for category, recommendation, rating, and language analysis.

Data teams

Schedule collection and load normalized review records into a warehouse or dashboard.

Why use this PetSmart review extractor?

Manual review collection is slow and difficult to repeat.

This Actor gives you:

  • predictable review-level JSON;
  • stable product attribution;
  • automatic pagination;
  • review ID deduplication;
  • bounded retry handling;
  • optional date and rating boundaries;
  • direct source URLs for verification;
  • Apify scheduling, API, webhook, and integration support.

The implementation uses a lightweight public JSON route rather than rendering full product pages.

How to find a PetSmart product ID

Open a PetSmart product page.

Most PetSmart product URLs end with a number before .html.

For example:

https://www.petsmart.com/dog/food/.../product-name-1095.html

The product ID is:

1095

Paste that value into productIds.

Use strings so leading zeros are preserved if PetSmart introduces them.

How to scrape PetSmart product reviews

  1. Open the Actor input page.
  2. Add one or more values to PetSmart product IDs.
  3. Choose a small maximum for your first run.
  4. Optionally set rating or submission-date filters.
  5. Select newest, oldest, or most helpful order.
  6. Click Start.
  7. Open the Dataset tab when the run finishes.
  8. Preview or download the review records.

The default input collects 20 recent written reviews for product 1095.

Input

FieldTypeDefaultDescription
productIdsstring[]["1095"]PetSmart product IDs to collect
maxReviewsPerProductinteger20Maximum matching reviews saved for each product
sortstringnewestnewest, oldest, or helpful
minRatingintegernoneMinimum star rating from 1 to 5
maxRatingintegernoneMaximum star rating from 1 to 5
submittedAfterstringnoneISO date or date-time lower bound
submittedBeforestringnoneISO date or date-time upper bound
includeRatingsOnlybooleanfalseInclude submissions without written text

A single run accepts up to 50 product IDs.

Input examples

Recent reviews

{
"productIds": ["1095"],
"maxReviewsPerProduct": 50,
"sort": "newest"
}

Critical feedback monitor

{
"productIds": ["1095", "51031"],
"maxReviewsPerProduct": 200,
"minRating": 1,
"maxRating": 3,
"submittedAfter": "2026-01-01",
"sort": "newest"
}

Five-star media research

{
"productIds": ["1095"],
"maxReviewsPerProduct": 100,
"minRating": 5,
"maxRating": 5,
"includeRatingsOnly": false
}

Output data

FieldDescription
reviewIdStable public review identifier
productIdPetSmart product identifier
productNameProduct name from the public feed
productUrlCanonical product page when available
brandProduct brand
ratingOverall star rating
ratingRangeMaximum rating value, normally 5
titleReview headline
textWritten review body
reviewerNicknamePublic display nickname
reviewerLocationPublic location when supplied
submittedAtReview submission date-time
modifiedAtLast public modification date-time
isRecommendedWhether the reviewer recommends the product
isRatingsOnlyWhether no written text was submitted
isVerifiedVerified-purchaser badge when exposed
isSyndicatedWhether the review came from another source
syndicationSourcePublic syndication source when available
helpfulVotesPositive feedback votes
unhelpfulVotesNegative feedback votes
totalFeedbackVotesTotal feedback votes
badgesPublic review badges
contextPublic contextual answers
secondaryRatingsQuality, value, or other sub-ratings
mediaPublic photo and video records
productReviewCountProduct-wide review count
productAverageRatingProduct-wide average rating
matchingReviewCountReviews matching this run's filters
sourceUrlSource page for verification
scrapedAtUTC extraction timestamp

Output example

{
"reviewId": "252840442",
"productId": "1095",
"productName": "Freshpet Vital Grain Free Beef & Bison Adult Dog Food",
"rating": 5,
"ratingRange": 5,
"title": "Fresh Product",
"text": "I started buying this product a few months ago and my doggo loves it!",
"reviewerNickname": "Autumn",
"submittedAt": "2026-07-15T19:10:16.000+00:00",
"isRatingsOnly": false,
"isSyndicated": false,
"helpfulVotes": 0,
"unhelpfulVotes": 0,
"totalFeedbackVotes": 0,
"badges": [],
"context": {},
"secondaryRatings": {},
"media": [],
"productReviewCount": 803,
"productAverageRating": 4.74346201743462,
"matchingReviewCount": 644,
"sourceUrl": "https://www.petsmart.com/dog/food/...-1095.html",
"scrapedAt": "2026-07-16T00:00:00.000Z"
}

Optional fields are omitted when PetSmart does not publish them.

How much does it cost to scrape PetSmart reviews?

The Actor uses pay-per-event pricing.

A small one-time start charge covers run initialization, then each saved review is charged as one review event.

The BRONZE rate is $0.000022152 per saved review, with tiered rates from $0.000025475 on FREE down to $0.00001 on PLATINUM and DIAMOND, plus a $0.005 start event.

You are not charged a review event for records that are not saved.

Check the live Actor pricing tab for the authoritative rate for your Apify plan.

Scheduling a PetSmart review monitor

Review monitoring is more useful when repeated.

Create an Apify schedule with:

  • a stable list of product IDs;
  • sort set to newest;
  • a recent submittedAfter value;
  • a webhook that forwards completed datasets.

Use reviewId as the deduplication key in your destination.

Update the date boundary periodically or deduplicate downstream.

Integrations

Google Sheets

Send new review rows to a shared product or reputation dashboard.

Slack or Microsoft Teams

Trigger alerts when low-star reviews appear for monitored products.

Zapier and Make

Route review records to support, CRM, or issue-tracking workflows without custom infrastructure.

Webhooks

Notify your own service when a scheduled dataset is ready.

Data warehouses

Load JSON or CSV exports into BigQuery, Snowflake, Redshift, or PostgreSQL.

JavaScript API usage

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/petsmart-product-reviews-scraper').call({
productIds: ['1095'],
maxReviewsPerProduct: 50,
sort: 'newest',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python API usage

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/petsmart-product-reviews-scraper').call(run_input={
'productIds': ['1095'],
'maxReviewsPerProduct': 50,
'sort': 'newest',
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL API usage

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~petsmart-product-reviews-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"productIds":["1095"],"maxReviewsPerProduct":50,"sort":"newest"}'

Read the returned run object, wait for completion, then fetch its default dataset.

Use with Apify MCP

Claude Code setup

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/petsmart-product-reviews-scraper"

Claude Desktop setup

Add the server under Settings → Developer → Edit Config.

Cursor setup

Add the same server under Settings → Tools & MCP → Add custom MCP.

VS Code setup

Add an HTTP MCP server to your workspace MCP configuration.

Claude Desktop and Cursor can use this mcpServers JSON:

{
"mcpServers": {
"apify-petsmart-reviews": {
"url": "https://mcp.apify.com?tools=automation-lab/petsmart-product-reviews-scraper"
}
}
}

Authorize your Apify account when the client opens the sign-in flow.

Example prompts:

  • “Collect the 50 newest reviews for PetSmart product 1095.”
  • “Find one- to three-star feedback since January for these product IDs.”
  • “Summarize recurring quality complaints and include source review IDs.”
  • “Compare average product ratings and recommendation signals.”

MCP results can feed directly into analysis while the full records remain in the Apify dataset.

Tips for better results

  • Start with 20 reviews while validating a product ID.
  • Use a date filter for recurring monitors.
  • Use oldest when creating a historical timeline.
  • Use helpful to prioritize reviews endorsed by other shoppers.
  • Keep rating-only records disabled for text analysis.
  • Enable rating-only records for rating-distribution research.
  • Store reviewId in downstream systems for deduplication.
  • Review source URLs before making business decisions.

Data freshness and completeness

The Actor reads the public review feed available at run time.

Moderation, deletion, syndication, and product-catalog changes are controlled by PetSmart and its review provider.

matchingReviewCount reflects the active input filters.

productReviewCount can be larger because it represents product-wide aggregate statistics.

Date and rating filters may naturally return no records.

Limitations

  • V1 accepts product IDs, not arbitrary search terms.
  • Product URL parsing is not performed automatically.
  • Only publicly exposed review fields are returned.
  • Some reviews omit text, recommendation, location, badges, or media.
  • PetSmart or its review provider can change public client configuration.
  • A review removed upstream cannot be recovered by a later run.
  • The Actor does not infer sentiment or product quality.

This Actor accesses publicly displayed product-review data.

Public availability does not remove every legal or contractual obligation.

Use the data for a legitimate purpose, collect only what you need, and comply with applicable law, PetSmart's terms, and your organization's policies.

Do not use reviewer information for harassment, identity resolution, discrimination, or unsolicited targeting.

The Actor emits public display nicknames and public context only; it does not request private accounts or credentials.

Troubleshooting

The dataset is empty

Verify the product ID and remove restrictive rating or date filters.

A valid product can also have no matching reviews.

The run says the product ID is invalid

Pass only the identifier, not a full URL.

Allowed IDs contain letters, numbers, underscores, or hyphens.

minRating fails

Use an integer from 1 through 5 and ensure it does not exceed maxRating.

A date filter fails

Use an ISO value such as 2026-01-01 or 2026-01-01T00:00:00Z.

Counts differ from the product page

The written-review filter excludes rating-only submissions by default, while product-wide totals may include them.

Build a broader product-review workflow with other Automation Lab actors:

Use separate source-specific actors because each retailer exposes different identifiers, fields, and collection routes.

Frequently asked questions

Can I collect multiple products in one run?

Yes. Add up to 50 values to productIds. The review limit applies separately to each product.

Does it require a PetSmart login?

No. The minimum workflow uses a public anonymous review feed.

Does it need a proxy?

No proxy is required for the current public API route.

Can I retrieve only negative reviews?

Yes. Set minRating to 1 and maxRating to 2 or 3.

Can I retrieve only reviews with text?

Yes. Leave includeRatingsOnly set to false, which is the default.

How do I avoid duplicates?

The Actor deduplicates review IDs during each run. Use reviewId to deduplicate across scheduled runs.

Can I export to Excel?

Yes. Open the dataset and select Excel, CSV, JSON, XML, or another supported format.

Is sentiment analysis included?

No. Export review text to your preferred NLP, LLM, or analytics workflow.

Support

If a run fails, share the run URL and the non-sensitive portion of your input through the Actor issue form.

Include the affected product ID, expected filter behavior, and whether the product page currently displays reviews.

Do not post Apify tokens or other credentials.