US Medical Equipment & DMEPOS Supplier Leads Scraper
Pricing
$5.00 / 1,000 medical equipment supplier records
US Medical Equipment & DMEPOS Supplier Leads Scraper
Scrape the official CMS Medicare medical-equipment (DMEPOS) supplier directory: business name, phone, full address, Medicare participation, product lines (CPAP, oxygen, wheelchairs, diabetic, orthotics), geo & lead score. Filter by state, product & enrollment date. B2B leads + monitoring.
Pricing
$5.00 / 1,000 medical equipment supplier records
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
US Medical Equipment & DMEPOS Supplier Leads Scraper (CMS Medicare Directory)
Extract the complete official CMS Medicare medical-equipment supplier directory — every Medicare-enrolled DMEPOS (Durable Medical Equipment, Prosthetics, Orthotics & Supplies) supplier location in the United States — as clean, ready-to-use B2B leads. Get the business name, phone, full address, geo coordinates, Medicare participation status, competitive-bid contract flag, enrollment date, and the exact product lines each supplier carries (CPAP, oxygen, wheelchairs, diabetic supplies, orthotics/prosthetics, wound care, hospital beds, and more) — mapped into marketable product categories and scored 0–100.
No login, no cookies, no browser, no API key — fast JSON extraction directly from the official CMS Provider Data Catalog.
Why this DMEPOS supplier scraper?
This is the only actor that turns the CMS Medicare supplier directory into a true sales-ready lead list. Instead of a flat dump, every record is enriched, categorized, scored, and filterable — the richest dataset in the category:
| Data | Raw CMS file | This actor |
|---|---|---|
| Business & practice name | ✅ ALL-CAPS | ✅ clean + raw |
| Phone number | ✅ digits | ✅ formatted (XXX) XXX-XXXX |
| Full mailing address + ZIP+4 | partial | ✅ assembled + parsed |
| Geo coordinates (lat/lng) | ✅ | ✅ + radius search |
| Medicare participation (accepts assignment) | code | ✅ boolean + signal |
| Competitive-bid (CBA) contract | code | ✅ boolean + signal |
| Enrollment date → newly-enrolled flag | raw date | ✅ derived + filter |
| Raw product list | pipe-soup | ✅ split array |
| Product categories (CPAP, oxygen, mobility, diabetic, O&P…) | ❌ | ✅ mapped + filterable |
| Specialties & provider types | pipe-soup | ✅ split arrays |
| Business type (LLC / Inc / Corp) | ❌ | ✅ inferred |
| Lead score (0–100) + lead signals | ❌ | ✅ |
| Monitoring — only new/changed suppliers | ❌ | ✅ |
Who buys this data (use cases)
DMEPOS suppliers are active, recurring buyers — and this directory is the cleanest way to find and segment them:
- DME billing & RCM software / services — sell to suppliers actively billing Medicare (
isMedicareParticipating). - Accreditation organizations & surety-bond providers — every Medicare DMEPOS supplier needs accreditation and a surety bond.
- Distributors & manufacturers — reach buyers by product line (
supplyCategories: filter for CPAP/oxygen, mobility, diabetic, wound care, etc.). - M&A / private equity — map the DME landscape by state, product mix and competitive-bid status for roll-up targets.
- Compliance, audit & consulting — target suppliers in competitive-bid product areas (
isCompetitiveBidContract). - Marketing agencies — build targeted DME / home-medical-equipment campaign lists with verified phone + address.
- New-business outreach —
newlyEnrolledOnlysurfaces brand-new suppliers (fresh purchase intent for everything from software to supplies).
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the US Medical Equipment & DMEPOS Supplier Leads Scraper, choose your states (or leave empty for all), add any product/category filters, and click Start.
- Watch results stream into the dataset table.
- Export as JSON, CSV, Excel, or XML — or pull results programmatically via the Apify API.
Input
{"states": ["TX", "FL"],"supplyCategories": ["Respiratory & Oxygen", "Mobility & Wheelchairs"],"acceptsAssignmentOnly": true,"newlyEnrolledWithinDays": 180,"sortBy": "leadScore","maxResults": 1000}
- states — two-letter USPS codes (
TX,CA,FL). Empty = all states & territories. State filtering is server-side and fast. - cities / zipCodes — narrow by city or ZIP prefix.
- centerLatitude / centerLongitude / radiusMiles — radius search around a point.
- supplyCategories — pick from 14 marketable categories (Respiratory & Oxygen, Mobility & Wheelchairs, Diabetic Supplies & Shoes, Orthotics & Prosthetics, Wound Care, Hospital Beds & Support Surfaces, Urological & Ostomy, Enteral & Parenteral Nutrition, Pain & Stimulation Devices, Compression & Lymphedema, Monitoring & Diagnostics, Bath & Daily-Living Safety, Vision & Ocular, Hearing).
- supplyKeywords — free-text product match (
CPAP,oxygen,wheelchair,diabetic shoes…). - acceptsAssignmentOnly / competitiveBidOnly / withPhoneOnly / excludePharmacies — quality & business-type toggles.
- newlyEnrolledOnly / newlyEnrolledWithinDays / enrolledAfter / enrolledBefore — target fresh enrollments.
- minLeadScore / minSupplyCategories — quality thresholds.
- sortBy —
newest(recommended),leadScore,name,state, orsource. - monitorMode / monitorKey — emit only new/changed suppliers since the last run (see below).
Output
One record per Medicare-enrolled supplier location:
{"recordType": "dmeposSupplier","providerId": "20616119","businessName": "Acme Home Medical LLC","practiceName": "Acme Home Medical - Austin","businessType": "LLC","isPharmacy": false,"phone": "(512) 555-0140","addressLine1": "1200 Research Blvd","city": "Austin","state": "TX","zipCode": "78759","zip5": "78759","zip4": "4744","fullAddress": "1200 Research Blvd, Austin, TX, 78759-4744","latitude": 30.4012,"longitude": -97.7491,"acceptsAssignment": true,"isMedicareParticipating": true,"isCompetitiveBidContract": false,"participationBeginDate": "2026-02-26","participationYear": 2026,"isNewlyEnrolled": true,"specialties": ["Medical Supply Company"],"providerTypes": [],"supplyCategories": ["Respiratory & Oxygen", "Mobility & Wheelchairs", "Diabetic Supplies & Shoes"],"supplyCategoryCount": 3,"supplies": ["Oxygen Equipment and/or Supplies", "Wheelchairs (Standard Power)", "Blood Glucose Monitors/Supplies (Non-Mail Order)"],"supplyCount": 11,"isMailOrder": false,"leadScore": 72,"leadSignals": ["newly_enrolled", "medicare_participating", "high_value_equipment", "has_phone"],"sourceUrl": "https://data.cms.gov/provider-data/dataset/ct36-nrcq","sourceFields": { "...": "raw CMS row passed through verbatim" },"dataAsOf": "2026-06-17","scrapedAt": "2026-06-21T03:54:14.254Z"}
Every raw CMS field is preserved under sourceFields, so you never lose data.
Monitoring — only new & changed suppliers
Turn on monitorMode to remember which suppliers you've already seen (in a named key-value store keyed by monitorKey) and emit only suppliers that are new or changed since your last run — each tagged monitorEvent: "new" or "updated". CMS refreshes this directory regularly, so a scheduled run becomes a live feed of newly-enrolled DME suppliers.
This works alongside Apify Schedules — they are complementary, not conflicting: the Schedule decides when the actor runs, and monitoring decides what counts as new. Tip: on the first monitor run, set maxResults high enough to capture your whole watch universe (e.g. all suppliers in your target states) so the baseline is complete; subsequent runs then return only genuinely new/changed records.
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets, and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it daily/weekly to capture newly-enrolled suppliers as fresh leads.
- Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/medical-equipment-supplier-leads').call({states: ['TX', 'FL'],supplyCategories: ['Respiratory & Oxygen'],acceptsAssignmentOnly: true,sortBy: 'leadScore',maxResults: 1000,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} DMEPOS supplier leads`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push new supplier leads straight into your CRM.
- Slack — get notified when a monitored search finds new suppliers.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find newly-enrolled CPAP and oxygen suppliers in Texas with phone numbers" and let it run this scraper for you.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
- Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
More B2B lead scrapers from scrapesage
Build a complete US B2B prospecting stack from official, public data sources:
- SAM.gov Scraper — federal contract opportunities, awards & contracting-officer contacts.
- FEC Campaign Finance Scraper — donors, PACs, committees & lobbying.
- Singapore Company Scraper — UEN business registry & company leads.
- Swapcard Exhibitor Scraper — exhibitor & speaker leads from trade shows.
- Eventbrite Scraper — events + organizer leads with contact emails.
- Multi-ATS Job Scraper — hiring-intent signals across Greenhouse, Lever, Ashby, Workday.
- Google Ads Transparency Scraper — competitor ad intelligence.
- Rent.com Scraper — rental listings & property-management leads.
Tips
- Fast & cheap newly-enrolled feeds: pair
sortBy: "newest"(ornewlyEnrolledWithinDays) withmonitorMode— the actor stops scanning as soon as records fall outside your date window, so runs stay tiny. - Segment by product line:
supplyCategoriesis the fastest way to get, say, only respiratory/oxygen suppliers or only mobility/wheelchair suppliers. - Even national coverage: set
maxResultsPerStateto spread results across states instead of concentrating on the largest ones. - Lead scoring: use
sortBy: "leadScore"+minLeadScoreto put the most complete, active, full-line suppliers at the top.
FAQ
Where does the data come from? The official CMS Provider Data Catalog "Medical Equipment Suppliers" dataset (ct36-nrcq) — the public Medicare directory of DMEPOS suppliers. The actor queries the catalog's public data API directly; no API key, login, or browser is required.
How fresh is it? CMS refreshes the directory regularly; each record includes dataAsOf (the dataset's last-modified date). Use monitorMode on a schedule to capture changes as they happen.
Does it include email addresses? No — the official CMS supplier directory does not publish email addresses, so this actor does not fabricate them. It returns the verified phone and full address for direct outreach. (For email enrichment, pair the output with a website-contact enrichment step in your own workflow.)
Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.
A field is null — why? Some suppliers genuinely don't list a second address line, a specialty, or geo coordinates. Fields are null only when the source has no value, never because the scraper skipped them — and the complete raw row is always kept under sourceFields.
Is this legal? This actor collects publicly available U.S. government data only. You are responsible for using the data in compliance with applicable laws and the source's terms.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests (more filters, extra states, enrichment) are welcome — this actor is actively maintained.