OrbTop

EatRight RDN Directory Scraper - Dietitian Finder

LEAD GENERATIONEDUCATION

EatRight RDN Directory Scraper

Scrape registered dietitian nutritionist (RDN) profiles from the Academy of Nutrition and Dietetics' Find a Nutrition Expert directory. Pulls roughly 100,000 credentialed US nutrition professionals — contact details, specialties, accepted insurance, languages, and telehealth availability.


EatRight RDN Scraper Features

  • Extracts 18 fields per RDN including credentials, practice name, address, phone, and email
  • Returns specialties and accepted insurance as pipe-separated strings from the detail page
  • Flags telehealth and in-person availability as proper booleans
  • Filter by US state — pass full state names or leave empty for the whole country
  • Walks ~974 US cities for in-person records and 61 state-level queries for telehealth-only records, then deduplicates by RDN ID
  • No proxy required — the eatright.org API serves traffic publicly

Who Uses RDN Directory Data?

  • Healthcare lead-gen platforms — Source verified, credentialed nutrition professionals for marketing tools or referral apps
  • Pharma and supplement marketing — Build outreach lists segmented by specialty (Diabetes, Sports Nutrition, Eating Disorders)
  • Insurance carriers — Verify network adequacy by matching listed RDNs against in-network provider rosters
  • Telehealth platforms — Recruit RDNs who already offer remote visits, filtered by language and accepted plans
  • Academic researchers — Study geographic distribution and specialty composition of the US RDN workforce

How the EatRight RDN Scraper Works

  1. Configure scope — Pick states (or leave empty for all 50), set maxItems, and run.
  2. Listing iteration — Hits the /api/find-a-nutrition-expert JSON endpoint across cities and states. Each page returns up to ~50 RDNs with the listing-level fields already populated.
  3. Profile enrichment — For each unique RDN, fetches the detail page to pick up specialties and other fields the listing API doesn't expose.
  4. Deduplication and export — Deduplicates by RDN ID and writes one record per RDN to your Apify dataset.

Input

Scrape a single state

{
  "states": ["California"],
  "maxItems": 500
}

Multiple states

{
  "states": ["California", "New York", "Texas"],
  "maxItems": 2000
}

Nationwide

{
  "states": [],
  "maxItems": 0
}
Field Type Default Description
states array [] Full US state names (e.g. California, New York). Empty = all 50 states + DC.
maxItems integer 10 Cap on records. 0 = scrape every available RDN.

EatRight RDN Scraper Output Fields

{
  "id": "847291",
  "name": "Jane Smith, MS RDN LDN",
  "credentials": "MS RDN LDN",
  "practice_name": "Smith Nutrition Counseling",
  "phone": "(415) 555-0142",
  "email": "jane@smithnutrition.com",
  "website": "https://smithnutrition.com",
  "address": "2200 Larkin St",
  "city": "San Francisco",
  "state": "CA",
  "zip": "94109",
  "telehealth": true,
  "in_person": true,
  "specialties": "Diabetes|Eating Disorders|Sports Nutrition",
  "insurance_accepted": "Aetna|Blue Cross Blue Shield|United Healthcare",
  "languages": "English|Spanish",
  "profile_url": "https://www.eatright.org/find-a-nutrition-expert/profile/847291",
  "scraped_at": "2026-05-11T04:18:33.011Z"
}
Field Type Description
id string Unique RDN identifier from the directory
name string Full name including credentials (e.g. Jane Smith, MS RDN LDN)
credentials string Credentials parsed out of the name (e.g. MS RDN LDN)
practice_name string Practice or employer name
phone string Phone number formatted as (XXX) XXX-XXXX
email string Contact email when listed
website string Practice or personal website URL
address string Street address
city string City
state string Two-letter state code
zip string ZIP code
telehealth boolean RDN offers telehealth appointments
in_person boolean RDN offers in-person appointments
specialties string Specialties, pipe-separated
insurance_accepted string Accepted insurance or payment options, pipe-separated
languages string Languages spoken, pipe-separated
profile_url string Full URL to the RDN's profile page
scraped_at string ISO timestamp when the record was scraped

FAQ

How do I scrape registered dietitians from EatRight?

EatRight RDN Directory Scraper handles it. Set states (or leave it empty for nationwide), pick maxItems, and run. The scraper walks the Academy's JSON listing API by city and state, then enriches each unique RDN with detail-page fields.

How much does this actor cost to run?

EatRight RDN Directory Scraper uses pay-per-event pricing on the default_2603_basic profile at a 1.0x coefficient. No proxy fees. A 1,000-record run typically costs cents in platform fees.

Can I filter by state or specialty?

EatRight RDN Directory Scraper accepts a states array using full state names. Specialty filtering happens downstream — every record already carries a specialties field with pipe-separated values, so a single SQL filter on LIKE '%Diabetes%' gets you what you need.

Does the data include telehealth-only RDNs?

EatRight RDN Directory Scraper queries both the city-keyed in-person index and the state-keyed telehealth index, then deduplicates. The telehealth and in_person booleans tell you which channels each RDN supports.

Does this actor need proxies?

EatRight RDN Directory Scraper runs proxy-free. The eatright.org API accepts public traffic, and the actor paces requests politely to stay under the radar. Proxies can be added if a specific run needs them, but the default is no.


Need More Features?

Need NPI lookup enrichment, specialty filtering at the API level, or scheduled re-runs to track new RDN registrations? Open an issue or get in touch.

Why Use EatRight RDN Directory Scraper?

  • Real coverage — Iterates across ~974 US cities and 61 state-level queries, then deduplicates by RDN ID. That's how you get the ~100k figure without paying for a static export.
  • Listing plus detail — Specialties and other detail-only fields are filled in per RDN. Most directory scrapers stop at the listing card.
  • Clean booleanstelehealth and in_person are actual booleans, so downstream filtering doesn't require string parsing.