Find the businesses worth calling, and know why before you dial.
Xovra scrapes Google Maps by niche and city, audits each business website, checks for Google Ads and social presence, scores every lead and gives it a pitch angle. The result lands in a Google Sheet and a CSV.
Job: dentists in Dubai
Scrape, enrich, score
Source
Google Maps listings for niche = dentists, city = Dubai
Website audit
HTTPS: no, mobile-friendly: no, copyright year: 2019
Ads and social
No Google Ads detected, Instagram handle found, Facebook page found
Pitch angle
WEAK_SITE, score assigned, row written to Sheet
Example job for explanation only. Results depend on what is publicly listed on Google Maps and on each business website.
From a search term to a call-ready list
Google Maps scraping
Search by niche and city, for example dentists in Dubai, and collect the listings.
Enrichment
Website audit, Google Ads detection and social presence added to each lead.
Scoring and angles
Leads are scored and tagged RUNS_ADS, NO_SITE, WEAK_SITE or STRONG_SITE.
Sheet and CSV
Output goes to a Google Sheet and a HubSpot-compatible CSV file.
Sourcing, enrichment and campaign setup in one place
Everything between I want to call dentists in Dubai and the first dial.
Google Maps by niche and city
Define a niche and a city and Xovra collects matching Google Maps listings with their contact details.
Website audit
Checks HTTPS, mobile friendliness, copyright year and technology stack, so you can see which sites look neglected.
Google Ads detection
Looks for on-site ad tags, the Ads Transparency Center and search results to see whether a business already pays for ads.
Social presence
Finds Instagram handle and follower count, plus Facebook and TikTok presence, to understand where the business is active.
Scoring and pitch angles
Each lead gets a score and one of four pitch angles: RUNS_ADS, NO_SITE, WEAK_SITE or STRONG_SITE.
Batch jobs from YAML
Describe several niche and city combinations in a YAML job file and process them in a single batch.
The lead pipeline, step by step
Define the job
Pick a niche and a city, or list many in a YAML job file for batch processing.
Scrape listings
Xovra collects Google Maps listings that match the search.
Enrich
Website audit, ads detection and social lookups run for each business.
Score and tag
Leads receive a score and a pitch angle so you know the opening before the call.
Export
Rows are written to a Google Sheet and a HubSpot-compatible CSV, then imported into a campaign.
Know the business before you call it
A cold call goes better when you have a reason to be calling. Enrichment turns a Google Maps listing into a short list of concrete observations.
Website audit
Spot sites without HTTPS, that are not mobile-friendly or that still show an old copyright year.
Ads detection
Three signals are checked, so a business that already spends on Google Ads is not mistaken for one that does not.
Social presence
Instagram follower counts and Facebook or TikTok presence help you judge how active the business is online.
What enrichment looks for
website: HTTPS, mobile-friendly, copyright year, tech stack
ads: on-site tags, Ads Transparency Center, SERP
social: Instagram handle and followers, Facebook, TikTok
Illustrative example for explanation only.
Every lead arrives with an opening line
Pitch angles are simple on purpose. Four labels tell the caller, or the AI assistant, which conversation to start.
RUNS_ADS
Spending on ads already, so a conversation about results or conversion fits.
NO_SITE and WEAK_SITE
No site, or one with clear problems, gives you an obvious reason to call.
Score for ordering
A score lets you work the strongest leads first.
The four pitch angles
RUNS_ADS: already pays for Google Ads
NO_SITE: no website found
WEAK_SITE: site exists but looks neglected
STRONG_SITE: site is in good shape
Illustrative example for explanation only.
Turn the list into a calling plan
A campaign takes your leads and wraps them in the settings that decide how they are called: manual or AI mode, a brief, a greeting, retries and timing.
Import from Sheets or paste
Bring in leads from a Google Sheet, or paste a list of numbers directly.
Worklist filtering
Filter to leads with no website, or leads that have social profiles, before you start calling.
Script placeholders
Scripts can use {name}, {category}, {city}, {rating}, {evidence} and {caller}.
Campaign worklist
import: Google Sheet or pasted numbers
filter: no website, has socials
script: Hi {name}, I noticed your {category} in {city}...
retry: attempt cap and timing configurable
Illustrative example for explanation only.
What lead sourcing covers
Xovra sources and organizes leads for calling. It does not try to be your CRM.
What it does
- Scrapes Google Maps listings by niche and city
- Audits websites for HTTPS, mobile friendliness, copyright year and tech stack
- Detects Google Ads through on-site tags, Ads Transparency Center and SERP
- Finds Instagram, Facebook and TikTok presence
- Scores leads and assigns RUNS_ADS, NO_SITE, WEAK_SITE or STRONG_SITE
- Writes to a Google Sheet and a HubSpot-compatible CSV
- Runs batches from YAML job files and imports into campaigns
What it does not do
- No native CRM sync: export the CSV and import it into HubSpot yourself
- No carrier or line-type validation of phone numbers
- No live Do Not Call registry lookup: you maintain your own suppression list
- Not a database of purchased contacts: data comes from public listings
- Not a guarantee of complete data: some listings have missing websites or numbers
Questions about lead sourcing
Stop guessing who to call next
Tell us your niche and city. We will show you what a scraped, enriched and scored list looks like.
Output is a Google Sheet and a HubSpot-compatible CSV. No native CRM sync.