Vitals.com Scraper πŸ₯ avatar

Vitals.com Scraper πŸ₯

Pricing

from $1.49 / 1,000 results

Go to Apify Store
Vitals.com Scraper πŸ₯

Vitals.com Scraper πŸ₯

Unlock valuable healthcare data! Instantly extract detailed doctor profiles, patient reviews, and facility info from Vitals.com. Perfect for medical market research, lead generation, and competitive analysis. Get accurate, structured data efficiently today.

Pricing

from $1.49 / 1,000 results

Rating

5.0

(4)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

2

Bookmarked

17

Total users

1

Monthly active users

19 days ago

Last modified

Share

What does Vitals.com Physician Scraper do?

Vitals.com Physician Scraper collects structured physician directory data from Vitals.com. Search by medical specialty and location, or provide a direct Vitals.com directory URL, then save provider names, specialties, locations, ratings, review counts, experience, profile links, and other public listing details to an Apify Dataset.

The Actor is useful for healthcare market research, provider directory projects, physician recruitment, insurance network analysis, and location-based medical data collection. It supports pagination, result limits, duplicate prevention, and optional Apify Proxy configuration for repeat or larger runs.

Why use Vitals.com Physician Scraper?

  • Build physician datasets - Collect consistent provider records for analytics, comparison tools, and internal directories.
  • Target specific markets - Narrow results by specialty, state, city, or another supported location format.
  • Track public provider signals - Compare ratings, review counts, specialties, experience, and new-patient availability across locations.
  • Reduce manual research - Replace repetitive directory searches with repeatable Apify runs and scheduled collection.
  • Connect results to workflows - Export the dataset to JSON, CSV, Excel, or XML, or send it to downstream tools through the Apify API, webhooks, and integrations.

What data can you extract from Vitals.com?

Each saved item represents one unique physician or provider listing. Optional fields are included when Vitals.com publishes them.

FieldTypeDescription
provideridStringUnique provider identifier from the directory.
intidStringInternal listing identifier when available.
npiStringNational Provider Identifier when available.
nameStringFull provider name.
firstnameStringProvider first name.
middlenameStringProvider middle name when available.
lastnameStringProvider last name.
suffixStringName suffix or credential label when available.
genderStringGender value published by the source when available.
specialtyStringPrimary medical specialty.
specialtiesStringAdditional specialty labels associated with the listing.
locationStringCombined city and state value when available.
cityStringPractice city.
stateStringPractice state or region abbreviation.
profileurlStringDirect Vitals.com provider profile URL.
ratingNumberAverage rating score when available.
schema_ratingNumberAdditional rating score published in the listing data.
review_countNumberNumber of patient reviews when available.
number_of_ratingsNumberNumber of ratings when available.
years_of_experienceNumberYears of professional experience when available.
total_awardsNumberNumber of awards associated with the provider.
accepts_new_patientsBoolean or StringNew-patient availability value from the source.
languagesStringLanguages spoken when listed.
photourlStringProvider photo URL when available.
degreeabbrStringDegree or qualification abbreviations.
bioStringPlain-text provider biography when available.
job_titleStringProfessional job title.
display_typeStringProvider display category from the listing.
distanceNumberDistance value when the source provides one.
typeStringProvider type.
profiletypeStringProfile category when available.
sourceStringRecord origin marker, normally listing.

How to scrape Vitals.com physician data

  1. Open Vitals.com Physician Scraper on Apify.
  2. Enter a specialty and optional location, or provide a direct Vitals.com directory URL.
  3. Set the maximum number of results and pages to process.
  4. Add Apify Proxy settings when collecting larger datasets or running recurring jobs.
  5. Run the Actor and review the records in the Dataset.
  6. Download the data or connect the Dataset to your application or automation workflow.

The Actor stops when it reaches results_wanted, exhausts the configured page limit, or has no more matching directory records. Records with the same provider identifier are saved only once during a run.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNo-Direct Vitals.com directory URL. When provided, it takes precedence over the generated specialty and location URL.
specialtyStringNoCardiovascular DiseaseMedical specialty or field, such as Cardiology, Dermatology, or Psychiatry.
locationStringNo""City, state, or region used to narrow the directory search, such as New York, California, or New York, NY.
insuranceStringNo-Reserved input shown in the Actor schema for insurance-related workflows. The current collection URL is built from specialty and location; apply insurance filtering to the returned dataset when needed.
results_wantedIntegerNo20Target number of unique physician records to save. Minimum value is 1.
max_pagesIntegerNo5Maximum number of directory pages to process. Minimum value is 1.
proxyConfigurationObjectNo{"useApifyProxy": true}Apify Proxy settings for more reliable collection, especially for larger or recurring runs.

Usage Examples

Collect physician records for a specialty using the default result and page limits.

{
"specialty": "Cardiology",
"results_wanted": 20
}

Collect dermatology providers in Florida and process up to three directory pages.

{
"specialty": "Dermatology",
"location": "Florida",
"results_wanted": 50,
"max_pages": 3
}

Direct URL with proxy configuration

Start from a specific public Vitals.com directory URL and use an Apify residential proxy group for a larger run.

{
"startUrl": "https://www.vitals.com/cardiovascular-disease/ny",
"results_wanted": 100,
"max_pages": 5,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Sample Output

The Dataset contains one JSON object per unique physician listing. Optional fields are omitted when the source does not provide them.

{
"providerid": "1AB150C9-9D65-4B93-BDCE-3536D6523B01",
"intid": "123456",
"npi": "1336372010",
"name": "Mershed Kareem Alsamara",
"firstname": "Mershed",
"lastname": "Alsamara",
"specialty": "Cardiovascular Disease",
"specialties": "Cardiovascular Disease, Cardiologist",
"location": "Richland, WA",
"city": "Richland",
"state": "WA",
"profileurl": "https://www.vitals.com/doctors/mershed-kareem-alsamara",
"rating": 5,
"schema_rating": 4.97,
"review_count": 706,
"number_of_ratings": 706,
"years_of_experience": 24,
"total_awards": 2,
"accepts_new_patients": true,
"languages": "Arabic; English",
"degreeabbr": "MD",
"job_title": "Cardiologist",
"type": "Physician",
"source": "listing"
}

Tips for best results

  • Use a specific specialty such as Cardiology, Neurology, or Pediatrics for a more focused dataset.
  • Add a state or city to reduce irrelevant records and make the results easier to analyze.
  • Start with a smaller results_wanted value to confirm the output before running a broader collection.
  • Use startUrl when you already have a Vitals.com directory page with the exact scope you need.
  • Increase max_pages together with results_wanted when the target directory contains more matching providers.
  • Use Apify Proxy for larger runs or schedules, and inspect the Dataset preview for optional-field coverage.
  • Treat missing values as normal source variation. Not every provider publishes the same public information.

Integrations and export formats

  • JSON - Use the Dataset through the Apify API or application workflows.
  • CSV and Excel - Analyze physician coverage, ratings, and locations in spreadsheet tools.
  • XML - Support systems that require XML-based data exchange.
  • Google Sheets and Airtable - Build searchable provider research tables.
  • Make and Zapier - Trigger notifications, enrichment, or CRM actions after a run.
  • Webhooks - Notify a downstream service when a run finishes.
  • Scheduling - Refresh public directory data on a recurring schedule in Apify Console.

Frequently Asked Questions

Can I search Vitals.com by specialty and location?

Yes. Provide specialty, location, or both. The Actor creates a directory search from those values and paginates until it reaches the requested result or page limit.

Can I provide my own Vitals.com URL?

Yes. Use startUrl with a public Vitals.com directory URL. It takes precedence over the specialty and location inputs.

Does the Actor collect full physician profile pages?

No. The current output is based on public physician directory listing data. It does not provide a separate full-profile enrichment option, so credentials or other fields appear only when they are present in the collected listing data.

How many records can one run return?

The run targets the number set in results_wanted and cannot exceed the records available within the configured page limit. For larger datasets, use separate specialty or location runs and combine the exported datasets.

Are duplicate physicians removed?

Yes. The Actor uses the provider identifier to avoid saving the same physician more than once during a run.

Why is a field missing from a record?

Vitals.com does not publish every field for every provider. The Actor keeps available values and omits empty values, so missing optional data usually reflects the source listing.

Can I collect insurance-filtered results?

The insurance field is present in the input schema, but the current URL generation uses specialty and location. For reliable insurance filtering, export the Dataset and filter the resulting records in your workflow.

Public data collection may be subject to website terms, privacy rules, and other laws. You are responsible for confirming that your use complies with Vitals.com policies and applicable regulations, especially when handling healthcare-related information.

For other physician and healthcare directory workflows from Shahid Irfan, see:

  • WebMD Doctor Scraper - Collect doctor directory records, specialties, ratings, and locations from WebMD.
  • Practo Doctors Scraper - Collect doctor and clinic data from Practo, including specialties, fees, ratings, and practice details.
  • Oladoc Doctors Scraper - Collect doctor profiles, hospitals, consultation fees, availability, and services from Oladoc.
  • RateMDs Physician Scraper - Collect physician specialties, ratings, review counts, locations, and public profile details from RateMDs.

Support

For issues, feature requests, or public-source changes, use the Issues tab on the Actor page or contact the developer through Apify.

This Actor is intended for legitimate collection and analysis of publicly available physician directory information. Users are responsible for complying with Vitals.com terms, applicable privacy and healthcare data rules, and all other laws that apply to their use case.