Learn

CSV and data workflows for local business leads

TL;DR

A local business lead workflow has four stages: export the data (as a CSV or a direct sync to your own database), clean and dedupe it, map the fields to your destination, and import it into a CRM or outreach tool. The export carries up to 11 fields per business — name, address, phone, website, rating, review count, category, coordinates, hours, price level, and a Google Maps link — which is enough to qualify and reach a prospect without manual lookup. Running bulk searches from a locations file and a search-terms file is what turns a one-off pull into a repeatable pipeline.

What is a lead data workflow?

A lead data workflow is the repeatable path your lead records travel from collection to outreach: extract, clean, transform, and load. For local business leads, the source is Google Maps listings, the intermediate format is usually a CSV, and the destination is a CRM, a spreadsheet, or a database you control. The goal is the same as any extract-transform-load process — get clean, structured, de-duplicated data into the system where your team actually works.

What fields are in the export?

Each business record can include up to 11 fields. Knowing them upfront lets you decide what to map, what to filter on, and what to discard before import.

  • Name — the business name as it appears on Google Maps.
  • Full address — a single formatted address string.
  • Phone — the listed contact number.
  • Website — the business’s own URL, where one is listed.
  • Google rating — the average star rating.
  • Review count — how many reviews back that rating.
  • Category — the primary business category.
  • GPS coordinates — latitude and longitude for mapping or radius filtering.
  • Business hours — opening hours where Google publishes them.
  • Price level — Google’s relative price indicator, where available.
  • Google Maps link — a direct link back to the listing.

Rating and review count are the two fields most teams qualify on: a high review count signals an established business, and rating helps you segment by reputation. Website presence is a useful proxy too — a missing website often flags a prospect for web-design or marketing services, while a present one tells you they have digital infrastructure to integrate with.

CSV is the right interchange format here because nearly every CRM, spreadsheet, and database accepts it, and the fields above map cleanly to flat columns. If you’d rather skip the file-handling entirely, Pro and Business plans can sync results straight into your own Supabase database, deduplicated and upserted on the way in — see how it works for the full picture.

How do bulk runs with a locations file and a search-terms file work?

A single search is one business type in one city. Real campaigns need many of both — “dentists” and “orthodontists” across twenty metros, for example. Rather than running each combination by hand, you supply two lists and let the run expand them.

  • A locations file — one place per row (cities or regions you want to cover).
  • A search-terms file — one business category or keyword per row.

The run takes the cross product: every search term against every location. Twenty cities and three terms is sixty searches in one job. This is also exactly how the pricing model maps to scope — locations × search terms = searches, with up to ~500 business results per search — so the two files you upload also tell you the cost of the run before you start it.

Two habits keep bulk runs clean. First, keep your search terms tight: precise categories such as “HVAC contractor” return more relevant rows than broad keywords like “home services.” Second, search at the city level rather than country-wide, so results stay relevant to a single market instead of mixing unrelated regions. With 3,900+ standardized categories and 200+ countries available, the constraint is rarely coverage — it’s choosing the right slice. The agencies use case covers running this across many client markets at once.

How do you clean and dedupe the results?

Raw lead lists always carry some noise: the same business returned by two overlapping searches, listings with no phone or website, or categories that don’t fit your offer. Cleaning before import keeps your CRM trustworthy and your outreach numbers honest.

A practical cleaning pass:

  1. Dedupe. Phone number and website are the most reliable keys — they’re more stable than business name, which varies in punctuation and suffixes. The Google Maps link is unique per listing, so it works as a tie-breaker when the same business appears under slightly different names.
  2. Filter on quality. Drop or flag rows below a review-count or rating threshold if your campaign targets established businesses. Filtering on GPS coordinates lets you enforce a true radius rather than trusting city labels alone.
  3. Handle blanks deliberately. A missing website or phone isn’t always a reject — it can be the entire signal you’re targeting. Decide per campaign rather than deleting blanks reflexively.
  4. Normalize for your destination. Split or combine fields to match your CRM’s schema before import, so you’re not fixing columns one record at a time later.

If you sync to Supabase instead of exporting CSVs, deduplication and upserting happen on write, so re-running a search updates existing records rather than piling up duplicates. That makes the database the cleaner long-term home for a list you’ll refresh on a schedule. The data teams use case goes deeper on keeping a synced dataset current.

How do you import leads into a CRM?

Importing is a mapping exercise: line up each CSV column with the matching CRM field, then load. Most CRMs walk you through a column-mapping step on CSV upload, so the work is deciding the mapping once and reusing it.

  • Map the essentials first — name, phone, website, and address are the core contact fields every CRM expects.
  • Park the metadata in custom fields — rating, review count, category, and the Google Maps link are valuable for segmentation and qualification, but they usually need custom properties rather than standard ones.
  • Set a dedupe key in the CRM too — most CRMs can match on an existing field (phone or website) during import to avoid creating duplicate records, which matters when you re-import a refreshed list.
  • Import a small batch first — load ten rows, confirm the mapping landed correctly, then run the full file.

From there the records flow into whatever outreach motion you run — sequences, dialer lists, or territory assignment. The outbound sales use case covers turning a clean list into a working pipeline.

A note on responsible use: how you may collect, store, and contact business records depends on where you and your prospects operate, including regimes such as GDPR. Obligations vary by jurisdiction and by platform terms, so review the laws and terms that apply to you, and consult counsel where appropriate. This article doesn’t offer a legal verdict.

Frequently asked questions

What format does the export use?

A standard CSV, with up to 11 columns per business — name, full address, phone, website, Google rating, review count, category, GPS coordinates, business hours, price level, and a Google Maps link. CSV imports cleanly into spreadsheets, CRMs, and databases. Pro and Business plans can also sync results directly into your own Supabase database instead of, or alongside, exporting files.

How do I run a search across many cities and categories at once?

Upload a locations file (one place per row) and a search-terms file (one category per row). The run takes the cross product — every term against every location — so a few dozen combinations run as a single job. Because searches are calculated as locations × search terms, the two files also tell you the run’s cost before you start.

How many results can one search return?

A search yields up to ~500 business results, and searches are spent as locations × search terms. So a run’s total ceiling is the number of location-and-term combinations multiplied by that per-search result limit. New accounts start free and no card required.

What’s the best way to deduplicate the results?

Use phone number or website as the dedupe key, since both are more stable than business name; the Google Maps link works as a unique tie-breaker. If you sync to Supabase, deduplication and upserting happen automatically on write, so refreshing a search updates existing records instead of creating duplicates.

Can I import the CSV straight into my CRM?

Yes. Map the core contact fields (name, phone, website, address) to your CRM’s standard fields, and put rating, review count, category, and the Maps link into custom properties for segmentation. Test with a small batch first, set a CRM-side dedupe key, then load the full file.

Obligations vary by jurisdiction — including regimes such as GDPR — and by the terms of the platforms involved. We don’t offer a legal verdict here. Review the laws and platform terms that apply to your situation, and consult qualified counsel where appropriate.


Ready to build a list? Start free — no card required — or compare plans and pricing.

← All guides