Australia Product Safety Recalls Scraper avatar

Australia Product Safety Recalls Scraper

Under maintenance

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Australia Product Safety Recalls Scraper

Australia Product Safety Recalls Scraper

Under maintenance

Search Australia's official product recall register (ACCC Product Safety Australia). Find recalled products by keyword, category, brand, or date. Get hazard details, affected batches/SKUs, supplier, and consumer instructions.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Search Australia's official product recall register, published by the ACCC on Product Safety Australia (productsafety.gov.au). Find recalled products by keyword, category, brand, or publish date — get the full recall notice: hazard description, reason for recall, consumer action, affected barcodes/SKU, supplier, and sale dates.

What this actor does

  • Two modes: search (keyword + filters) and byUrl (exact recall page lookup)
  • Filters: category (15 top-level product categories), brand, published-date range
  • Sorting: relevance or newest-first
  • Full recall notice per product: description, reason for recall, hazards, consumer action, supplier, barcodes/SKU, sale date range, locations sold, recall notice PDF, product photos
  • Empty fields are omitted — every field in a record is real, populated data

Output per recall

  • recallId — URL slug, stable unique identifier
  • recallUrl — canonical recall page URL
  • title
  • publishedDate
  • recallGuid — ACCC's internal recall record identifier
  • category — specific product sub-category (e.g. "Stuffed and plush toys")
  • productDescription
  • reasonForRecall
  • hazards
  • consumerAction
  • imageUrl
  • brand, model, supplierName, traders, otherIdentifyingNumbers (requires fetchFullDetails)
  • countryOfManufacture (requires fetchFullDetails)
  • sku, barcodeNumbers[] (requires fetchFullDetails)
  • saleDateFrom, saleDateTo (requires fetchFullDetails)
  • lastUpdatedDate — date the recall notice page was last revised (requires fetchFullDetails)
  • locationsSold[] (requires fetchFullDetails)
  • recallNoticeUrl — PDF of the official recall notice (requires fetchFullDetails)
  • tradersListUrl — PDF listing the retailers/traders who sold the product, when published (requires fetchFullDetails)
  • productPhotoUrl, productPhotoUrls[] (requires fetchFullDetails)
  • recordType: "recall", scrapedAt

Input

FieldTypeDefaultDescription
modestringsearchsearch / byUrl
searchQuerystringbatteryFree-text keyword search (mode=search)
recallUrlsarrayExact recall page URLs (mode=byUrl)
categoryselectOne of 15 top-level product categories
brandstringCase-insensitive filter to recalls whose brand contains this text. Auto-enables fetchFullDetails; recalls with no brand on file are excluded.
publishedDateFrom / publishedDateTostringYYYY-MM-DD
sortByselectrelevancerelevance / date
fetchFullDetailsbooleantrueFetch each recall's detail page for brand/supplier/barcodes/sale-dates/locations
maxItemsinteger50Hard cap on emitted records (1-2000). In mode=search, a single search/filter combination can return at most ~100 matches (an upstream feed limit, not this actor's) -- run multiple searches with narrower filters (date range, category) to collect more.

Example input

{
"mode": "search",
"searchQuery": "toy",
"category": "Kids' toys",
"publishedDateFrom": "2025-01-01",
"maxItems": 50
}
{
"mode": "byUrl",
"recallUrls": [
"https://www.productsafety.gov.au/search-consumer-product-recalls/findon-light-up-sensory-plush"
]
}

Use cases

  • Compliance monitoring — track recalls in your product category or industry.
  • E-commerce risk management — cross-check your catalogue's barcodes/SKUs against recalled products.
  • Consumer safety research — analyze recall trends by category, brand, or time period.
  • Insurance & legal — evidence gathering for product-liability due diligence.

Data source

This actor uses productsafety.gov.au's own public RSS feed and recall detail pages — the same data published on the site's /recalls search page, maintained by the Australian Competition & Consumer Commission (ACCC). Public, no authentication required.

FAQ

How current is the data? New recalls are published on the site as they're lodged; the feed reflects the live register.

Does this cover food recalls? Food safety recalls in Australia are managed separately by FSANZ / state food authorities, not the ACCC — this actor covers general consumer product recalls (electronics, toys, vehicles, cosmetics, etc.), not food.

Why are brand, sku, and barcodeNumbers sometimes missing? These are detail-page fields (only populated when fetchFullDetails is enabled) and not every recall notice includes them — vehicle recalls, for example, typically have no barcode/SKU.

Can I filter by state/region? The register doesn't expose an Australian state/territory filter; locationsSold (e.g. "Nationally", "Online", specific states) is available as an output field when fetchFullDetails is enabled.

Why does mode=search return at most ~100 records for a given search/filter combination? productsafety.gov.au's own RSS feed for this listing hard-caps at ~100 matches per query and doesn't support requesting further pages -- this is an upstream limit, not a limitation of this actor. To collect more than ~100 total, run the actor multiple times with narrower filters (split by publishedDateFrom/publishedDateTo or category) and combine the results.

Why do some "Vehicles (registered)" recalls have fewer detail fields? Registered-vehicle recall pages on productsafety.gov.au redirect to the separate vehiclerecalls.gov.au register (run by the Department of Infrastructure, not the ACCC). This actor doesn't follow that redirect, so those records ship with the RSS teaser fields (title, description, hazards, consumer action) but not the detail-page fields (brand, SKU, sale dates). In mode=byUrl, a registered-vehicle recall URL that redirects this way returns 0 records (the detail page is the only source of data for that mode) rather than hanging.