Gym Lead Scraper - Maps Social Booking (Unofficial) avatar

Gym Lead Scraper - Maps Social Booking (Unofficial)

Pricing

from $4.00 / 1,000 place leads

Go to Apify Store
Gym Lead Scraper - Maps Social Booking (Unofficial)

Gym Lead Scraper - Maps Social Booking (Unofficial)

UNOFFICIAL Google Maps gym lead scraper: Instagram/TikTok/Facebook, booking tech, gym type, amenities, phones and emails. Not affiliated with Google. No AI. Follow Apify AUP, privacy and anti-spam laws. Not for unsolicited mass messaging.

Pricing

from $4.00 / 1,000 place leads

Rating

0.0

(0)

Developer

Viv K

Viv K

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Gym Lead Scraper – Maps Social Booking (Unofficial)

Build CRM-ready fitness leads from Google Maps: gyms, CrossFit boxes, yoga and pilates studios, boutique studios, combat gyms, and personal-training spaces. Beyond the basic listing, each result can include Instagram / TikTok / Facebook, a detected booking or membership stack (Mindbody, Wodify, PushPress, Glofox, and similar), a gym type label, amenity and free-trial signals, validated phones, and public website emails (optional free MX check on the domain).

No AI language models. No Google Places API key required.

UNOFFICIAL — not affiliated with, endorsed by, or sponsored by Google LLC. Google Maps is a trademark of Google LLC.
You are solely responsible for complying with Google’s Terms of Service, privacy laws (GDPR/CCPA), anti-spam rules (CAN-SPAM/CASL), website terms, and Apify’s Acceptable Use Policy.
Do not use for unsolicited mass messaging. Scraping Google Maps may violate Google’s contractual terms even when data is publicly visible.


What you get

This Actor is built for fitness marketing agencies, gym software vendors, supplement and apparel brands, equipment suppliers, and local lead teams who need more than a phone number:

LayerExamples
Maps listingName, address, phone, website, rating, reviews, hours, Maps URL, unclaimed signal
Social presenceInstagram handle + URL, TikTok, Facebook (from public site links only)
Booking technologyMindbody, Wodify, Momence / Mariana Tek, Zen Planner, PushPress, Glofox, TeamUp, Pike13, GymMaster, Vagaro, and more
Studio typeCrossFit, Yoga, Pilates, Cycling, Barre, Martial Arts / Combat, Climbing, Dance Fitness, PT studio, Strength & Conditioning, Boutique, Traditional Gym
Offers & amenitiesFree trial, 24/7 access, personal training, sauna, pool, childcare, group classes
ContactE.164 phones, public emails, optional MX domain check
PrioritizationOpportunity score HOT / WARM / COLD plus contactability & intelligence scores

Contacts, social profiles, and software signals are taken only from Google Maps and text/links that appear on public website pages. Nothing is invented by AI.


Features

  • Search Google Maps by city, region, or ZIP and fitness keywords
  • Pull core place fields: name, address, phone, website, rating, review count, category, hours, coordinates, Maps URL
  • Flag unclaimed listings when Maps shows claim-style language
  • Crawl public pages (home, contact, classes, membership, booking, trial…) for deeper signals
  • Extract Instagram, TikTok, and Facebook with handle validation (junk paths like reel / explore filtered out)
  • Detect booking / CRM widgets from scripts, iframes, and membership links
  • Classify gym archetype from name, Maps category, search query, and page text
  • Detect amenities and marketing offers (free trial, 24/7, PT, sauna…)
  • Note pricing / membership and class schedule page signals when visible
  • Normalize phones with country-aware parsing (E.164 + national format)
  • Collect public emails; optional free MX check (domain can receive mail — not mailbox proof)
  • Score each lead for sales opportunity (missing Instagram, no website, no booking stack → higher score)
  • Filters: phone only, email only, Instagram only, any social, booking stack only, include/exclude no website

How to use

  1. Add one or more locations (city or ZIP), e.g. Austin, TX.
  2. Add search terms, e.g. gyms, crossfit, yoga studio, pilates, martial arts.
  3. Keep Max results per query modest on the first run (default is 5; try 10–20 once proxy works).
  4. Leave social graph, booking detection, gym type, and amenities on for full intelligence (or turn off what you do not need).
  5. Turn on Extract emails / MX check if you want website contacts.
  6. Set proxy to Apify Proxy → RESIDENTIAL (strongly recommended for Maps).
  7. Click Start, then open the dataset and export CSV/JSON.

Example input

{
"locations": ["Austin, TX"],
"searchTerms": ["gyms"],
"maxPlacesPerQuery": 10,
"scanSocialGraph": true,
"detectBookingSystems": true,
"classifyGymType": true,
"detectAmenities": true,
"extractEmails": true,
"extractWebsitePhones": true,
"validateMxRecords": true,
"maxWebsitePagesPerPlace": 3,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Input fields

FieldDescription
Target locationsCities, states, or ZIPs to search
Search termsMaps keywords (gyms, crossfit, yoga studio…)
Max results per queryCap per location × term (defaults stay small for Store tests)
Max total placesOptional cap for the entire run
Extract Instagram / TikTok / FacebookSocial profiles from public website pages
Detect booking technologyFitness booking / membership software signatures
Classify gym archetypeStudio type label for segmentation
Detect amenities & offersFree trial, 24/7, PT, sauna, pool, childcare…
Extract emailsPublic emails from website pages
Extract website phonesExtra phones from tel: links and page text
Validate MXFree check that the email domain can receive mail
Max pages per websiteHow many public pages to open per domain
Min social confidenceDrop weak social matches (default 60)
Proxy for Google MapsPrefer RESIDENTIAL
FiltersPhone / email / Instagram / social / booking only; include places with no website

Output example

{
"query": "gyms in Austin, TX",
"businessName": "Iron Box Athletics",
"gymTypePrimary": "CrossFit",
"category": "Gym",
"address": "1200 E 6th St, Austin, TX 78702",
"primaryPhone": "+15125550142",
"primaryPhoneNational": "(512) 555-0142",
"hasPhone": true,
"website": "https://ironbox.example",
"emails": [
{
"email": "coach@ironbox.example",
"source": "mailto",
"confidence": 95,
"mxValid": true
}
],
"primaryEmail": "coach@ironbox.example",
"hasEmail": true,
"instagramHandle": "ironbox_austin",
"instagramUrl": "https://www.instagram.com/ironbox_austin",
"instagramConfidence": 95,
"hasInstagram": true,
"tiktokHandle": null,
"hasTikTok": false,
"facebookUrl": "https://www.facebook.com/IronBoxAustinGym",
"hasFacebook": true,
"bookingSystems": [
{
"provider": "Mindbody",
"category": "fitness_booking",
"confidence": 91
}
],
"primaryBookingSystem": "Mindbody",
"hasBookingSystem": true,
"amenities": ["Free Trial", "Personal Training", "Group Classes"],
"hasFreeTrialOffer": true,
"hasPricing": true,
"hasSchedule": true,
"is24_7": false,
"leadScore": 48,
"leadTier": "COLD",
"leadReasons": [
"Instagram present — strong social foothold",
"Booking system detected — possible upsell / integration play"
],
"contactabilityScore": 42,
"intelligenceScore": 45,
"leadQualityScore": 87,
"rating": 4.8,
"reviewsCount": 214,
"isUnclaimed": false,
"googleMapsUrl": "https://www.google.com/maps/place/...",
"scrapedAt": "2026-08-10T12:00:00.000Z"
}

How to read lead tiers

TierTypical meaning
HOTWeak digital footprint — often no website, no Instagram, unclaimed Maps, or no booking stack (high opportunity for agencies / software)
WARMSome presence, but clear gaps (e.g. site without Instagram, missing schedule/pricing, thin reviews)
COLDStronger stack already (social + booking + contacts) — still useful for research, partnerships, or competitive lists

Scores are heuristics to help you prioritize outreach. They are not purchase intent scores and are not guaranteed.


Pricing

This Actor uses pay per event + platform usage. You pay both:

  1. Event fees (below) — paid to the Actor developer
  2. Platform usage — paid to Apify for compute, data transfer, storage, and proxies

Platform usage & residential proxy (important)

  • Google Maps discovery runs a real browser. That traffic is much heavier than simple HTTP scrapes.
  • For reliable Maps results, use Apify Proxy → RESIDENTIAL.
  • Residential traffic is billed by Apify per GB (rate depends on your plan; often roughly $7–$8 / GB on lower plans — check your plan).
  • On short test runs, proxy + compute usually cost more than event fees.
  • Start small: 1 location × 1 keyword × low max results before multi-city jobs.
  • Without residential proxy you often get 0 Maps results (you avoid that proxy charge, but you also get little or no data).

Event fees

EventWhen chargedPrice
Place lead (placeLead)Each fitness business saved to the dataset$0.004 ($4.00 per 1,000)
Phone enrichment (phoneLead)Lead has at least one validated phone$0.005 ($5.00 per 1,000)
Instagram enrichment (instagramLead)At least one Instagram profile found$0.006 ($6.00 per 1,000)
Booking technology (bookingTechLead)At least one booking/CRM signature found$0.006 ($6.00 per 1,000)

A small Actor start fee may also apply in Console (platform setting). Do not also charge per dataset row on top of these events, or you may be double-billed for the same lead.

Event fee examples (platform usage — including residential proxy — is extra)

Result mixApprox. event cost only
1,000 places, phones only, no Instagram / booking$4.00 places + $5.00 phones ≈ $9.00 + usage
1,000 places, all with phone + Instagram$4 + $5 + $6 ≈ $15.00 + usage
1,000 places, ~50% Instagram, ~30% booking, all phones$4 + $5 + ~$3 + $1.80 ≈ **$13.80 + usage**

Total cost scales with locations × keywords × max results, website pages crawled, residential proxy GB, and compute. Defaults stay small for Store auto-tests and inexpensive first runs.


Tips

  • Always verify residential proxy on a 3–5 place test before large city lists.
  • Boutique studios and CrossFit boxes often expose richer Instagram + booking signals than big-box chains.
  • Use search terms that match your offer (yoga studio, crossfit, bjj) for cleaner archetypes.
  • Raise max website pages only when you care about membership/booking pages (more pages = more time and cost).
  • Filter to only with Instagram or only with booking tech when building narrow lists for social or SaaS outreach.
  • Many independent gyms hide email behind a form — check phones and socials even when primaryEmail is empty.
  • More cities × more keywords × higher max results = longer runs and higher proxy + compute cost.

Compliance & acceptable use

By running this Actor you agree to use it only for lawful purposes and in line with:

This Actor is designed for public business information only. It does not:

  • Bypass logins, CAPTCHAs, paywalls, or member-only areas
  • Access private booking dashboards or authenticated APIs
  • Invent contacts or fabricate reviews
  • Send messages on your behalf

Business emails and phone numbers may still be personal data under privacy law. You are responsible for lawful collection, storage, and outreach. Do not use this Actor for spam, phishing, harassment, or other illegal activity. This is not legal advice.


Limitations

  • Google Maps may block or throttle non-residential traffic.
  • Social links or booking widgets that load only after heavy client-side JavaScript may be missed.
  • Booking detection is signature-based: custom or fully offline systems may not appear; shared scripts can occasionally over-match.
  • Gym type is inferred from public text and labels — it is not an official Google category.
  • Social accounts are not verified as active, official, or owned by the business.
  • Emails hidden in images, PDFs, or complex apps may be missed.
  • mxValid checks the domain, not that a specific mailbox is active or monitored.
  • Maps does not return unlimited listings for every area; results can change over time as the Maps UI changes.

Troubleshooting

ProblemWhat to try
0 resultsEnable RESIDENTIAL proxy; lower max results; try another city; check the run log for blocks/consent
Places but no InstagramCommon when the site never links socials; crawl more pages; lower min social confidence slightly
Places but no booking systemStack may be fully JS-rendered, white-label, or offline — not always detectable from HTML
Places but no emailsMany gyms are form-only; use phone + socials; raise website page count
Slow or costly runFewer locations/terms; lower max places and pages; residential GB is usually the big cost
Empty after filtersTurn off “only with Instagram / booking / email” for testing
Odd gym typeArchetype is heuristic — use category and searchTerm as secondary fields

Support

Open an Issue on this Actor with:

  1. Run ID
  2. Input JSON (remove tokens and secrets)
  3. What you expected vs what you got

We do not need your Apify token or proxy passwords.