How to Use Google Places API to Filter Businesses Without a Website
Learn exactly how to query the Google Places API to find businesses without websites in any city. Includes working code examples, field references, and a no-code alternative for agencies who don't want to manage API keys.
B2BLeadFinder Team
Published April 25, 2026 · Updated April 27, 2026
Does the Google Places API Return Website Data?
Yes — the Google Places API returns a `website` field for each business listing. When a business has no website linked to their Google Business Profile, this field is either absent or returns an empty string. This makes it possible to programmatically filter businesses by website status.
The relevant Places API fields:
| Field | Description | Included in Basic/Advanced? |
|---|---|---|
| `website` | The business's website URL | Advanced |
| `name` | Business name | Basic |
| `formatted_phone_number` | Phone number | Advanced |
| `formatted_address` | Full address | Basic |
| `rating` | Average star rating | Basic |
| `user_ratings_total` | Number of reviews | Basic |
| `business_status` | OPERATIONAL/CLOSED | Basic |
Important pricing note: The `website` field is part of the "Advanced" data tier — it costs $0.017 per request (as of 2026 pricing). For every 1,000 businesses you check for websites, the cost is approximately $17. At scale, this adds up — which is why tools like B2BLeadFinder (which pre-caches this data) are more cost-efficient for prospecting.
Step-by-Step: Query Google Places API for Businesses Without Websites
Here's a complete walkthrough for filtering no-website businesses using the Google Places API (New).
Prerequisites:
Step 1: Text Search Request
Use the Places API Text Search to find businesses in a city:
```
POST https://places.googleapis.com/v1/places:searchText
Content-Type: application/json
X-Goog-Api-Key: YOUR_API_KEY
X-Goog-FieldMask: places.id,places.displayName,places.websiteUri,places.nationalPhoneNumber,places.formattedAddress,places.rating,places.userRatingCount
{
"textQuery": "hair salons in Birmingham UK",
"maxResultCount": 20
}
```
Step 2: Filter Where websiteUri is Absent
The response returns a `places` array. Filter for entries missing `websiteUri`:
```javascript
const noWebsiteBusinesses = places.filter(place => !place.websiteUri);
```
Step 3: Pagination for More Results
Add `pageToken` to get the next page (up to 60 results total per query):
```javascript
// In your request body:
{ "pageToken": response.nextPageToken }
```
Step 4: Export to CSV
Map the filtered results to a CSV-ready structure:
```javascript
const csvRows = noWebsiteBusinesses.map(p => ({
name: p.displayName.text,
phone: p.nationalPhoneNumber || '',
address: p.formattedAddress,
rating: p.rating || 0,
reviews: p.userRatingCount || 0,
website: 'NONE'
}));
```
Limitations of Using the Google Places API for Lead Generation
The Google Places API is a powerful tool, but it has specific limitations that matter for business prospecting.
Limitation 1: 60 results per search query
A single text search query returns a maximum of 60 results (3 pages × 20 results). To cover a large city with many businesses, you need to split searches by sub-area or use multiple category queries.
Limitation 2: Cost at scale
At $0.017 per Place Details request for the website field, scanning 10,000 businesses costs $170. For an agency prospecting weekly, monthly API costs can reach $500–$2,000.
Limitation 3: No built-in lead scoring
The API returns raw data. It doesn't tell you which businesses are the best leads. You need to build your own scoring logic (or use a tool that already has it).
Limitation 4: No decision-maker data
The Places API doesn't return owner names, personal email addresses, or LinkedIn profiles. Enriching leads with decision-maker contact data requires additional API calls (People Data Labs, Hunter.io, etc.) or manual research.
Limitation 5: Requires ongoing maintenance
API versions change, billing changes, rate limits change. Using the Places API for ongoing prospecting means maintaining and monitoring code.
The practical alternative:
B2BLeadFinder wraps the Google Places API (and enriches it with additional signals) into a no-code interface. It handles pagination, cost management, scoring, and decision-maker enrichment — so you get the output of a custom Places API integration without the engineering overhead.
Advanced: Build a No-Website Business Scraper with Node.js
For developers who want full control, here's a complete Node.js script that finds businesses without websites using the Google Places API.
```javascript
const axios = require('axios');
const API_KEY = process.env.GOOGLE_PLACES_API_KEY;
const BASE_URL = 'https://places.googleapis.com/v1/places:searchText';
async function findBusinessesWithoutWebsites(query, maxPages = 3) {
const results = [];
let pageToken = null;
for (let page = 0; page < maxPages; page++) {
const body = { textQuery: query, maxResultCount: 20 };
if (pageToken) body.pageToken = pageToken;
const response = await axios.post(BASE_URL, body, {
headers: {
'Content-Type': 'application/json',
'X-Goog-Api-Key': API_KEY,
'X-Goog-FieldMask': [
'places.id',
'places.displayName',
'places.websiteUri',
'places.nationalPhoneNumber',
'places.formattedAddress',
'places.rating',
'places.userRatingCount',
'nextPageToken'
].join(',')
}
});
const { places = [], nextPageToken } = response.data;
// Filter businesses with no website
const noWebsite = places.filter(p => !p.websiteUri);
results.push(...noWebsite);
if (!nextPageToken) break;
pageToken = nextPageToken;
await new Promise(r => setTimeout(r, 2000)); // Respect rate limits
}
return results;
}
// Usage
findBusinessesWithoutWebsites('plumbers in Manchester UK')
.then(leads => {
leads.forEach(lead => {
console.log({
name: lead.displayName?.text,
phone: lead.nationalPhoneNumber,
address: lead.formattedAddress,
rating: lead.rating,
reviews: lead.userRatingCount
});
});
});
```
This script handles pagination and filters on the client side. For production use, add error handling, rate limit retry logic, and CSV export.
No-Code Alternative: B2BLeadFinder vs. Custom Google Places API Integration
Choosing between building a custom Places API integration and using B2BLeadFinder comes down to your priorities.
Build your own Google Places API integration when:
Use B2BLeadFinder when:
Feature comparison:
| Feature | DIY Places API | B2BLeadFinder |
|---|---|---|
| No-website filtering | ✓ (manual) | ✓ (automated) |
| Setup time | 2–8 hours | 2 minutes |
| API cost management | You manage | Included |
| Digital Health Score | ✗ | ✓ |
| Decision-maker contacts | ✗ | ✓ |
| AI email generation | ✗ | ✓ |
| Lead export (CSV) | ✓ (build it) | ✓ (built-in) |
| Ongoing maintenance | You handle | Handled for you |
For most agencies, the time-to-value of B2BLeadFinder outweighs the flexibility of a custom API build. For developers building lead generation products or tools for others, the raw API approach gives more control.
Related Tools
Frequently Asked Questions
Can the Google Places API filter businesses without websites?
Yes. The Google Places API (New) returns a websiteUri field for each business. When this field is absent or empty, the business has no website linked to their Google Business Profile. You can filter results programmatically: places.filter(p => !p.websiteUri). Note that websiteUri is an Advanced field, so it adds $0.017 per request to your API cost.
How do I use the Google Places API to find businesses without websites?
Send a Text Search or Nearby Search request to the Places API with your target city and business category. Include websiteUri in your field mask. Filter the response for entries where websiteUri is missing or null — those are your no-website businesses. Export the name, phone, address, and review data to a spreadsheet or CRM.
What does the Google Places API website field return for businesses without websites?
For businesses without a website linked to their Google Business Profile, the Google Places API either omits the websiteUri field entirely or returns it as an empty string. In your filter logic, check for both: !place.websiteUri || place.websiteUri === "".
How much does it cost to use Google Places API to find businesses without websites?
The websiteUri field falls under Advanced pricing at $0.017 per Place Details request. A Text Search returning 20 results costs $0.034 (Text Search) + $0.017 × 20 (Place Details) if you fetch full details. To scan 1,000 businesses, expect $17–$25 in API costs. For regular, high-volume prospecting, a tool like B2BLeadFinder is more cost-efficient.
Is there a no-code tool that does what the Google Places API does for finding no-website businesses?
Yes — B2BLeadFinder is built on top of the Google Places API and provides a no-code interface for finding businesses without websites. Enter a city and category, apply the No Website filter, and get a scored list in 2 minutes. It also adds features the raw API doesn't provide: Digital Health Scores, decision-maker contacts, and AI email generation.
Ready to Try It?
Skip the API setup. B2BLeadFinder uses Google Places data to find businesses without websites in any city — no code, no API keys, no billing management. Free 7-day trial.
Start Free Trial →7-day free trial · No credit card required