Voxa's Lead Finder searches business directories for prospects by category and city, then imports what you pick as leads in a campaign. Google Places is one of its sources, and it is the one that runs on your own Google Cloud key.

That is deliberate. There is no platform key behind Google Places on Voxa, so every search bills to your project, at your rates, with nothing added on top. This guide covers getting a key, restricting it properly, wiring it up, keeping the bill at or near zero, and reading Google's errors when a search fails.

What Google Places is good for

Lead Finder has several sources and they are not interchangeable:

Source Cost Best for
OpenStreetMap / Overpass Free Broad local business searches, permissive reuse terms
Google Places Your Google Cloud bill Fuller, fresher business data with phone numbers
SAM.gov Entity Free Federal registrants, searched by NAICS code
EPA ECHO Free Permitted facilities, searched by NAICS code

Google Places tends to win on data quality and coverage for local consumer-facing businesses. Overpass wins on cost and on licensing. Many teams run Overpass first and reach for Google Places when a category comes back thin.

Step 1: create a Google Cloud API key

  1. Open the Google Cloud console and select or create a project.
  2. Enable the Places API for that project under APIs and Services.
  3. Enable billing on the project. Google requires a billing account on the project even for usage that falls inside its free monthly allotment. Without it, every call comes back denied.
  4. Create an API key under APIs and Services, Credentials.

Step 2: restrict the key before you use it

An unrestricted Places key is a real liability, because anyone who finds it can spend your money. Restrict it as you create it:

  • API restriction: limit the key to the Places API only. Do this even if the project has nothing else enabled.
  • Application restriction: Voxa calls Google from the server, not the browser, so an HTTP referrer restriction will block every call. If you want a second layer, use an IP address restriction set to your Voxa server's outbound IP. Leave it unrestricted otherwise.
  • Quotas: set per-day caps in the Google Cloud console as a hard backstop, separate from the limits you will set inside Voxa.

Step 3: add the key in Voxa

  1. Open Settings, Lead Sources (/settings/lead-sources). This needs the org.settings.manage permission, which the Admin role has by default.
  2. Paste the key into Google Places API Key.
  3. Check that Google Places is ticked in the sources list. All platform-enabled sources are on by default for a new organization, so usually it already is.
  4. Save.

Until a key is saved, Google Places still appears in the Lead Finder source dropdown but is labelled to tell agents to add a key in settings, so nobody wastes a search wondering why it returns nothing.

Step 4: run a search

  1. Open Lead Finder (/finder). Agents need the leadfinder.manage permission.
  2. Pick Google Places as the source.
  3. Enter a business category and a city, and optionally a state.
  4. Optionally tick exclude results that already have a website, which is useful if what you sell is a website.
  5. Search, then import the results you want into a campaign.

Each Google Places search returns up to 10 results. Every imported lead is screened against your do-not-call list and blacklist on the way in, the same as a CSV import or a web lead.

What a search actually costs you

This is the part worth understanding before you turn a team loose on it. Google's Text Search does not return phone numbers, and a lead without a phone number is not much use on a calling floor. So Voxa makes a follow-up Place Details call for each result.

One search therefore costs:

  • 1 Text Search call, plus
  • up to 10 Place Details calls, one per result.

Two things keep that from running away:

The quota gate. On by default, with a monthly cap per call type that starts at Google's published free monthly allotment for each. Usage is counted per calendar month, and the settings page shows how much is left. When a cap is hit, searches stop with a message telling you to raise the limit, disable the gate or wait for next month, rather than quietly running up a bill. You can raise either cap or switch the gate off entirely and accept billed usage.

The response cache. Both Text Search and Place Details responses are cached for 24 hours by default, so rerunning the same search inside that window costs nothing extra. Two agents searching "plumbers in Austin" on the same morning is one billable search, not two. Only genuinely successful responses are cached, so an error caused by billing not being switched on yet does not get locked in for the day; the next attempt goes live to Google again.

Reading Google's errors

Google's Places API returns HTTP 200 even when the call failed. The real outcome is in the response body's status field, which is why a naive integration reports a denied key as "no results found". Voxa checks that field explicitly and surfaces the status to you. The ones you will see:

Status What it usually means
REQUEST_DENIED Places API not enabled on the project, key restricted in a way that blocks server calls (often an HTTP referrer restriction), or an invalid key
OVER_QUERY_LIMIT Billing not enabled on the project, or a Google-side quota exhausted
INVALID_REQUEST A required parameter is missing or malformed
ZERO_RESULTS The call succeeded. That category genuinely has no matches in that city

If you hit the cap Voxa itself enforces, the message comes from Voxa and names the call type, Text Search or Place Details, so you know which limit to raise.

A note on terms

Google's Places API terms place restrictions on caching and storing results. Importing results into your own CRM as permanent lead records is a decision to make with your own reading of those terms and your own counsel, not something to assume because a button exists. If you want a source with no reuse restrictions, OpenStreetMap via Overpass is licensed under the ODbL and explicitly permits this use with attribution, and it is free.

Saved searches

Any search can be saved with a name, a target campaign and a cadence, so a recurring hunt for new businesses in a category reruns without anyone retyping it. Saved searches live at Lead Finder, Saved searches.

Everything else that is bring-your-own

Google Places is one of three places where Voxa deliberately declines to sit in the middle of your bill:

  • Calling runs on your own Twilio, SignalWire or Vonage account.
  • Google Places runs on your own Google Cloud key.
  • AI features like note summaries and pitch suggestions run on your own Anthropic or OpenAI key.

In each case you pay the vendor directly and Voxa takes no cut.