FFGolf Golf Clubs · French Directory
Pricing
from $5.24 / 1,000 club rows
FFGolf Golf Clubs · French Directory
Export French golf club contacts from FFGolf. Names, emails, phones, GPS and websites — one row per club. Public directory. No login. No API key.
Pricing
from $5.24 / 1,000 club rows
Rating
0.0
(0)
Developer
Corentin Robert
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
18 days ago
Last modified
Categories
Share
Export French golf club contacts from the public FFGolf (Fédération Française de Golf) guide. Pick a department (or nationwide) and get one row per club: name, address, published email and phone, GPS, website and social links when the club published them.
No login. No API key. No federation account.
Who is this for?
| You are… | Typical goal | Suggested setup |
|---|---|---|
| Golf equipment or apparel brand | Prospect list of clubs that buy balls, clubs, range gear | One department first, then All departments |
| Corporate outing / event planner | Courses that can host a day or a tournament | Île-de-France (78, 91, 92, 95) or your département |
| Agency / outbound | CRM feed with mailbox and phone | Overview or Outreach CRM view |
| Local authority / tourism | Territory map of golf clubs | One code, then neighbours |
| Data / ops | Scheduled master table of the federation | departments: ["ALL"], maxItems: 0 |
What you get by default. Club name, department, address, GPS, guide page, website when the club published one. Email and phone only when the federation published them — generic federation mailboxes (@ffgolf.org) are skipped. This Actor never invents a mailbox.
Paris vs neighbouring departments. Paris (75) is a small list (a handful of clubs). For more Île-de-France courses, add 78 (Yvelines), 92, 91 or 95. The default Try input stays on 75 so the first run is short.
When to go nationwide. Use All departments on a paid plan with maxItems: 0. Corsica (2A / 2B) and overseas departments are included.
How to use
- Open the Actor in Apify Console.
- Pick one or more departments, or All departments.
- Keep Max clubs at 20 for a first run (Free plan is always 20 per run). Set 0 on a paid plan for a full export of the selection.
- Click Start. Rows appear in the Dataset while the run is still listing other departments.
Ready-made examples (published tasks)
Saved task presets (landing pages go live after Console publish):
| Example | Best for |
|---|---|
| Paris golf clubs with published contacts | First run / intra-muros |
| Yvelines golf clubs from the FFGolf guide | Île-de-France courses |
| La Réunion FFGolf golf club directory | Overseas department |
| Rhône golf clubs, CRM-ready emails and phones | CRM import |
What it extracts
| Category | Fields |
|---|---|
| Identity | Club name, federation golf code, club id |
| Location | Department, town, postcode, address, GPS |
| Contact | Email, phone (when published) |
| Web | Club website, Facebook, Instagram, guide page |
Typical coverage
On a 5-club Paris smoke run, every row has a club name, department and guide URL when the listing published them. Email and phone follow what the federation shows on the club page — empty fields are omitted. This Actor never invents a mailbox or a number.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
departments | array | ["75"] | Department codes, or ALL for nationwide including Corsica. Omitted = Paris. Empty array = nationwide. |
maxItems | integer | 20 | 0 = no row ceiling. Free plan: 20 / run. |
delayBetweenRequests | integer | 80 | Pause between club pages (ms). |
maxConcurrency | integer | 4 | Club pages in parallel (1–8). |
Examples
Paris (Try):
{ "departments": ["75"], "maxItems": 20 }
Yvelines (more courses than Paris):
{ "departments": ["78"], "maxItems": 5 }
Nationwide, paid plan, no row ceiling:
{ "departments": ["ALL"], "maxItems": 0 }
Corsica (2A / 2B) and Réunion:
{ "departments": ["2A", "2B", "974"], "maxItems": 0 }
Output sample
{"clubId": "4114","structureNumber": "0001","structureName": "LE GOLF NATIONAL","departmentNumber": "78","town": "GUYANCOURT","postalCode": "78280","address": "2 avenue du Golf","latitude": 48.7545979,"longitude": 2.0739456,"contactEmail": "accueil@golf-national.com","contactPhone": "01 30 43 36 00","website": "https://www.legolfnational.com/","instagramUrl": "https://www.instagram.com/legolfnational/","url": "https://www.ffgolf.org/parcours-detours/guide-des-golfs/le-golf-national"}
You can download the dataset as JSON, HTML, CSV or Excel.
How it works
- Reads the public FFGolf golf guide for each selected department.
- Opens each club page for address, email, phone, website and social links.
- Deduplicates clubs by identifier.
- Writes each row to the dataset as soon as it is complete.
How much does it cost to scrape FFGolf clubs?
HTTP-only — no browser. You pay pay-per-event on the Store: about $0.00749 per exported club plus a negligible run start.
| Scenario | Approx. cost |
|---|---|
| 20 clubs (Try / Free plan) | ~$0.15 |
| 1,000 clubs | ~$7.49 |
Full selection with maxItems: 0 | $0.00749 × clubs exported |
Is scraping FFGolf free?
Apify Free plan users get 20 clubs per run. Paid plans follow PPE and your max charge. Compute is cheap because this Actor does not launch a browser.
Is it legal to scrape FFGolf?
This Actor only accesses data that FFGolf makes publicly available in its golf guide. As with any data containing personal information, ensure your use complies with GDPR and relevant regulations.
Local development
cd ffgolf-clubs-scrapernpm installapify run --input-file=./.actor/INPUT.json
Smoke (departments that actually have golf; Paris has a few clubs, Yvelines has more):
apify run --input '{"departments":["75"],"maxItems":5}'# or: apify run --input '{"departments":["78"],"maxItems":5}'
storage/key_value_stores/default/INPUT.json must satisfy the input schema, or pass --input-file. On local apify run, platform/CLI input overwrites overlapping keys from a root input.json.
Support
Contact corentin@outreacher.fr if you need a custom scraper or tailored automation.
Also available
Also available as a pack: France Sports Clubs hub — merge several federations into one dataset.
Same job (French department → published club contacts). One Actor per federation.
| Sport | Actor |
|---|---|
| Hiking (FFRandonnée) | ffr-clubs-scraper |
| Athletics (FFA) | ffa-clubs-scraper |
| Judo (FFJDA) | ffjda-clubs-scraper |
| Rugby (FFR) | ffr-rugby-clubs-scraper |
| Equestrian (FFE) | ffe-clubs-scraper |
| Swimming (FFN) | ffn-clubs-scraper |
| Basketball (FFBB) | ffbb-clubs-scraper |
| Handball (FFHandball) | ffhandball-clubs-scraper |
| Volleyball (FFVolley) | ffvolley-clubs-scraper |
| Climbing (FFME) | ffme-clubs-scraper |
| Canoe (FFCK) | ffck-clubs-scraper |
| Golf (FFGolf) | ffgolf-clubs-scraper |
| Chess (FFÉchecs) | ffechecs-clubs-scraper |
| Gymnastics (FFGym) | ffgym-clubs-scraper |
| Badminton (FFBaD) | ffbad-clubs-scraper |
| Football (FFF) | fff-clubs-scraper |