APITube Help Center

How to Track Product Recalls and Safety Alerts

Build a recall feed with event.type=recall, scope it to your sector and market, then push new alerts as they appear

Erick Horn

Written by Erick Horn

July 27, 2026

Open this example in the API Playground ↗

How to track product recalls and safety alerts

To track product recalls, query /v1/news/everything with event.type=recall — the event classifier tags articles that report a manufacturer pulling a product from the market. Add industry.id to keep only your sector, source.country.code to keep only your market, and published_at.start to bound the window. There is no separate recall endpoint; a recall feed is the standard filter chain with one event type applied.

curl "https://api.apitube.io/v1/news/everything?event.type=recall&published_at.start=NOW-7DAYS&per_page=50" \
  -H "X-API-Key: YOUR_API_KEY"

You can send the key as the api_key query parameter or as an X-API-Key header. Results come back newest-first by default (sort.by=published_at, sort.order=desc).

How do you filter news for product recalls?

event.type=recall is one of the business-category event codes returned by /v1/news/event-types. It accepts up to five comma-separated codes with OR logic, so you can widen a safety feed to neighbouring events in the same request:

# Recalls plus the litigation and enforcement that often follows
curl "https://api.apitube.io/v1/news/everything?event.type=recall,lawsuit,regulatory-action&published_at.start=NOW-30DAYS" \
  -H "X-API-Key: YOUR_API_KEY"

An unrecognised code stops the request with an HTTP 400, so pull the valid list from /v1/news/event-types rather than guessing. The recall label is used for matching only — it is not echoed back on the article object, so treat the filter itself as the signal and read title, description and body for the product details. Use ignore.event.type to strip event classes you do not want, for example ignore.event.type=earnings,partnership to drop routine corporate coverage. The complete rules live in how to filter news by event type.

How do you limit recalls to your industry?

Recall coverage spans food, pharmaceuticals, vehicles and consumer electronics at once. industry.id cuts it down to the sector you actually sell into, taking up to three numeric IDs with OR logic:

# Vehicle manufacturing, vehicle sales and EV charging
curl "https://api.apitube.io/v1/news/everything?event.type=recall&industry.id=801,805,807" \
  -H "X-API-Key: YOUR_API_KEY"

Industry IDs are numbers, not names — 801 is Vehicle Manufacturing, 805 is Vehicle Sales, 807 is EV Charging. Resolve free text into an ID with /v1/suggest/industries?prefix=vehicle, or browse the full table in the APITube industry list. Each returned article carries an industries array, so you can see which classifier matched. Filtering by industry is covered in depth in how to filter news by industry.

How do you watch recalls for one brand or manufacturer?

Add title to require the company name in the headline. Headline matching drops the passing mentions you get when a brand appears halfway down an industry roundup:

curl "https://api.apitube.io/v1/news/everything?event.type=recall&title=Toyota&per_page=50" \
  -H "X-API-Key: YOUR_API_KEY"

Multiple words in title are matched with AND regardless of order, so title=infant formula requires both words in the headline. Wrap the phrase in double quotes — title="infant formula" — to require that exact order. For company-wide coverage rather than headline-only matching, use organization.name instead, which matches the organisation entity anywhere in the article.

How do you separate urgent recalls from routine coverage?

Two filters do most of the triage. is_breaking=1 keeps only articles the pipeline flagged as urgent, and it accepts exactly 0 or 1. sentiment.overall.polarity=negative keeps the coverage that frames the recall as a problem rather than a neutral notice:

curl "https://api.apitube.io/v1/news/everything?event.type=recall&is_breaking=1&source.country.code=us&published_at.start=NOW-24HOURS" \
  -H "X-API-Key: YOUR_API_KEY"

source.country.code filters by where the outlet is based, which works well for national safety regulators and trade press but will miss a foreign paper covering the same recall. Combine it with language.code when you serve a specific market. To size a wave before pulling articles, call /v1/news/count with the same filters — it returns a single number and no article payloads, which makes month-over-month comparisons cheap.

How do you get recall alerts pushed instead of polling?

Keep the filters and point them at the Server-Sent Events stream at /v1/news/stream. It runs the same filter chain and pushes each new matching article as it is indexed:

curl -N "https://api.apitube.io/v1/news/stream?event.type=recall&industry.id=801&language.code=en" \
  -H "X-API-Key: YOUR_API_KEY"

The stream only delivers articles indexed after you connect — it is not a backfill. Each article arrives as an event: article with an id: line; pass the last id back in the Last-Event-Id header to resume without gaps after a drop. Delivered articles draw on a streaming quota that is separate from your normal request credits, and the number of concurrent streams depends on your plan (Free allows one; exceeding the limit returns ER0360). If you would rather have APITube POST each recall to your own endpoint, create a webhook in the dashboard.

Common Questions

Is there a dedicated product recall endpoint?

No. Product recalls use the same /v1/news/everything endpoint as every other subject, narrowed with event.type=recall. There is no separate recall route and no recall-specific response schema — you define the feed with the standard filters and read the details out of the article text.

Does the API return the recalled product name or lot number?

Not as structured fields. APITube indexes news coverage of a recall, not the regulator’s filing, so specifics like lot numbers, affected serial ranges and remedy instructions appear in the article body when the reporter included them. Use entities to get the organisations and products the enrichment pipeline recognised, then read body for the operational detail. For the authoritative recall notice, follow href to the source article and on to the regulator it cites.

How far back can I search for recalls?

Recall coverage goes back as far as the rest of the archive — bound it with published_at.start and published_at.end, which take absolute dates such as 2026-01-01 or relative values such as NOW-30DAYS. Deep historical sweeps need paging, and on the Free plan paging stops after the first few pages, so wide multi-year pulls require a paid plan.

Can I track recalls for competitors as well as my own brand?

Yes, and it is the same request run per company. Loop title=<company> over your watchlist against /v1/news/count to get a comparable recall volume per brand over a fixed window, then fetch the articles only for the names that moved. Because event.type and title combine freely, you can also split the comparison by event — recalls versus lawsuits versus regulatory actions — to see whether a competitor’s problem is contained or escalating.


Related Articles