Revival Animal Health Scraper avatar

Revival Animal Health Scraper

Pricing

from $4.00 / 1,000 revival animal health products

Go to Apify Store
Revival Animal Health Scraper

Revival Animal Health Scraper

Extract Revival Animal Health products, prices, availability, brands, images, SKUs and variants for pet supply catalog research and price tracking.

Pricing

from $4.00 / 1,000 revival animal health products

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Extract public Revival Animal Health product catalogs into a structured Apify dataset. Each row contains one unique product with all publicly exposed variants, prices, availability, brand, description, images, SKUs and barcodes. Use it for catalog research, assortment comparison and periodic price observations.

What it extracts

FieldMeaning
productId, handle, urlPublic product identity and canonical product page
title, brand, productTypeName, public vendor and product type
descriptionClean plain text from the public description
price, priceMax, currencyLowest and highest variant prices and observed currency
availableWhether at least one public variant is available
tags, imagesPublic tags and HTTPS image URLs
variantsVariant IDs, titles, SKUs, barcodes, prices, comparison prices, availability, images and option values
scrapedAtUTC extraction timestamp

Missing optional values are null or empty arrays. A comparison price can equal the current price; it does not necessarily represent a discount. One-time prices are extracted; subscription prices, taxes, delivery charges, account discounts, clinical recommendations, customer details and exact inventory quantities are outside the output contract. Prescription products are catalog observations; no prescription access, account login, checkout or purchasing is performed.

Choose products or collections

Supply individual /products/HANDLE URLs for known products or /collections/HANDLE URLs to discover products across collection pages. The default collection is shop-all-dog. Cat, horse and other current public collections use the same workflow. The site homepage selects /collections/all. Legacy /category/ URLs are rejected with guidance to use current collection URLs.

{
"startUrls": [{"url": "https://revivalanimal.com/collections/shop-all-dog"}],
"maxResults": 5,
"maxPages": 2,
"startPage": 1,
"keyword": "",
"brand": "",
"onlyAvailable": false
}

For a single product:

{
"startUrls": [{"url": "https://revivalanimal.com/products/breeders-edge-oral-cal-plus-gel"}],
"maxResults": 1
}
InputDefaultBounds and behavior
startUrlsShop-all-dog collection1–20 HTTPS product or collection URLs
maxResults51–1000 unique delivered products
maxPages21–50 pages per collection
startPage11–100; ignored for individual products
keywordEmptyCase-insensitive substring in name, description, brand or tags; up to 100 characters
brandEmptyCase-insensitive brand substring; up to 100 characters
onlyAvailablefalseRequire at least one publicly available variant

Filters operate on products discovered within the selected pages. A restrictive filter can return fewer than maxResults; increase maxPages deliberately when you need broader coverage. Product URL query strings are removed to deduplicate variant links; collection pagination is controlled by startPage and maxPages. Product order follows the public collection order observed during the run and may change over time.

Verified free-plan runs deliver at most five products. Paid and unknown local contexts use the requested limit. Every write checks both this effective cap and the remaining event budget. All variants are included in their product row without additional result events.

Use through the API or an agent

Use Apify Console, apify call muhammadafzal/revival-animal-health-scraper, or the authenticated Apify API. Example Node.js client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('muhammadafzal/revival-animal-health-scraper').call({
startUrls: [{ url: 'https://revivalanimal.com/products/breeders-edge-oral-cal-plus-gel' }],
maxResults: 1,
}, { memory: 256, timeout: 300, maxTotalChargeUsd: 0.05 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const summary = await client.keyValueStore(run.defaultKeyValueStoreId).getRecord('OUTPUT');

An Apify MCP client can call this batch Actor by its name and input object, then retrieve the default dataset and OUTPUT. There is no dedicated HTTP or Standby server. The Actor stays private until the owner publishes it; other users need appropriate access first.

Example product output

This compact excerpt shows an observed product; complete rows also contain descriptions, tags, images, all variant fields and scrapedAt. Prices and availability can change.

{
"productId": "8993990049923",
"url": "https://revivalanimal.com/products/breeders-edge-oral-cal-plus-gel",
"title": "Breeder's Edge® Oral Cal Plus™ Gel",
"brand": "Breeder's Edge",
"price": 19.94,
"priceMax": 27.29,
"currency": "USD",
"available": true
}

Pay per event

Pricing includes platform usage; platform-usage pass-through is disabled. One synthetic start event applies to each initial run at supported memory allocations; resurrecting a run incurs another start event. One primary dataset-item event applies per unique delivered product. Empty, unavailable-page and rejected-input runs have no product events but still have the start event. No custom event duplicates either synthetic event.

EventFREEBRONZESILVERGOLD
Actor start$0.006250$0.006094$0.005938$0.005000
Product with variants$0.005000$0.004875$0.004750$0.004000
Discount from list0%2.5%5%20%

Values round upward at six-decimal precision. At FREE list pricing, one product costs $0.01125 and five products cost $0.03125, including the start. At GOLD, those totals are $0.009 and $0.025. The minimum supported maximum-charge setting is $0.01. The budget can stop a run before its requested result count. Owner test runs expose event counts while actual payment treatment follows Apify's owner-run rules.

Reliability, limits and diagnostics

The scraper reads public HTML and embedded product JSON, with JSON-LD as a parsing fallback. It scopes collection links to the product grid, follows public next-page signals and deduplicates stable product IDs before writing. It uses sequential HTTP requests, up to two retries for transient failures, exponential backoff with jitter, and bounded Retry-After handling for rate limits. No proxy or external provider is required by the tested direct route.

A run performs at most 2000 HTTP attempts, reads at most 12 MB per response and stops collection work after 240 seconds, leaving time to save diagnostics. Earlier platform deadlines also trigger finalization. Three extraction/network failures stop the run; access denials stop promptly. Increasing page and result limits may still hit these work bounds. Successful partial results remain in the dataset.

OUTPUT contains the outcome (DATA, EMPTY, PARTIAL, BLOCKED, REJECTED or FAILED), stop reason, delivered count, request/page counts, effective result limit, warnings and event counts. resultEvents includes acknowledged events saved before a restart; sdkResultEvents shows the current SDK snapshot, which can lag the cumulative platform ledger on resurrection. A valid filter with no matches is EMPTY; an access denial is BLOCKED, not a fabricated empty catalog. Unknown paths are rejected before crawling. Missing pages produce warnings and no product events. Resume state is persisted in STATE; dataset reconciliation prevents duplicate writes when completed records outpace the last saved checkpoint.

Responsible use and support

Use the extracted public catalog for lawful research with appropriate permission. Respect site terms, robots policies, applicable rights and reasonable request volumes. This independent scraper is not affiliated with Revival Animal Health. Product descriptions are source data and are not veterinary advice. Do not rely on observed stock status to guarantee fulfillment.

For support, provide the Apify run ID and OUTPUT summary. Avoid sharing credentials. Report a source markup change with a public product or collection URL so its extraction behavior can be reproduced.