Wedding Vendor Scraper - Bridebook, The Knot, WeddingWire, Zola
Pricing
from $5.00 / 1,000 results
Wedding Vendor Scraper - Bridebook, The Knot, WeddingWire, Zola
Extract wedding vendor data from The Knot, WeddingWire, Bridebook, and Zola. Search by location and category to get contact info, pricing, reviews, photos, and more. Supports US, UK, and 10+ international markets. Perfect for event planners and wedding research.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer

hannah mira
Actor stats
0
Bookmarked
6
Total users
2
Monthly active users
13 days ago
Last modified
Categories
Share
Wedding Vendor Scraper - Multi-Source
Extract comprehensive wedding vendor data from The Knot, WeddingWire, Bridebook, and Zola. Search by location, filter by category and price range, and get contact info, reviews, pricing, and photos for thousands of vendors across the US, UK, and international markets.
Features
- Multi-Source Scraping: Extract data from 4 major wedding vendor platforms
- International Support: Scrape vendors from US, UK, and 10+ countries
- Dual Mode Operation: Search by location or scrape specific vendor URLs
- Comprehensive Data: Contact info, pricing, reviews, services, images, and more
- Normalized Output: Consistent data format across all sources
- Flexible Filtering: Filter by vendor categories and price ranges
- Review Scraping: Optional extraction of detailed vendor reviews
- Error Resilient: Partial failures don't stop the entire scrape
- Anti-Bot Protection: Built-in stealth measures to bypass bot detection
Supported Websites
| Website | Status | Coverage | Success Rate |
|---|---|---|---|
| The Knot (theknot.com) | ✅ Fully Working | US - All vendor types | ~90% |
| WeddingWire (weddingwire.com) | ✅ Fully Working | US - All vendor types | ~90% |
| Zola (zola.com) | ✅ Fully Working | US - All vendor types | ~90% |
| Bridebook (bridebook.com) | ✅ Working | International - Venues (all regions) UK only - All vendor types | 70-80% |
Source-Specific Notes
The Knot: Best overall coverage for US locations. Reliable and consistent data extraction across all vendor categories.
WeddingWire: Excellent US coverage with detailed vendor information. Supports all vendor categories with high success rates.
Zola: Full US coverage with anti-bot detection measures built-in. Successfully scrapes all vendor types.
Bridebook: International support with regional variations:
- UK Region: Complete coverage with all vendor types (photographers, florists, DJs, venues, etc.)
- US & Other Regions: Venues only (photographers, florists, etc. not available)
- Supports 12+ regions including USA, UK, Italy, France, Germany, Spain, Australia, Canada, Ireland, South Africa, Austria, and Switzerland
- Due to aggressive bot protection, expect 70-80% success rate (some profiles may return 403 errors)
Vendor Categories
- Venues
- Photographers
- Videographers
- Caterers
- Florists
- DJs
- Bands
- Wedding Planners
- Bakeries / Cakes
- Hair & Makeup
- Invitations / Stationery
- Rentals
- Officiants / Celebrants
- Transportation
- Jewelers
Usage
Search by Location Mode
Search for vendors in a specific location:
{"mode": "search","sources": ["all"],"location": "Austin, TX","categories": ["photographers", "venues", "florists"],"maxResultsPerCategory": 50,"includeReviews": false}
Direct URLs Mode
Scrape specific vendor profiles:
{"mode": "urls","vendorUrls": ["https://www.theknot.com/marketplace/...","https://www.weddingwire.com/...","https://www.bridebook.com/wedding-suppliers/..."],"includeReviews": true,"maxReviewsPerVendor": 10}
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
mode | string | Yes | - | Scraping mode: "search" or "urls" |
sources | array | No | ["all"] | Which sites to scrape: "theknot", "weddingwire", "bridebook", "zola", or "all" |
location | string | Yes (search mode) | - | City and state, e.g., "New York, NY" or "London, UK" |
region | string | No | "us-en" | Bridebook region code. Options: "us-en" (USA), "uk" (UK), "it-en" (Italy), "fr" (France), "de" (Germany), "es-en" (Spain), "au-en" (Australia), "ca-en" (Canada), etc. |
categories | array | No | ["all"] | Vendor categories to search for |
vendorUrls | array | Yes (urls mode) | [] | List of vendor profile URLs |
maxResultsPerCategory | integer | No | 50 | Max vendors per category per source (1-500) |
includeReviews | boolean | No | false | Whether to scrape review text |
maxReviewsPerVendor | integer | No | 10 | Max reviews per vendor if includeReviews=true (1-100) |
priceRangeFilter | array | No | [] | Filter by price tier: "$", "$$", "$$$", "$$$$" |
Output Format
Each vendor is normalized to this format:
{"name": "Vendor Name","businessName": "Business Name","category": "photographers","subCategories": ["wedding photography", "engagement photos"],"location": {"address": "123 Main St","city": "Austin","state": "TX","zipCode": "78701","country": "USA","coordinates": null},"phone": "(512) 555-1234","email": "contact@vendor.com","website": "https://vendor.com","services": ["Full day coverage", "Engagement shoot", "Album"],"description": "Professional wedding photographer...","priceRange": "$$$","startingPrice": 3500,"packages": [{"name": "Premium Package","price": 5000,"description": "Full day coverage with album","features": ["10 hours", "2 photographers", "Album"]}],"rating": 4.9,"reviewCount": 127,"reviews": [{"author": "Jane D.","rating": 5,"date": "2024-06-15","text": "Amazing photographer! Highly recommend.","helpful": 12}],"images": ["https://..."],"videos": ["https://..."],"profileUrl": "https://www.theknot.com/marketplace/...","source": "theknot","scrapedAt": "2024-12-16T10:30:00.000Z"}
Data Fields
Required Fields
name- Vendor namesource- Platform scraped fromprofileUrl- Original profile URLscrapedAt- Timestamp
Common Fields
category- Normalized vendor typelocation- Address and city/statephone- Contact phone numberemail- Contact emailwebsite- Vendor's websiterating- Average rating (0-5 scale)reviewCount- Number of reviews
Optional Fields
priceRange- Price tier ($, $$, $$$, $$$$)startingPrice- Starting price (if available)packages- Pricing packagesservices- List of services offereddescription- About the vendorreviews- Individual review details (if enabled)images- Photo gallery URLsvideos- Video URLs
Examples
Example 1: Search for photographers (recommended sources)
For US locations, use The Knot and WeddingWire for best results:
{"mode": "search","sources": ["theknot", "weddingwire"],"location": "New York, NY","categories": ["photographers"],"maxResultsPerCategory": 100,"priceRangeFilter": ["$$$", "$$$$"]}
Example 2: Deep vendor research with reviews
{"mode": "search","sources": ["all"],"location": "Austin, TX","categories": ["venues"],"maxResultsPerCategory": 30,"includeReviews": true,"maxReviewsPerVendor": 20}
Example 3: UK wedding vendors (all types available)
{"mode": "search","sources": ["bridebook"],"location": "London","region": "uk","categories": ["photographers", "florists", "djs"],"maxResultsPerCategory": 50}
Example 4: International venues (Italy)
{"mode": "search","sources": ["bridebook"],"location": "Rome","region": "it-en","categories": ["venues"],"maxResultsPerCategory": 30}
Example 5: Scrape specific vendor list
{"mode": "urls","vendorUrls": ["https://www.theknot.com/marketplace/photographer-name-austin-tx-123456","https://www.weddingwire.com/vendor/photographer-name.html"],"includeReviews": true}
Performance & Limits
- Search Mode: Can scrape hundreds of vendors per run
- URLs Mode: No practical limit, but respect rate limits
- Concurrency: Default 3 concurrent requests
- Timeouts: 120 seconds per page, 60 seconds navigation
- Memory: Recommend 4096 MB for large scrapes
- Proxy: Automatically uses Apify proxy rotation
Notes & Limitations
Scraping Considerations
- Wedding sites use JavaScript rendering - Playwright is required
- Sites may have bot detection - proxy rotation is enabled
- Selectors may change over time - test before production use
- Some data fields may not be available on all vendors
Data Availability
- Email addresses are often not publicly visible
- Pricing is frequently hidden until contact
- Review text may be truncated or require expansion
- Images may be watermarked or low resolution
Ethical Use
- Respect robots.txt and terms of service
- Add delays between requests (built-in)
- Don't overload servers with excessive requests
- Use data responsibly and legally
Development
Local Testing
cd wedding-vendor-scrapernpm installnpm start
Project Structure
wedding-vendor-scraper/├── .actor/│ ├── actor.json # Actor configuration│ ├── input_schema.json # Input validation schema│ └── Dockerfile # Container setup├── src/│ ├── main.js # Main orchestration│ ├── config.js # Site configurations│ ├── scrapers/│ │ ├── theknot.js # The Knot scraper│ │ ├── weddingwire.js # WeddingWire scraper│ │ ├── bridebook.js # Bridebook scraper│ │ └── zola.js # Zola scraper│ └── utils/│ ├── normalizer.js # Data normalization│ └── helpers.js # Common utilities└── package.json
Troubleshooting
No vendors found
- Check that the location format is correct (e.g., "Austin, TX")
- Verify the category names match the supported list
- Try increasing
maxResultsPerCategory
Missing data fields
- Not all vendors provide all information
- Try setting
includeReviews: truefor more detail - Check if the site structure has changed
Scraper timeout
- Increase the actor timeout in Apify settings
- Reduce
maxResultsPerCategory - Disable
includeReviewsfor faster scraping
Rate limiting / blocked requests
- The scraper uses Apify proxy automatically
- Built-in delays prevent most rate limiting
- If issues persist, reduce concurrency
Support
For issues, questions, or feature requests, please open an issue on the repository.
License
ISC