Foursquare Email Scraper
Pricing
from $2.49 / 1,000 results
Foursquare Email Scraper
Foursquare Email Scraper SD - Foursquare Email Scraper is a lead generation tool that extracts leads with public contact emails, account names and profile URLs from Foursquare results by keyword, location and email domain - Foursquare email extractor.
Pricing
from $2.49 / 1,000 results
Rating
0.0
(0)
Developer
Neuro Scraper
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 hours ago
Last modified
Categories
Share
Foursquare Email Scraper
The Foursquare Email Scraper collects publicly indexed contact emails from Foursquare venue results and writes them straight to an Apify dataset. It is built for hospitality-focused outreach: restaurants, bars, cafes, gyms, salons and the venue operators around them.
Be aware of one thing before you start. Foursquare venue pages are largely excluded from search results, so expect low volume from the Foursquare Email Scraper - our measured run parsed only three result blocks.
That makes this Actor a supplement rather than a primary source. Use the Foursquare Email Scraper alongside a high-yield local directory such as the Fyple Email Scraper or the Yellow Pages Email Scraper rather than on its own.
What the Foursquare Email Scraper does
The Foursquare Email Scraper builds Google queries with the site: operator against foursquare.com. It parses each result block structurally, isolating the venue title and the surrounding snippet text.
A domain-filtered regex then extracts any email on the domains you nominate. Matches are normalised, deduplicated globally and pushed to the dataset the moment they are found.
The Foursquare Email Scraper never logs into Foursquare, never uses a Foursquare API and never opens the Foursquare website. There is no browser, no JavaScript rendering, no authentication and no cookies.
Why hospitality teams still run the Foursquare Email Scraper
Venue check-in data has a long tail. Independent bars and coffee shops that never claimed a Google Business Profile sometimes still carry a Foursquare listing with an owner email in the description.
For a restaurant-tech vendor selling POS terminals, reservations or delivery integrations, even a handful of those contacts is worth the run. The Foursquare Email Scraper is cheap to run and its output slots into the same pipeline as every sibling Actor.
Market researchers mapping nightlife density in a neighbourhood also use the Foursquare Email Scraper as a cross-reference rather than a census.
Features of the Foursquare Email Scraper
Every capability below ships in the Foursquare Email Scraper today.
| Feature | What it means in practice |
|---|---|
Google site: search over foursquare.com | Targets venue pages that Google has actually indexed |
| Query expansion | Base, quoted and intitle: variants plus one query per modifier; base queries run first |
| Domain filtering | Only emails ending in your customDomains values are kept |
| Global deduplication | Each email is emitted once per run across every query and page |
| Email normalisation | Handles name [at] domain [dot] com, name (at) domain, name @ domain.com, domain .com, zero-width characters and the full-width @ |
| Junk filter | Rejects email@, yourname@, test@, xxx@ and single-character locals |
| Boundary-correct matching | @gmail.com does not match inside @gmail.company or @gmail.com.br |
| Soft-wrap repair | Discards a hit that is only the tail of another email in the same block |
| Structural block parsing | Finds the <h3> title then the smallest surrounding block; no CSS class-name dependency |
| Whole-page fallback parser | A Google layout change degrades to "emails without account details", not "no emails" |
| Concurrency control | asyncio worker pool with a shared stop signal on maxEmails |
| Retries and block detection | Up to 3 attempts per page, exponential backoff, fresh proxy session per request, CAPTCHA and consent pages detected and retried |
| Failed-query requeue | Blocked or failed queries are retried once at the end of the run |
| Resumable state | Key-value store state keyed by an input hash, saved on PERSIST_STATE, MIGRATING and ABORTING |
| Run summary logging | Pages fetched, blocked pages, retries and emails per page |
How the Foursquare Email Scraper works
A run of the Foursquare Email Scraper follows the same six steps every time.
- Read your input: keywords, location, email domains and limits.
- Build queries such as
site:foursquare.com cocktail bar "@gmail.com" "Brooklyn". - Fetch Google result pages through the Apify GOOGLE_SERP proxy with async
aiohttprequests. - Parse each result block structurally to isolate title, venue label and snippet.
- Extract and normalise emails using a domain-filtered regex.
- Deduplicate globally and push each lead into the dataset immediately.
Leads stream to the dataset as they appear, so an aborted run still keeps everything found so far.
Input fields for the Foursquare Email Scraper
These are the exact inputs the Foursquare Email Scraper accepts, with the defaults it ships with.
| Field | Type | Default | Meaning |
|---|---|---|---|
keywords | array (required) | ["restaurant", "local business"] | Search terms describing the venues you want |
location | string | "" | Optional location phrase added to every query |
customDomains | array | ["@gmail.com", "@yahoo.com"] | Only emails on these domains are kept; @ optional |
maxEmails | integer 1-10000 | 20 | Stop after this many unique emails |
countryCode | string | "" | Two-letter country for the search proxy (US, GB, DE...) |
expandQueries | boolean | true | Search each keyword x domain pair in several phrasings |
queryModifiers | array | ["email", "contact", "enquiries", "owner", "get a quote"] | Extra words combined with each keyword when expansion is on |
maxPagesPerQuery | integer 1-50 | 30 | Page cap per query |
maxConcurrency | integer 1-20 | 5 | Parallel queries |
Example input for the Foursquare Email Scraper
{"keywords": ["cocktail bar", "coffee roaster", "brunch restaurant"],"location": "Brooklyn, NY","customDomains": ["@gmail.com", "@yahoo.com", "@outlook.com"],"maxEmails": 100,"countryCode": "US","expandQueries": true,"queryModifiers": ["email", "contact", "owner"],"maxPagesPerQuery": 30,"maxConcurrency": 5}
Location: the highest-leverage input in the Foursquare Email Scraper
Because indexed venue coverage is thin, location matters even more here than on a broad directory. Neighbourhood-level phrasing gives the Foursquare Email Scraper its best chance of surfacing something.
Use the label the venue itself uses. "Williamsburg", "Bushwick" and "Park Slope" will each reach listings that a flat "New York" query never shows.
Strong candidates elsewhere include "East Austin", "Wicker Park", "Shoreditch", "Kreuzberg", "Le Marais" and "Bairro Alto" in Lisbon. Nightlife-dense districts index better than suburbs.
Queue several neighbourhoods in sequence and merge datasets. It is the only realistic way to accumulate volume from the Foursquare Email Scraper.
Output fields from the Foursquare Email Scraper
Every dataset item written by the Foursquare Email Scraper carries all fourteen fields below.
| Field | Meaning |
|---|---|
network | Platform name |
keyword | The keyword that produced the lead |
query | The exact Google query used |
title | Raw result title |
accountName | Account label Google prints |
fullName | Display name parsed from a profile-style title; empty for post captions |
username | URL-safe handle when the platform exposes one; otherwise null |
profileUrl | Canonical account URL when a handle is known; otherwise empty |
url | Direct platform link when exposed, else the profile URL |
description | Bio snippet, cleaned of labels and engagement counters |
email | Lower-cased email address |
emailDomain | The matched domain |
possiblyTruncated | true when Google's snippet ellipsis touched the email |
foundAt | ISO 8601 UTC timestamp |
Example output from the Foursquare Email Scraper
[{"network": "Foursquare","keyword": "cocktail bar","query": "site:foursquare.com cocktail bar \"@gmail.com\" \"Brooklyn, NY\"","title": "Halcyon Room - Cocktail Bar in Williamsburg - Foursquare","accountName": "Halcyon Room","fullName": "Halcyon Room","username": "4bd1f0a2c1","profileUrl": "https://foursquare.com/v/4bd1f0a2c1","url": "https://foursquare.com/v/4bd1f0a2c1","description": "Late-night cocktails and vinyl on Bedford Ave. Private hire: halcyonroom.bk@gmail.com","email": "halcyonroom.bk@gmail.com","emailDomain": "@gmail.com","possiblyTruncated": false,"foundAt": "2026-08-31T10:02:41.118Z"},{"network": "Foursquare","keyword": "coffee roaster","query": "site:foursquare.com coffee roaster \"@yahoo.com\" \"Brooklyn, NY\"","title": "Third Rail Coffee Roasters - Foursquare","accountName": "Third Rail Coffee Roasters","fullName": "Third Rail Coffee Roasters","username": null,"profileUrl": "","url": "","description": "Small-batch roastery and tasting bar. Wholesale enquiries thirdrailroast@yahoo.com","email": "thirdrailroast@yahoo.com","emailDomain": "@yahoo.com","possiblyTruncated": true,"foundAt": "2026-08-31T10:03:19.774Z"}]
Use cases for the Foursquare Email Scraper
The Foursquare Email Scraper fits best where a small number of venue contacts still moves the needle.
| Use case | Who runs it | Typical setup |
|---|---|---|
| Restaurant-tech prospecting | POS or reservations SaaS | ["restaurant", "bistro"], location: "East Austin" |
| Nightlife supplier outreach | Drinks distributor | ["cocktail bar", "wine bar"], location: "Shoreditch" |
| Cafe wholesale leads | Coffee roaster or bakery | ["coffee shop"], location: "Kreuzberg" |
| Fitness studio software leads | Booking platform | ["gym", "yoga studio"], location: "Lisbon" |
| Neighbourhood market mapping | Market researcher | One keyword, many district runs, compare counts |
| Event venue sourcing | Event agency | ["event space"], location: "Park Slope" |
| Delivery partner recruitment | Food delivery marketplace | ["takeaway", "pizzeria"], location: "Bushwick" |
| Cross-source enrichment | RevOps team | Merge with Fyple, Brownbook and Yellow Pages datasets |
Tuning the Foursquare Email Scraper for better yield
Widen customDomains first. Independent venue owners rely on @gmail.com, @yahoo.com, @hotmail.com, @outlook.com and @icloud.com, and each domain is searched separately.
Keep expandQueries on. It is the mechanism that works around Google's roughly 300-result per-query cap, which bites hardest on a thin index like this one.
Use venue-category language rather than generic terms. "tapas bar", "ramen", "speakeasy" and "natural wine" behave very differently from "restaurant".
Set countryCode to match your target market so the Foursquare Email Scraper searches from the right vantage point.
What to expect from a Foursquare Email Scraper run
Our measured Google run parsed just 3 result blocks. Foursquare venue pages are largely excluded from search results, so expect low volume from the Foursquare Email Scraper on any given city.
That is a property of Foursquare's indexing, not a fault in the Actor. The same code returns 9 or 10 blocks per run on Brownbook, Cylex, N49 and Yellow Pages.
Plan accordingly: run the Foursquare Email Scraper across many neighbourhoods, accept small per-run yields, and rely on a broader directory for bulk coverage.
Responsible use, GDPR and CAN-SPAM
The Foursquare Email Scraper collects only addresses that venues have published on a public listing. Sending obligations still sit with you, and this is guidance rather than legal advice.
CAN-SPAM requires accurate headers, an honest subject line, a physical postal address and a working opt-out you honour promptly. GDPR and UK GDPR require a lawful basis, a clear privacy notice and a route to erasure.
An owner's firstname@gmail.com is personal data even when published for business reasons. Suppress opt-outs, record provenance for every contact, and do not resell the raw dataset.
Limitations of the Foursquare Email Scraper
- Foursquare venue pages are largely excluded from search results, so expect low volume. This is the single biggest constraint on the Foursquare Email Scraper.
- Only finds venues whose email is publicly visible in Google's index.
- Google caps a single query at roughly 300 results, which is why query expansion exists.
possiblyTruncated: truemeans Google's snippet ellipsis touched the address - verify before sending.usernameandprofileUrlare populated only when Google's result exposes a handle. Rows without one still carryaccountName,fullNameand the email. This is a Google limitation, not a bug.- Requires the Apify GOOGLE_SERP proxy; the Foursquare Email Scraper cannot run without Apify proxy credentials.
- Free Apify plans are capped at 100 emails per run; paid plans are uncapped.
- Results vary with keywords, domains and location, and no volume is guaranteed.
Foursquare Email Scraper FAQ
How many results should I expect from the Foursquare Email Scraper? Few. Our measured run parsed 3 result blocks, because Foursquare venue pages are largely excluded from search results. Treat any run as a bonus rather than a list build.
Why is the yield so low? Foursquare restricts how much of its venue content search engines index. The Foursquare Email Scraper can only read what Google has already published.
Which Actor should I use instead for bulk local leads? The Brownbook Email Scraper, Cylex Email Scraper and Fyple Actor all return far more per run on the same hospitality keywords.
Does the Foursquare Email Scraper use the Foursquare API? No. It never logs in, never calls a Foursquare API and never opens the Foursquare website. Everything comes from publicly indexed Google results.
Why do some rows have username: null?
Google often prints only a venue name with no handle. Those rows have an empty profileUrl but still carry accountName, fullName and a usable email.
Can I filter to a specific email domain?
Yes. Put any domains in customDomains, with or without the leading @, and only matching addresses are kept.
What does possiblyTruncated mean?
Google's snippet ellipsis touched the email, so the address may be cut short. Verify or exclude those rows before an outbound send.
Do I need Apify proxy credentials? Yes. The Foursquare Email Scraper runs on the Apify GOOGLE_SERP proxy and cannot operate without it.
Is the free plan enough? Given the low yield here, the free plan's 100-email run cap is rarely the binding constraint on the Foursquare Email Scraper.
Can a run resume after a migration?
Yes. State is stored in the key-value store keyed by an input hash and saved on PERSIST_STATE, MIGRATING and ABORTING events.
Does a Google layout change break it?
No. Parsing is structural, starting from the <h3> title, and a whole-page fallback keeps emails flowing if markup shifts.
Related Actors
| Actor | What it collects |
|---|---|
| Foursquare Email and Phone Number Scraper | Emails and phone numbers from Foursquare |
| Foursquare Phone Number Scraper | Public phone numbers from Foursquare |
| Angi Email Scraper | Public contact emails from Angi |
| Bark Email Scraper | Public contact emails from Bark |
| Better Business Bureau Email Scraper | Public contact emails from Better Business Bureau |
| Bizapedia Email Scraper | Public contact emails from Bizapedia |
| Brownbook Email Scraper | Public contact emails from Brownbook |
| Callupcontact Email Scraper | Public contact emails from CallUpContact |
| Capterra Email Scraper | Public contact emails from Capterra |
| Clutch Email Scraper | Public contact emails from Clutch |
| Crunchbase Email Scraper | Public contact emails from Crunchbase |
| Cybo Email Scraper | Public contact emails from Cybo |
| Cylex Email Scraper | Public contact emails from Cylex |
| EC21 Email Scraper | Public contact emails from EC21 |
| Europages Email Scraper | Public contact emails from Europages |
| ExportHub Email Scraper | Public contact emails from ExportHub |
| FindUsLocal Email Scraper | Public contact emails from FindUsLocal |
| Fyple Email Scraper | Public contact emails from Fyple |
| G2 Email Scraper | Public contact emails from G2 |
| Hotfrog Email Scraper | Public contact emails from Hotfrog |
| Houzz Email Scraper | Public contact emails from Houzz |
| Infobel Email Scraper | Public contact emails from Infobel |
| Kompass Email Scraper | Public contact emails from Kompass |
| Lacartes Email Scraper | Public contact emails from Lacartes |
| Manta Email Scraper | Public contact emails from Manta |
| MapQuest Email Scraper | Public contact emails from MapQuest |
| N49 Email Scraper | Public contact emails from N49 |
| Porch Email Scraper | Public contact emails from Porch |
| Scoot Email Scraper | Public contact emails from Scoot |
| Thomasnet Email Scraper | Public contact emails from Thomasnet |
| Thumbtack Email Scraper | Public contact emails from Thumbtack |
| Touch Local Email Scraper | Public contact emails from Touch Local |
| TradeIndia Email Scraper | Public contact emails from TradeIndia |
| Trustpilot Email Scraper | Public contact emails from Trustpilot |
| Tupalo Email Scraper | Public contact emails from Tupalo |
| Yalwa Email Scraper | Public contact emails from Yalwa |
| Yellow Pages Email Scraper | Public contact emails from Yellow Pages |
| Angi Email and Phone Number Scraper | Emails and phone numbers from Angi |
| Bark Email and Phone Number Scraper | Emails and phone numbers from Bark |
| Better Business Bureau Email and Phone Number Scraper | Emails and phone numbers from Better Business Bureau |
| Bizapedia Email and Phone Number Scraper | Emails and phone numbers from Bizapedia |
| Brownbook Email and Phone Number Scraper | Emails and phone numbers from Brownbook |