Foursquare Places Scraper - Search, Chains, Phones & Emails avatar

Foursquare Places Scraper - Search, Chains, Phones & Emails

Pricing

$4.00 / 1,000 places

Go to Apify Store
Foursquare Places Scraper - Search, Chains, Phones & Emails

Foursquare Places Scraper - Search, Chains, Phones & Emails

Search Foursquare places by city, radius, category and name: address, coordinates, categories, phone, website, email, socials, date created and refreshed. Or pull a chain's live locations in 20 US cities with rating, check-ins, hours and tips. No login or API key.

Pricing

$4.00 / 1,000 places

Rating

0.0

(0)

Developer

Scrapers Delight

Scrapers Delight

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

What does Foursquare Places Scraper do?

Foursquare Places Scraper exports Foursquare place data two ways. Search finds places by city, coordinates and radius, bounding box or whole country, filtered by Foursquare category and place name, across Foursquare's own open dataset of 103.5 million places worldwide. Chain locations reads foursquare.com's live chain pages for 20 US metros, with ratings, check-ins, opening hours, popular hours, tips and photos. Built for lead generation, local market research, site selection and POI enrichment.

Foursquare scraper ยท Foursquare API alternative ยท Foursquare venues export ยท Foursquare POI data ยท Swarm places

  • Search 103.5 million places: any city, a radius around coordinates, a bounding box or a whole country, nearest first with the distance in km.
  • Filter on what Foursquare knows: category (any level of Foursquare's category taxonomy), name keywords, region, city, postcode, open places only, refreshed since a date.
  • Contacts in the row: phone, website, email, Facebook, Instagram and X (Twitter), plus date created, refreshed and closed.
  • Live chain locations: up to 30 locations per chain and city with rating, rating count, check-ins, visitors, hours, popular hours, tips, photos and menu link, joined to the open dataset for email and dates.
  • No login, no cookies, no Foursquare API key: type a city and a category, or a chain name.
  • Pay only for delivered places: no start fee; nothing charged for empty searches, missing chain pages, duplicates or filtered rows.
  • Export anywhere: JSON, CSV, Excel, XML, RSS; schedules, webhooks, Make, Zapier, n8n, Google Sheets, Slack.
  • Works with AI agents: call it through the Apify API or the MCP server; compact output keeps rows small.

What data can you get from Foursquare?

๐Ÿ†” Foursquare id (id)๐Ÿท๏ธ Name๐Ÿ—‚๏ธ Categories + full category paths
๐Ÿ“ Address, city, state, postcode, country๐ŸŒ Latitude / longitude๐Ÿ“ Distance from your centre (distanceKm)
โ˜Ž๏ธ Phone๐Ÿ”— Websiteโœ‰๏ธ Email
๐Ÿ‘ Facebook page๐Ÿ“ธ Instagram handle๐Ÿฆ X (Twitter) handle
๐Ÿ“… Date created๐Ÿ”„ Date refreshed๐Ÿšซ Date closed / isClosed
โญ Rating + rating count (chains)๐Ÿ‘ฃ Check-ins + visitors (chains)๐Ÿ•’ Hours + open now (chains)
๐Ÿ“ˆ Popular hours (chains)๐Ÿ’ฌ Tips (chains)๐Ÿ–ผ๏ธ Photos + menu link (chains)
๐Ÿ”— Chain id + Foursquare chain total๐Ÿงญ Directions link๐Ÿ—“๏ธ Data date (dataAsOf)

On a 1,000-row search (restaurants around Chicago) 76% of places had a phone, 52% a website, 17% an email and 87% a street address. On the default demo (20 coffee shops in Lower Manhattan) it was phone 70%, website 70%, email 35%, Facebook 50%. On 100 live chain locations (Target and Chipotle, Chicago and New York) every row had a rating and check-ins, 97% a phone, 96% opening hours and, after the open-data join, 58% an email.

How to scrape Foursquare with Foursquare Places Scraper

  1. Create a free Apify account - $5 of monthly credit, no card needed.
  2. Open Foursquare Places Scraper and click Try for free.
  3. Pick a Mode: Search (worldwide) or Chain locations (20 US metros).
  4. For a search, add Categories (e.g. Dentist) and Locations (e.g. Austin, TX); for chains, add Chains (e.g. Target) and pick Cities. Set Max places.
  5. Click Start. Places stream into the dataset as they are found.
  6. Open the Storage tab and Export as JSON, CSV or Excel - or let a schedule run it for you.

โฌ‡๏ธ Input

ParameterTypeDescription
๐Ÿ” What to scrape
modeSelectsearch (default) = Foursquare Open Source Places, worldwide; chainLocations = live foursquare.com chain pages
categoriesListSearch. Category names or ids at any level: Coffee Shop, Dentist, Pizzeria, Restaurant, 4bf58dd8d48988d1e0931735
searchTermsListSearch. Keep places whose name contains any of these words: starbucks, pizza, dental
locationsListSearch. Austin, TX, Berlin, Germany, 40.758,-73.985, or a country name (Iceland) for a whole country
chainsListChain mode. Starbucks, Target, CVS Pharmacy, Chipotle, 7-Eleven
citiesMulti-selectChain mode. Any of the 20 metros below; empty = all 20
startUrlsListChain mode. https://foursquare.com/locations/starbucks/new-york-city (redirect, app, www or bare host)
๐ŸŽฏ Area & filters (search)
radiusKmNumber0 = automatic: 2 km around coordinates, 2-30 km around a city by its size. Default 0
boundingBoxTextminLng,minLat,maxLng,maxLat, e.g. -74.02,40.70,-73.93,40.80
categoryGroupSelectOne of Foursquare's ten top-level groups (Dining and Drinking, Retail, Health and Medicine...). Default any
countryCodeTextUS, DE, United Kingdom. With no locations, searches the whole country
region / localityTextThe record's own region (TX) or city (Brooklyn) field must equal this
postcodePrefixesList100, SW1, 10115
โœ‚๏ธ Refine results
openOnlyBooleanSkip places marked closed. Default true
refreshedSince / createdSinceDateKeep records refreshed / created on or after a date
withPhoneOnly, withWebsiteOnly, withEmailOnly, withSocialOnlyBooleanKeep only rows that have that contact. Default false
โž• Extra data
enrichFromOpenDataBooleanChain mode. Add email, date created / refreshed / closed and category paths by Foursquare id. Default true, no extra charge
๐Ÿ” Monitoring
monitorModeBooleanDeliver only places this monitor never delivered. Pair with a schedule
monitorName / resetMonitorText / BooleanName the memory; start it again
๐Ÿ“ฆ Output
maxResultsIntegerDefault 100; 0 = up to 100,000. Shared across locations or chain pages
compact / excludeEmptyFieldsBooleanCore fields only / drop empty fields
โš™๏ธ Advanced
proxyConfigurationProxyNot needed (direct by default); used only as a fallback

Input JSON

{
"mode": "search",
"categories": ["Dentist"],
"locations": ["Austin, TX", "Dallas, TX"],
"withPhoneOnly": true,
"refreshedSince": "2023-01-01",
"maxResults": 200
}
{
"mode": "chainLocations",
"chains": ["Starbucks", "Target"],
"cities": ["chicago", "boston", "seattle"],
"maxResults": 300
}

Pick the mode before anything else

Search reads Foursquare Open Source Places and works anywhere, for any category; it is the one to use for lead lists and market maps. Chain locations reads one live foursquare.com page per chain and city: it is the only source of ratings, check-ins, hours and tips, and it exists for these 20 US metros only: Atlanta, Boston, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Los Angeles, Miami, Minneapolis, New York City, Orlando, Philadelphia, Phoenix, Sacramento, San Francisco, Seattle, Tampa, Washington DC.

Type cities as "City, Region, Country"

Austin, TX, Portland, OR, Portland, ME, London, ON, Canada, San Jose, Costa Rica. A bare name picks the most populous match (Paris = Paris, France). Coordinates (40.758,-73.985) skip the lookup. Each result row says which area found it (searchArea), and RUN_SUMMARY shows the centre and radius used.

Use categories for "what", name words for "who"

categories: ["Dentist"] returns dental practices whatever they are called. searchTerms: ["starbucks"] returns places whose name contains the word. Both together must both match.

โฌ†๏ธ Output

Every place becomes one dataset item. A real search row (demo input, nearest coffee shop to the centre of New York City):

{
"id": "4aea76b3f964a520abbb21e3",
"name": "Starbucks",
"primaryCategory": "Coffee Shop",
"categoryPaths": ["Dining and Drinking > Cafe, Coffee, and Tea House > Coffee Shop"],
"address": "291 Broadway",
"city": "New York",
"state": "NY",
"postalCode": "10007",
"countryCode": "US",
"lat": 40.714855,
"lng": -74.005936,
"distanceKm": 0.065,
"phone": "(212) 406-5310",
"website": "https://www.starbucks.com/store/18526/",
"email": "info@starbucks.com",
"instagram": "starbucks",
"twitter": "starbucks",
"dateCreated": "2009-10-30",
"dateRefreshed": "2025-02-03",
"isClosed": false,
"url": "https://foursquare.com/v/starbucks/4aea76b3f964a520abbb21e3",
"dataSource": "Foursquare Open Source Places 2025-02-06 (Apache-2.0)"
}

A real chain-locations row (Target, Chicago, trimmed):

{
"id": "578ebdcacd10e7675f6488fa",
"name": "Target",
"primaryCategory": "Big Box Store",
"brand": "Target",
"address": "2650 N Clark St",
"crossStreet": "Schubert and Clark",
"neighborhood": "Park West",
"formattedPhone": "(773) 799-9142",
"website": "https://www.target.com/sl/chicago-lincoln-park-north/3221",
"rating": 7.4,
"ratingSignals": 81,
"checkins": 3607,
"totalVisitors": 882,
"hours": ["Monโ€“Sat: 7:00 AMโ€“11:00 PM", "Sun: 8:00 AMโ€“11:00 PM"],
"popularHours": ["Sat: 9:00 AMโ€“8:00 PM", "Sun: 10:00 AMโ€“8:00 PM"],
"createdAt": "2016-07-19T23:54:50.000Z",
"sourceTotalLocations": 44
}

Fields

FieldTypeWhat it isSearch (1,000 rows)Chains (100 rows)
id, name, categories, lat, lng, urlmixedFoursquare id, name, categories, point, place URL100%100%
addressstringStreet address87%99%
postalCodestringPostcode95%100%
phonestringPhone76%97%
websitestringWebsite52%91%
emailstringEmail17%58% (join)
facebook / instagram / twitterstringSocial profiles (+ ...Url)17% / 2% / 10%58% / 44% / 84%
dateCreated / dateRefreshedstringWhen Foursquare added / last refreshed the record100%99% (join)
dateClosed, isClosedstring, boolClosed date (only with openOnly: false)--
distanceKmnumberDistance from the search centre100%-
rating, ratingSignals, ratingColor, verifiedmixedFoursquare rating out of 10-100%
checkins, totalVisitors, tipCountintegerCommunity counts-100%
hours, hoursStatus, isOpen, hoursTimeframesmixedOpening hours-96%
popularHours, popularTimeframesarrayWhen it is busy-93%
topTips, tipText, tipAuthor, tipUrlmixedTips shown on the page-44%
photos, imageUrlsarrayPhoto URLs-96%
menuUrl, hasMenumixedMenu link-12%
crossStreet, neighborhood, formattedPhone, timeZonestringLocation details-78-100%
adminRegion, postTown, poBoxstringUK-style address partsLondon test: 85% / 25% / 3%-
chainIds, brand, queryCity, sourceUrl, sourceTotalLocationsmixedChain page provenance-100%
searchArea, dataSource, dataAsOf, scrapedAtstringProvenance and data date100%100%

How can I use Foursquare places data?

  • ๐Ÿ“ž Sales teams: build call lists of dentists, gyms or cafรฉs in a territory with phone, website and email.
  • ๐Ÿ—บ๏ธ Site selection: count competitors within 1 km of a candidate address, sorted by distance.
  • ๐Ÿช Chain analysts: track where a chain is listed in 20 US metros, with rating and check-in counts per location.
  • ๐Ÿงญ Data teams: enrich a POI table with Foursquare ids, categories and coordinates; join on id.
  • ๐Ÿ“ˆ Market research: compare category density across cities or postcodes.
  • ๐Ÿค– AI agents: answer "find vegan restaurants near X" with compact rows through MCP.

How much does it cost to scrape Foursquare?

One Place event per delivered row. No start fee.

PlacesCost at $0.004 per place
10$0.04
100$0.40
1,000$4.00

Nothing is charged for an empty search, a chain page that does not exist, a duplicate, a row your filters removed, or a place an earlier monitor run already delivered. The free plan's $5 of monthly credit covers about 1,250 places.

Integrations, API, scheduling & MCP

Schedule a weekly chain-locations run with monitorMode on to receive only newly listed locations. Send results to Google Sheets, Slack, Make, Zapier or n8n, or to your own endpoint with a webhook. Call the actor from code with apify-client for Python or JavaScript, or from an AI agent through the MCP server.

More local-business scrapers

See every actor on our profile.

Limits & empty runs

  • Search data date: search rows come from the Foursquare Open Source Places release of 2025-02-06, the newest copy published without a login (newer monthly releases need a Foursquare Places Portal or Hugging Face account). Each row carries dataAsOf and dateRefreshed; use refreshedSince to keep recently checked places (44% of the 1,000-row Chicago test were refreshed in 2024-2025).
  • Pins and addresses as Foursquare publishes them: a few records sit at the wrong point or repeat; repeated ids are delivered once.
  • Chain pages: at most 30 locations per chain and city (Foursquare's own page limit; sourceTotalLocations shows its full count), 20 US metros only.
  • Not available: reviews beyond the tips on chain pages, 168-value hourly busyness, price tier, curated lists and place-id lookups - foursquare.com shows those only to signed-in users.
  • Speed: a 100-place city search took 11 s and a 1,000-place search 21 s in our local test at the 1 GB CPU share. Very wide searches (a whole country with a rare filter) stop when their reading cost is out of proportion to the places found; RUN_SUMMARY says why each area stopped.

FAQ

How much does Foursquare Places Scraper cost?

$0.004 per delivered place, no start fee. 100 places cost $0.40.

How many places can Foursquare Places Scraper return?

Up to 100,000 per run in search mode (set maxResults), shared evenly across your locations. Chain mode returns up to 30 per chain and city.

Do I need a Foursquare API key or login for Foursquare Places Scraper?

No. Search reads Foursquare's openly licensed places dataset; chain mode reads public foursquare.com pages.

How fresh is the Foursquare Places Scraper search data?

It is the 2025-02-06 Foursquare Open Source Places release. Chain-location rows are read live on every run.

Can I schedule Foursquare Places Scraper to find new places?

Yes. Turn on monitorMode and schedule the run: each run delivers only places that monitor has not delivered before.

Can I use Foursquare Places Scraper with the Apify API or Python?

Yes - see the API tab for apify-client examples in Python and JavaScript.

Can AI agents use Foursquare Places Scraper through MCP?

Yes. Add it in the Apify MCP server and set compact: true for short rows.

Why did Foursquare Places Scraper return no results?

The area had no place matching every filter (RUN_SUMMARY lists each area, its radius and how many places matched), or a chain has no page for that city. Nothing is charged for an empty run. Widen radiusKm or drop a filter.

Which categories does Foursquare Places Scraper understand?

Any Foursquare category name or id, at any level of the taxonomy - Restaurant matches every restaurant type, Pizzeria only pizzerias.

Is the Foursquare data licensed for reuse?

The Foursquare Open Source Places data is published by Foursquare Labs, Inc. under the Apache License 2.0; each run stores Foursquare's notice as NOTICE in the run's key-value store.

Your feedback

Something missing or wrong? Open an issue on the Issues tab and we will look at it.

Data source and licence

Search rows: Foursquare OS Places, ยฉ 2025 Foursquare Labs, Inc. All rights reserved. The Foursquare OS Places dataset (the "Data") is licensed under the Apache License, Version 2.0; it is distributed "as is", without warranties or conditions of any kind. This actor reads the release unchanged except for formatting (field names, URL forms, lower-cased emails). Read through the public Source Cooperative mirror. City lookup uses GeoNames (CC BY 4.0).