Restaurant Booking Gap Lead Finder
Pricing
Pay per event
Restaurant Booking Gap Lead Finder
Analyze submitted restaurant websites for booking-channel gaps with exact BYOD crawling and no discovery.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Tim Zinin
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Analyze buyer-submitted restaurant websites for observable booking-channel gaps and return evidence-backed rows only when the submitted restaurant identity or a structured business identity is actually observed. The actor stays on each submitted host, reads public pages, and never invents missing booking evidence.
What you get
- One ranked row per qualifying submitted restaurant website.
- Observed booking, booking CTA, reservation schema, chat, contact form, and phone signals.
- Booking providers, public phone values, DOM/text excerpts, and structured identity evidence.
- Robots-first crawling, same-host redirect checks, DNS SSRF protection, body limits, retries, and deadlines.
- Request replay, conflict, freshness cache, compact OUTPUT, and bounded result delivery.
- Runs on Apify: schedule it, monitor it, call it from the API, and export JSON, CSV, or Excel.
How to run it
- Click Try for free and open the Input tab.
- Submit restaurant records with recordId, name, and an absolute HTTP or HTTPS websiteUrl; address is optional.
- Click Start, then read useful rows from the Dataset and the run envelope from the OUTPUT key-value record.
Pricing
Pay-per-event: $0.005 per run start + $0.05 per useful result. No monthly seat. Invalid inputs, source failures, generic pages without identity, budget stops, and undelivered rows are not useful-result charges. Ten useful rows cost $0.50 in result events, plus the start event.
Input
{"schemaVersion":"1.0","requestId":"restaurant-demo-001","maxResults":10,"freshnessMinutes":60,"detailLevel":"evidence","minGapScore":45,"restaurants":[{"recordId":"restaurant-001","name":"Dishoom","websiteUrl":"https://www.dishoom.com/","address":null}]}
Output
{"schemaVersion":"1.0","requestId":"restaurant-demo-001","status":"ok","results":[{"dedupeKey":"stable-key","rank":1,"score":65}],"errors":[],"metadata":{"resultCount":1,"datasetWriteCount":1,"billedResultCount":1}}
Useful Dataset rows include restaurantName, websiteUrl, bookingProviders, signals, gapScore, evidenceCoverage, evidence, componentEvidence, and sourceMetrics.
Related tools
Related tools for adjacent workflows in operational gap-lead generation.
| Actor | What it does |
|---|---|
| Clinic Reception Gap Lead Finder | Pair it in the operational gap-lead generation workflow: Analyze submitted clinic websites for reception-channel gaps with exact BYOD crawling and no discovery |
| EU Accessibility Privacy Lead Scanner | Pair it in the operational gap-lead generation workflow: BYOD compliance scanner for observed accessibility and privacy exposure signals on a submitted URL.... |
| EU AI Act Transparency Lead Scanner | Pair it in the operational gap-lead generation workflow: BYOD compliance scanner for observed AI transparency signals on a submitted URL. Deterministic,... |
| New Opening Permit Lead Radar | Pair it in the operational gap-lead generation workflow: Detect commercial permit and license openings from five fixed Socrata datasets and return evidence-backed... |
FAQ / Limitations
Does it discover restaurants? No. You provide the websites; it does not search maps, directories, reviews, or private systems.
Why did a page return no useful row? The page must be substantive and show either the submitted identity or a structured public business identity. Generic category text is not billable evidence.
Can it place reservations? No. It only reads public HTML, links, and structured data. It never logs in, submits forms, or books.
What is this not? It is not a reservation guarantee, a review service, or proof that a restaurant cannot accept bookings.
How is duplicate work controlled? Cloud runs use the named RequestQueue unique key; local storage tests verify persistence, while local RequestQueue concurrency remains a platform-specific residual.
Need help? Review OUTPUT.errors, confirm the website is public, and include the request ID when reporting a problem on the Actor page.