Philips APIphilips.com ↗
Access Philips CPAP/BiPAP recall notices, affected device lists, news articles, and remediation progress via 7 structured endpoints.
What is the Philips API?
The Philips Recall Portal API provides structured access to recall data across 7 endpoints, covering everything from the main recall landing page to individual news articles and affected device lists. With get_affected_device_list you can retrieve every recalled device category and its associated product URLs, while search_recall_by_model lets you filter by model name or keyword such as 'DreamStation' or 'BiPAP'. All endpoints return typed, ready-to-parse JSON with no HTML handling required.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/01625ea0-a887-49e3-b98e-d531320f12a5/get_recall_home' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace philips-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.philips_recall_monitor_api import PhilipsRecall
client = PhilipsRecall()
# Get the recall home page overview
recall = client.recallhomes.get()
print(recall.title, recall.description)
for section in recall.sections:
print(section.title, section.url)
# List all recall news articles and drill into detail
for article in client.articles.list():
print(article.title, article.url, article.teaser)
detail = article.detail.get()
print(detail.title, detail.date, detail.body)
for pdf in detail.pdfs:
print(pdf.name, pdf.url)
# List all affected devices
for device in client.devices.list():
print(device.category, device.models)
# Search for specific device models
for device in client.devices.search(query="DreamStation"):
print(device.category, device.models)
# Get ozone cleaner safety info
ozone = client.ozoneinfos.get()
print(ozone.text)
# Get contact and support info
support = client.supportinfos.get()
print(support.text)
Fetches the main Philips Voluntary Recall Information page. Returns the recall title, introductory description, navigation links to sub-pages (testing results, replacement devices, progress), active alerts, and a remediation progress summary when available. This is the entry point for understanding the scope of the June 2021 foam recall.
No input parameters required.
{
"type": "object",
"fields": {
"title": "string, page title of the recall notice",
"alerts": "array of alert strings, may be empty if no active alerts",
"sections": "array of objects with 'title' and 'url' fields linking to sub-pages",
"description": "string, introductory description of the recall",
"progress_summary": "string or null, summary of remediation progress if available"
},
"sample": {
"data": {
"title": "June 2021 recall of certain CPAP, BiPAP and Mechanical Ventilator devices",
"alerts": [],
"sections": [
{
"url": "https://www.usa.philips.com/sleep-respiratory-care/news/business-updates/june-2021-foam-recall/june-2021-foam-recall-progress",
"title": "Remediation progress updates"
},
{
"url": "https://www.usa.philips.com/sleep-respiratory-care/news/business-updates/june-2021-foam-recall/affected-device-testing-results",
"title": "Testing results for devices affected by the June 2021 recall"
},
{
"url": "https://www.usa.philips.com/sleep-respiratory-care/news/business-updates/june-2021-foam-recall/recall-replacement-devices",
"title": "Learn more about your replacement device"
}
],
"description": "Learn why Philips issued the voluntary June 2021 recall and the steps taken to ensure patient safety.",
"progress_summary": null
},
"status": "success"
}
}About the Philips API
Recall Overview and News
get_recall_home returns the top-level recall page including a title, description, progress_summary (or null if unavailable), active alerts, and a sections array of objects with title and url fields pointing to sub-pages. get_recall_news_and_updates returns an articles array where each item carries a title, url, and teaser. To read a full article, pass its URL path to get_recall_news_article using the slug parameter — the response includes body, date, title, and a pdfs array listing any attached documents by name and URL.
Device and Safety Data
get_affected_device_list returns a devices array where each entry has a category string and a models array of product page URLs. search_recall_by_model accepts a query string — such as 'Go' or 'BiPAP' — and filters that same device structure, returning only matching category and models pairs. get_ozone_cleaner_information returns a text field with safety warnings about using ozone cleaners with Philips CPAP devices.
Contact and Remediation
get_contact_and_support returns a single text field containing remediation progress statistics and contact details for the recall program. This endpoint is useful for monitoring how many devices have been remediated over time or for surfacing support contact information in consumer-facing tools.
The Philips API is a managed, monitored endpoint for philips.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when philips.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official philips.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a device lookup tool that lets patients check whether their CPAP or BiPAP model appears in the
get_affected_device_listresults - Monitor
get_recall_news_and_updatesfor new articles and trigger alerts when thearticlesarray changes - Extract and archive article
bodyandpdfsfromget_recall_news_articlefor regulatory compliance documentation - Track remediation progress over time by periodically calling
get_contact_and_supportand storing the returnedtext - Surface ozone cleaner safety warnings via
get_ozone_cleaner_informationin patient-facing healthcare applications - Use
search_recall_by_modelto power a model-number search field in a hospital equipment management dashboard - Pull
progress_summaryfromget_recall_hometo display a live recall status widget on a medical device monitoring portal
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Philips offer an official public developer API for its recall portal?+
What does `search_recall_by_model` actually match against?+
search_recall_by_model filters the full affected device list by matching the query parameter against category names. It returns only the matching category and models pairs. It does not search article text, the ozone cleaner page, or individual product page content at the linked URLs.Does `get_recall_news_article` always return a publication date?+
date field is a string when a date is present on the article page, and null when it is not. Some older or informational articles on the portal do not include a visible publication date, so consuming code should handle the null case.Does the API expose individual product specification pages linked from `get_affected_device_list`?+
models as an array of product page URLs but does not fetch or parse the content at those URLs. You can fork this API on Parse and revise it to add an endpoint that retrieves specs or serial-number details from individual product pages.Is historical recall news or archived remediation data available?+
get_recall_news_and_updates returns all articles listed on the news page at the time of the call, but the API does not maintain its own archive of historical snapshots. If you need a historical record, you should store responses from repeated calls over time. You can fork this API on Parse and revise it to add scheduled polling and a persistent result store.