Discover/BD API
live

BD APIbd.com

Access BD medical device recall notices and safety alerts via API. Returns product names, campaign IDs, catalog numbers, clinical impact, and status.

Endpoint health
verified 2d ago
get_recalls
1/1 passing latest checkself-healing
Endpoints
1
Updated
26d ago

What is the BD API?

The BD Recalls API exposes 1 endpoint — get_recalls — that returns the full set of active recall notices and safety alerts published by Becton, Dickinson and Company. Each record includes up to 7 structured fields: a unique recall ID, campaign identifier, product name, start date, status, HTML-formatted clinical impact description, and extracted catalog or lot numbers, giving medical device teams immediate access to actionable safety data.

Try it

No input parameters required.

api.parse.bot/scraper/a4226e92-0368-4e88-a7f2-fbefc08744a9/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/a4226e92-0368-4e88-a7f2-fbefc08744a9/get_recalls' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 bd-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.

"""BD.com Recall API - Walkthrough: fetch and inspect active medical device recalls."""
from parse_apis.bd.com_recall_api import BDRecalls, RecallsUnavailable

client = BDRecalls()

# List all active recalls, capped to 5 for quick inspection.
for recall in client.recalls.list(limit=5):
    print(recall.product_name, recall.status, recall.start_date)

# Drill into the first recall for detail.
first = client.recalls.list(limit=1).first()
if first:
    print(first.campaign_id, first.product_name)
    print("Catalog numbers:", first.extracted_catalog_numbers)
    print("Lot info:", first.extracted_lot_info)

# Typed error handling around the list call.
try:
    for recall in client.recalls.list(limit=3):
        print(recall.id, recall.campaign_id, recall.product_name)
except RecallsUnavailable as exc:
    print(f"BD portal unavailable: {exc}")

print("exercised: recalls.list / typed field access / error handling")
All endpoints · 1 totalmissing one? ·

Fetch all active recall notices and safety alerts published by BD. Returns metadata, clinical impact assessments, and product identifiers such as catalog numbers and lot information. No input parameters required — returns the full set of active recalls from the BD Customer Care portal. Each recall includes the campaign identifier, product name, start date, current status, and a full HTML description of the clinical impact and required user actions.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "count": "integer total number of recalls returned",
    "recalls": "array of recall objects with id, campaign_id, product_name, start_date, status, description_html, extracted_catalog_numbers, extracted_lot_info"
  },
  "sample": {
    "data": {
      "count": 30,
      "recalls": [
        {
          "id": "701cx00000iumGpAAI",
          "status": "Active",
          "start_date": "2026-05-28",
          "campaign_id": "SUR-26-06093",
          "product_name": "BD ChloraPrep™ Clear - 1 mL and FREPP™ Clear 1.5 mL Applicators",
          "description_html": "<p>The BD ChloraPrep™ Clear - 1 mL and FREPP™ Clear 1.5 mL Applicators with paper lidding are being recalled due to potential breach of sterility...</p>",
          "extracted_lot_info": [],
          "extracted_catalog_numbers": []
        }
      ]
    },
    "status": "success"
  }
}

About the BD API

What the API Returns

The get_recalls endpoint returns every active recall and safety alert currently listed on BD's Customer Care recall page. The response contains a top-level count integer indicating how many recall records were returned, alongside a recalls array. Each object in that array carries an id, a campaign_id (BD's internal campaign reference), a product_name, a start_date, and a status field indicating whether the recall is active or resolved.

Clinical Detail and Product Identifiers

The description_html field contains the full clinical impact summary as published by BD, including recommended user actions, risk assessments, and any relevant regulatory context. This field is HTML-formatted, so it preserves structure like lists and emphasis from the source notice. The extracted_catalog_numbers field is a parsed array of catalog and lot number strings pulled from that narrative, making it straightforward to match recalls against your own inventory records without parsing the HTML yourself. An extra field carries any additional metadata present in the record.

Parameters and Freshness

get_recalls accepts no input parameters — it returns the complete active recall dataset in a single call. There is no filtering by date range, product line, or status at the API level; filtering must be applied client-side against the returned array. The data reflects the current state of BD's published recall listings, so repeated polling is the appropriate pattern for monitoring new or updated notices.

Reliability & maintenanceVerified

The BD API is a managed, monitored endpoint for bd.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bd.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 bd.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.

Last verified
2d ago
Latest check
1/1 endpoint passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Alert hospital procurement teams when a device they stock appears in product_name or extracted_catalog_numbers
  • Feed recall campaign_id and start_date into a compliance audit log for medical device inventory systems
  • Cross-reference extracted_catalog_numbers against a distributor's active product catalog to flag affected SKUs
  • Ingest description_html into a document store to surface recall language during clinical staff training
  • Monitor status changes across repeated API calls to detect when a recall moves from active to resolved
  • Build a dashboard showing open BD recalls grouped by start_date for a biomedical engineering department
  • Trigger purchasing holds automatically when a new recall record appears with a matching catalog number
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does BD have an official developer API for recall data?+
BD does not publish a documented public developer API for recall or safety alert data. Official recall notices are maintained on BD's Customer Care website at bd.com, but no versioned REST or GraphQL API is offered to external developers.
What does the `extracted_catalog_numbers` field contain, and how is it structured?+
extracted_catalog_numbers is an array of strings, each representing a catalog or lot number referenced in the recall notice. This lets you programmatically match recall records against an inventory database without needing to parse the description_html field yourself. Some recalls reference multiple catalog numbers; others may have an empty array if no discrete identifiers were present in the notice text.
Can I filter recalls by product category, date range, or geographic region through the API?+
Not currently. get_recalls returns the full set of active recalls in one response with no server-side filtering. You can apply client-side filtering on fields like start_date, product_name, or status after retrieving the array. You can fork this API on Parse and revise it to add a filtered endpoint if your use case requires server-side scoping.
Does the API include historical or closed recalls, not just active ones?+
The current endpoint covers active recall notices as published on BD's Customer Care page. Closed or archived recalls that BD has removed from their active listing are not included in the response. You can fork this API on Parse and revise it to target archived recall pages if historical coverage is needed.
How often does the recall data refresh, and how should I poll for new notices?+
The API reflects the current published state of BD's recall listings. BD does not publish a fixed update schedule for recall notices, and new alerts can appear at any time following a regulatory event. Polling get_recalls at a regular interval — daily is typical for compliance monitoring — and comparing returned id or campaign_id values against previously stored records is the standard approach for detecting new or changed notices.
Page content last updated . Spec covers 1 endpoint from bd.com.
Related APIs in HealthcareSee all →
philips.com API
Access recall notices, affected device lists, news articles, and support information from the official Philips recall portal. Search for specific device models, retrieve detailed recall updates, and get contact and remediation details.
open.fda.gov API
Search FDA food recall and enforcement actions to find safety information about specific products or manufacturers, and look up adverse events reported to the CFSAN Adverse Event Reporting System (CAERS). Filter, sort, and aggregate data by various fields to analyze food safety trends and monitor enforcement activity.
medex.com.bd API
Access data from medex.com.bd.
bdtender.com API
Search and browse tender listings from Bangladesh's largest tender portal, discovering opportunities by category, organization, and location while accessing real-time tender data and site statistics. Get detailed information on individual tenders, view live postings, and see what was published today to stay updated on the latest bidding opportunities.
bhphotovideo.com API
Search and browse B&H Photo's massive inventory of cameras, electronics, and photography gear with instant access to pricing, specifications, images, and customer reviews. Filter products by category, compare detailed specs, and discover used items all in one integrated platform.
clinicaltrials.gov API
Search and retrieve comprehensive information about clinical trials worldwide, including study details, eligibility criteria, locations, and outcomes data. Access structured metadata and statistics to find relevant research studies matching your specific medical conditions or research interests.
pharmdata.co.uk API
Search UK pharmacies, access NHS service statistics, and retrieve pharmacy dispensing data to compare performance across regions. Monitor MHRA drug safety alerts and view LPC rankings to make informed decisions about pharmacy services and medications.
drugs.com API
Search for drugs and pill identifications, get detailed information about FDA approvals and drug interactions, and find medications by condition or letter. Look up side effects, dosages, and potential drug interactions to make informed health decisions.