US Vet Clinic Scraper v2
Pricing
from $5.00 / 1,000 results
US Vet Clinic Scraper v2
Scrapes veterinary clinic data for any US state. Discovers clinics via DuckDuckGo search, crawls each website, extracts structured data. Zero API keys required.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Matt Curtis
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrapes veterinary clinic data for any US state. Two-phase pipeline: DuckDuckGo discovery → Playwright website crawl. Zero API keys required.
How It Works
Phase 1 — Discovery: Searches DuckDuckGo for each city in the selected state (3 queries per city: "veterinary clinic", "animal hospital", "veterinarian"). Deduplicates by domain and filters out directories, aggregators, and social media. Embedded city database covers 10,444 cities across all 50 US states + DC.
Phase 2 — Crawl: Visits each discovered clinic website with headless Chromium (Playwright). Extracts structured data using BeautifulSoup + regex patterns. Handles timeouts, retries, Cloudflare challenges, and dead sites gracefully.
Input
| Field | Type | Description | Default |
|---|---|---|---|
state | select | US state to scrape | Missouri |
maxCities | integer | Limit cities (0 = all) | 0 |
maxClinicsPerCity | integer | Max clinics per city (1–50) | 15 |
Tip: Use maxCities: 2-3 for testing before running a full state.
Output
Each run produces a dataset with one row per clinic:
| Field | Type | Description |
|---|---|---|
name | string | Clinic name |
phone | string | Phone number |
url | string | Website URL |
city | string | City |
state | string | State |
address | string | Street address (best-effort) |
founded | string | Founding year, if found |
sat_hours | string | Saturday hours, if found |
vets | integer | Number of vets detected |
vet_names | string | Vet names (comma-separated) |
aaha | boolean | AAHA accredited |
exotics | boolean | Treats exotic pets |
boarding | boolean | Offers boarding |
grooming | boolean | Offers grooming |
daycare | boolean | Offers daycare |
urgent_care | boolean | Emergency/urgent care |
online_pharmacy | boolean | Online pharmacy available |
Sample Output
{"name": "Western Sussex Animal Hospital","phone": "302-337-7387","url": "https://westernsussexvet.com/","city": "Bridgeville","state": "Delaware","address": "16487 Sussex Hwy, Bridgeville, DE 19933","founded": "","sat_hours": "","vets": 0,"vet_names": "","aaha": false,"exotics": false,"boarding": false,"grooming": false,"daycare": false,"urgent_care": false,"online_pharmacy": false}
Limitations
- Address extraction is best-effort. Many vet sites use images or embedded Google Maps that aren't reliably scrapable. Phone + URL are the most reliable fields.
- Coverage varies by area. Rural areas with few clinics and limited web presence will return fewer results than urban areas.
- DuckDuckGo search results may include out-of-state matches for cities with common names (e.g., "Camden" appears in multiple states).
- Not all websites respond. Expect ~60–80% success rate on website crawls depending on site quality. Dead sites, heavy JavaScript, and aggressive bot protection will fail gracefully.
Running
- Select a State from the dropdown
- Optionally set Max Cities to limit scope
- Click Start
Runs typically take 2–10 minutes for small tests and 30–90 minutes for full states (depending on city count).
Pricing
This Actor is free to run. You only pay for Apify platform usage (compute units based on runtime).
Source
Built with Crawlee + Playwright + BeautifulSoup. City database compiled from US Census data.
Support
For issues or feature requests, open an issue on GitHub.