Wedding Vendor Scraper - Bridebook, The Knot, WeddingWire, Zola avatar
Wedding Vendor Scraper - Bridebook, The Knot, WeddingWire, Zola

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Wedding Vendor Scraper - Bridebook, The Knot, WeddingWire, Zola

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

hannah mira

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

2

Monthly active users

13 days ago

Last modified

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

WebsiteStatusCoverageSuccess Rate
The Knot (theknot.com)✅ Fully WorkingUS - All vendor types~90%
WeddingWire (weddingwire.com)✅ Fully WorkingUS - All vendor types~90%
Zola (zola.com)✅ Fully WorkingUS - All vendor types~90%
Bridebook (bridebook.com)✅ WorkingInternational - 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

ParameterTypeRequiredDefaultDescription
modestringYes-Scraping mode: "search" or "urls"
sourcesarrayNo["all"]Which sites to scrape: "theknot", "weddingwire", "bridebook", "zola", or "all"
locationstringYes (search mode)-City and state, e.g., "New York, NY" or "London, UK"
regionstringNo"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.
categoriesarrayNo["all"]Vendor categories to search for
vendorUrlsarrayYes (urls mode)[]List of vendor profile URLs
maxResultsPerCategoryintegerNo50Max vendors per category per source (1-500)
includeReviewsbooleanNofalseWhether to scrape review text
maxReviewsPerVendorintegerNo10Max reviews per vendor if includeReviews=true (1-100)
priceRangeFilterarrayNo[]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 name
  • source - Platform scraped from
  • profileUrl - Original profile URL
  • scrapedAt - Timestamp

Common Fields

  • category - Normalized vendor type
  • location - Address and city/state
  • phone - Contact phone number
  • email - Contact email
  • website - Vendor's website
  • rating - Average rating (0-5 scale)
  • reviewCount - Number of reviews

Optional Fields

  • priceRange - Price tier ($, $$, $$$, $$$$)
  • startingPrice - Starting price (if available)
  • packages - Pricing packages
  • services - List of services offered
  • description - About the vendor
  • reviews - Individual review details (if enabled)
  • images - Photo gallery URLs
  • videos - Video URLs

Examples

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-scraper
npm install
npm 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: true for more detail
  • Check if the site structure has changed

Scraper timeout

  • Increase the actor timeout in Apify settings
  • Reduce maxResultsPerCategory
  • Disable includeReviews for 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