Local Business Software Detector: POS, Booking & Ordering
Pricing
from $8.50 / 1,000 business profileds
Local Business Software Detector: POS, Booking & Ordering
Names the software each local business runs from its website or a Google Maps dataset: Toast, Square, ChowNow, OpenTable, Vagaro, Mindbody, NexHealth, ServiceTitan, Jobber, CallRail, Podium and 450 more, plus its vertical, software gaps to pitch and contacts.
Pricing
from $8.50 / 1,000 business profileds
Rating
0.0
(0)
Developer
Centor Prat
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
11 hours ago
Last modified
Categories
Share
Find out which software a restaurant, salon, gym, dental office, clinic, contractor, law firm, dealer or church runs, straight from its website. Give it websites, or the dataset of any Google Maps scraper run. For each business you get the vendor behind every system: POS, online ordering vs delivery apps, reservations, booking, patient scheduling, field-service software, financing, reviews, chat / AI receptionist, call tracking, CRM and website platform. You also get the business's vertical, the software gaps worth pitching, and public emails, phones and socials.
Built for sales teams selling into local businesses (POS, booking, practice, field-service and marketing software) and the agencies that serve them. "Uses a competitor" and "has a gap" are the two best filters for outbound, and this gives you both for any Maps search.
⚡ What it detects (450+ vendors, 26 categories)
| Category | Examples |
|---|---|
| Online ordering (first-party) | Toast, Square Online, ChowNow, Olo, BentoBox, Popmenu, Owner.com, DoorDash Storefront, Menufy, Slice, HungerRush, white-label ordering on the brand's own subdomain |
| Delivery marketplaces | DoorDash, Uber Eats, Grubhub, Postmates, Caviar, Favor, Deliveroo, Just Eat, Glovo, Wolt |
| Reservations | OpenTable, Resy, Tock, SevenRooms, Yelp Reservations, Toast Tables, TheFork, CoverManager |
| POS (inferred from links) | Toast, Square, Clover, SpotOn, Lightspeed, HungerRush, TouchBistro, Revel, Shift4/SkyTab |
| Booking (beauty, fitness, wellness) | Vagaro, Boulevard, Mindbody, Booker, Fresha, Booksy, GlossGenius, Square Appointments, Mangomint, Zenoti, Phorest, Meevo, Acuity, Calendly, Glofox, Mariana Tek, Momence, WellnessLiving, Jane App, SimplePractice, GoCheckin |
| Patient scheduling & engagement | NexHealth, LocalMed, Zocdoc, Flex Dental, Modento, RevenueWell, Weave, Lighthouse 360, Solutionreach, Adit, Dental Intelligence, Tebra/PatientPop, Vetstoria, PetDesk |
| Field service / shop software | ServiceTitan, Housecall Pro, Jobber, Workiz, ServiceM8, FieldEdge, JobNimbus, AccuLynx, Tekmetric, Shopmonkey, AutoOps |
| Financing & payments | CareCredit, Cherry, Sunbit, Scratchpay, Synchrony, GreenSky, Wisetack, Hearth, Affirm; Stripe, PayPal, Square, LawPay |
| Reviews & reputation | Podium, Birdeye, NiceJob, Broadly, GatherUp, Trustindex, Elfsight, EmbedSocial, BBB seal |
| Chat, texting, AI receptionists | Podium webchat, TrueLark, Smith.ai, tawk.to, Tidio, Ngage, ApexChat, LeadConnector, Gubagoo, WhatsApp |
| Call tracking | CallRail, CallTrackingMetrics, Liine, PatientPrism, Invoca, WhatConverts |
| Marketing & CRM | HubSpot, Mailchimp, Constant Contact, GoHighLevel, Keap, ActiveCampaign, Klaviyo, Yext, Vendasta, Thryv |
| Vertical systems | Clio, Lawmatics (legal) · kvCORE, BoomTown, Sierra, IDX Broker (real estate) · Dealer.com, DealerOn, Dealer Inspire (dealers) · Planning Center, Pushpay, Tithe.ly, Subsplash (churches) · FareHarbor, Peek, Rezdy (tours) · Cloudbeds, SiteMinder (lodging) |
| Website platform | WordPress, Wix, Squarespace, Square Online, GoDaddy, Duda, Webflow, Shopify, BentoBox, SpotHopper, Popmenu, Scorpion, ProSites, Doctor Multimedia... |
| Analytics, ads, accessibility | GA4, Tag Manager, Meta pixel, Google Ads, TikTok, Microsoft Ads, Clarity, Hotjar; UserWay, accessiBe, AudioEye |
How: it reads the homepage and up to three key pages (order, menu, book, reserve, appointment, contact, estimate) and collects every URL the site loads or links to. Local businesses' "Order online", "Book now" and "Reserve" buttons link straight to their vendor, so the vendor is named with the exact link as evidence. With a Google Maps dataset, the listing's own order, reserve and booking links count as evidence too.
🎯 Gaps it flags, by vertical
| Vertical | Gaps |
|---|---|
| Restaurants | Orders only through delivery apps (15-30% commission) with no direct ordering · no online ordering · no reservations · no gift cards |
| Salons, spas, gyms | No booking software (phone/DM bookings) · generic scheduler instead of industry software · no gift cards |
| Dental, medical, vet | No real-time online scheduling · no patient financing · no review generation · no call tracking |
| Home services, auto repair | No online booking / field-service software · no customer financing · no web chat · no call tracking · no review generation |
| Legal | No live chat or online intake · no call tracking |
| Real estate, churches, tours, lodging | No IDX search · no online giving · no online booking · no direct-booking engine |
| All | No analytics / ad pixels · DIY website builder |
Each gap has a 0-100 score and a plain-English reason; the top three become pitch.
📥 Input
| Field | What it does |
|---|---|
urls | Business websites or domains, e.g. ["franklinbbq.com", "southaustinbarbershop.com"] |
datasetId | A Google Maps scraper dataset (or any dataset with a website / url / domain column). Maps name, category, address, phone, rating and reviews are passed through. |
verticals | Keep only some business types (restaurant, beauty, fitness, dental, medical, veterinary, homeServices, autoRepair, autoDealer, legal, realEstate, church, lodging, activities, retail, professional) |
requireVendors | Keep only businesses using any of these, e.g. ["Toast"] |
excludeVendors | Drop businesses using any of these, e.g. your own product |
missingCategories | Keep only businesses with a gap in these categories, e.g. ["booking"] or ["onlineOrdering"] |
includeUnreadable | Also return (unbilled) rows for websites that couldn't be read |
concurrency, maxItems, webhookUrl | Speed, dataset cap, webhook |
Example: restaurants in a Maps search that order only through delivery apps
{ "datasetId": "<your Google Maps scraper dataset>", "verticals": ["restaurant"], "missingCategories": ["onlineOrdering"] }
Example: salons on a competitor's booking software
{ "datasetId": "<your Google Maps scraper dataset>", "verticals": ["beauty"], "requireVendors": ["Vagaro", "Booksy"] }
📤 Output (one row per business, shortened)
{"businessName": "Güero's Taco Bar","website": "https://gueros.com","vertical": "restaurant","vendors": [{"name": "ChowNow", "category": "onlineOrdering", "confidence": "high","evidence": ["https://ordering.chownow.com/order/20310/locations/29264"]},{"name": "OpenTable", "category": "reservations", "confidence": "high","evidence": ["https://www.opentable.com/r/gueros-taco-bar-reservations-austin?restref=1347361"]}],"software": {"websitePlatform": ["WordPress"],"onlineOrdering": ["ChowNow"],"reservations": ["OpenTable"],"pos": ["Toast (POS)"],"giftCardsLoyalty": ["Toast gift cards"]},"websitePlatform": "WordPress","posInferred": ["Toast (POS)"],"ordering": {"firstParty": ["ChowNow"], "marketplaces": []},"keySystems": ["ChowNow", "OpenTable"],"gaps": [{"category": "analyticsAds", "score": 50,"why": "No analytics or ad tracking (Google Analytics, Tag Manager, Meta pixel) on the site"}],"pitch": ["No analytics or ad tracking (Google Analytics, Tag Manager, Meta pixel) on the site"],"emails": ["info@gueros.com", "catering@guerostacobar.com"],"phones": ["5124477688"],"socials": {"instagram": "https://www.instagram.com/guerostacobar", "facebook": "https://www.facebook.com/gueros"},"pagesScanned": 3,"auditComplete": true}
With a Google Maps dataset, each row also carries mapsCategory and maps (title, address, phone, rating,
reviews count, placeId, Maps URL).
💰 Pricing (pay-per-event)
- Business profiled: $0.01 per website read and analysed ($10 per 1,000).
- Free: dataset rows without a website, websites that can't be read, and Maps rows skipped by
verticals. - Vendor and gap filters run after the analysis, so every analysed website is billed.
💡 Use cases
- POS and ordering vendors: restaurants on Toast, Square or Clover, and restaurants paying marketplace commission with no direct ordering.
- Booking software vendors: salons, spas and studios with no booking software, or on a competitor's.
- Dental and medical SaaS: practices without online scheduling, financing or review tools.
- Home-services software and financing: contractors with no field-service software, financing or chat.
- Local marketing agencies: businesses with no analytics or ads tracking, a DIY website, or no review generation.
- Enrich a Maps search: add a full software stack and contacts to every place in one pass.
🚀 Ready-made tasks
- Restaurant POS & Online Ordering Detector
- Salon & Spa Booking Software Detector
- Dental Practice Software Detector
- Home Services Software Detector (ServiceTitan, Jobber, Housecall Pro)
🔌 API, Standby and agents
Instant lookup (Standby):
curl "https://centorprat--local-business-software-detector.apify.actor/?url=franklinbbq.com&token=<YOUR_APIFY_TOKEN>"curl "https://centorprat--local-business-software-detector.apify.actor/?urls=gueros.com,grandoaksdentistry.com&token=<YOUR_APIFY_TOKEN>"
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("centorprat/local-business-software-detector").call(run_input={"urls": ["franklinbbq.com"]})for b in client.dataset(run["defaultDatasetId"]).iterate_items():print(b["businessName"], b["vertical"], b["keySystems"], b["pitch"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('centorprat/local-business-software-detector').call({ urls: ['franklinbbq.com'] });const { items } = await client.dataset(run.defaultDatasetId).listItems();
MCP
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=actors,docs,centorprat/local-business-software-detector"}}}
Claude Code: claude mcp add --transport http apify "https://mcp.apify.com/?tools=actors,docs,centorprat/local-business-software-detector" --header "Authorization: Bearer <YOUR_APIFY_TOKEN>"
❓ FAQ
How is the POS known? It's inferred, and labelled so (confidence: "inferred"). A restaurant whose ordering
or gift-card links go to Toast is almost always on Toast POS, and the same goes for Square and Clover. When no
ordering or payment link exposes it, the POS isn't reported.
Does it scrape Google Maps? No. Run any Google Maps scraper first and pass its dataset. This Actor reads the businesses' own websites (and the links in the Maps rows).
What about white-label systems? "Order online" or "Book now" buttons that go to the business's own subdomain (order.brand.com, book.brand.com) are reported as white-label ordering or booking, not as a gap.
Can a gap be wrong? A gap means "not found on the website". A business can still take bookings by phone or
use a system it doesn't link. The why text says exactly what was and wasn't found; treat gaps as signals for
outreach, not facts about the business.
How fast? About 1-3 seconds per website, 10 in parallel by default (up to 20).
Which countries? Any. Vendor packs are strongest for the US, UK, Canada and Australia, and include Europe's TheFork, CoverManager, Glovo, Just Eat and Wolt.
Is it legal? It reads public web pages like a browser. No login, no private data, no form submissions.
📜 Data & attribution
Reads only public business websites (and the dataset you provide). Vendor names are trademarks of their owners and are reported only as detected integrations.
🔗 Related actors
- Google Maps Leads + Website Audit for Agencies: local businesses from Google Maps audited for website, Google profile, reviews, booking and tracking gaps.
- Shopify App Detector: Tech Stack, Pixels & Theme: every app a Shopify store runs, with evidence, estimated app spend and change tracking.
- Domain Lookup API - DNS, MX, SPF, Tech & Contact Emails: DNS + live homepage → IPs, MX/SPF, tech, socials and public contacts per domain.