VOOZH about

URL: https://apify.com/corent1robert/espaces-atypiques-agents

⇱ Espaces Atypiques Β· Full profiles infos (emails, phones) Β· Apify


πŸ‘ Espaces Atypiques Β· Full profiles infos (emails, phones) avatar

Espaces Atypiques Β· Full profiles infos (emails, phones)

Pricing

from $9.99 / 1,000 results

Go to Apify Store

Espaces Atypiques Β· Full profiles infos (emails, phones)

Export Espaces Atypiques team members from public agency pages: names, emails, phones, photos, job titles, and bios. Director vs staff grouping for CRM. Run all French agencies from the sitemap or paste specific agency URLs. No login or API key.

Pricing

from $9.99 / 1,000 results

Rating

0.0

(0)

Developer

πŸ‘ Corentin Robert

Corentin Robert

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 months ago

Last modified

Share

Espaces Atypiques β€” agency team export

Who it’s for: sales, recruiters, and analysts who need a single CRM-ready table of everyone published on Espaces Atypiques agency β€œteam” pages β€” no login, no API key (public website only).

What you get per person: name, job title, director vs staff band, email, phone, photo URL, long biography text, office label, and the agency page URL you can cite or revisit. Rows without an email are not exported (dataset / CSV), so you only get contactable leads.

Why one Actor: the site lists many agencies; this scraper starts from the public agency sitemap (same kind of list search engines use), fetches each French agency page, and reads the team block. You can also paste a handful of agency URLs for a quick test or a sub-region.


How to run (Apify Console)

  1. Choose Sitemap (full France) or URLs (your list).
  2. Optional: in Input JSON, set maxAgencies to a small number (e.g. 5) for a quick test; or pass maxResults (API) when maxAgencies is 0 to mirror the France realty hub β€” sitemap only. Defaults are no cap on agencies and on listing fiches in fallback mode.
  3. Start the run; open the Dataset or Run log when it finishes.

Input

KeyTypeDefaultPurpose
modesitemap | urlssitemapFull sitemap vs pasted agency pages
startUrlsarray of { "url": "…" }[]French agency page URLs (URLs mode)
maxAgenciesinteger0Sitemap: cap office pages; 0 = use maxResults if set, else no cap. URLs: 0 = all pasted URLs; 1+ caps the list.
maxResultsinteger(none)API / automation only (not in Console schema). Sitemap: when maxAgencies is 0, caps how many agency pages to load (same as hub Max rows). Ignored in URLs mode.
maxListingPagesinteger0Listings fallback: max ventes/… pages per agency (0 = no cap; 1–200 to limit)
listingConcurrencyinteger6Parallel ventes/… fetches per agency in fallback
concurrencyinteger25Parallel agency page fetches (bounded)
fetchTimeoutinteger60000Per-request timeout (ms)
proxyConfigurationobject(Apify)Optional proxy; same pattern as other Actors on the Apify platform

additionalProperties: true β€” you can pass extra keys from the API if you automate runs.

Example (quick test, Input JSON):

{
"mode":"sitemap",
"maxAgencies":5,
"concurrency":10
}

Example (specific agencies):

{
"mode":"urls",
"startUrls":[{"url":"https://www.espaces-atypiques.com/paris-rive-gauche/"}],
"concurrency":5
}

Output fields (main)

FieldMeaning
sourceKeyStable id (email-based, or path + name if email missing)
firstName / lastName / fullNameNormalized for export: prΓ©nom in title case (fr-FR), nom in MAJUSCULES; fullName is PrΓ©nom NOM
jobTitleRaw line under the name on the site
roleCategorydirector, associate_director, advisor, support, other, unknown (heuristic)
banddirector (management) vs employee (includes advisors and unknown titles)
isDirector / isEmployeeBooleans derived from band
email / phoneWhen shown on the card; phone is normalized to +33 X XX XX XX XX (French numbers, 0… β†’ +33 …)
agencyNameOffice label to use in exports: from the page h1 when specific; otherwise from the last URL segment (city slug) when the heading is generic (e.g. Nos collaborateurs)
agencyNameRawFirst h1 / header text used before resolution (for debugging)
agencyPathPath on the site, e.g. /grand-est/strasbourg/
agencyUrlRegionFirst path segment (area). On single-segment agency URLs (/blois/), it is the same slug as the city column so the field is never empty.
agencyUrlCitySlugLast path segment (city slug as on the site)
agencyLabelSub-label on the card (e.g. office name)
agencyPageUrlSitemap / input agency URL (stable office id)
dataFetchedFromSet when cards were read from …/collaborateurs/ instead of the home page
photoUrl / bioImage and biography text when present

Role detection uses French titles (normalized): e.g. Directeur d’agence β†’ director band; Conseiller β†’ staff. Titles the parser does not recognise are kept in jobTitle and classified as other.


Local development

cd espaces-atypiques-agents-scraper
npminstall
echo'{"mode":"sitemap","maxAgencies":2,"concurrency":3}'> input.json
apify run --input-file=./input.json

If the CLI expects storage/key_value_stores/default/INPUT.json, use --input-file as above, or add a valid INPUT.json that matches the schema. After a run with a non-empty dataset, a semicolon CSV (UTF-8 BOM) is written to output.csv in the project root. Rows are sorted by agency path, then last name, first name, email. Columns are fixed (no dynamic Extra: fields); sourceKey is the last column; roleCategory remains on the dataset record but is omitted from the CSV to avoid overlap with band / jobTitle.


How it works (technical)

  1. Sitemap mode: GET /sitemap_index.xml β†’ find agence-sitemap.xml β†’ GET that file β†’ keep <loc> URLs that are not under /en/ (French pages only).
  2. Fetch each agency home page (bounded concurrency, retries; redirects are followed).
  3. Parse the team from .preview-collaborateur (prefer #equipe-trombi) when a mailto is present.
  4. If the home page has no team block, do not call /collaborateurs/ (it often redirects to a national page). Instead, collect ventes/… URLs from the home grid (#annonces-localisations, #biens, .biens-localisation) and from the CTA that points to /ventes/?pl=… (hidden pl in the form): the Actor follows paginated search results (/ventes/page/2/?pl=…, etc.) until it has enough links or there is no next page. Then it opens each listing and parses the negotiator card (name, phone, email β€” including mailto in HTML comments). Total opened listings are capped by maxListingPages (default 0 = no cap; set 1–200 to limit each office β€” useful for smoke tests). Large full runs use more time and Apify resources. Internal safety still stops after many WordPress list pages per pl filter. listingConcurrency controls parallel listing fetches per agency.
  5. Dedupe rows by sourceKey (email) and push to the default dataset. agencyPageUrl is always the sitemap office URL; dataFetchedFrom points at the listing URL when the row came from the listings fallback.

Compliance

Data is taken from public pages. You are responsible for using it in line with applicable law, the site’s terms, and GDPR (prospecting rules, contact preferences).


Support & custom work

corentin@outreacher.fr

You might also like

BSK Consultants Β· Full profiles infos (emails, phones)

corent1robert/bsk-immobilier-consultants

Export BSK advisors from the public directory: names, emails, phones, RSAC, cities, social links. Full France via API or paste profile URLs. CRM-ready. Custom: corentin@outreacher.fr

πŸ‘ User avatar

Corentin Robert

2

Efficity Consultants Β· Full profiles infos (emails, phones)

corent1robert/efficity-consultants

For sales teams and CRM projects: export Efficity independent real estate consultants across France β€” names, phones, emails, areas, Immodvisor signals, services, and full profile text. Paste profile URLs or run the full directory in one click. Contact corentin@outreacher.fr for custom integrations.

πŸ‘ User avatar

Corentin Robert

2

Safti Consultants Β· Full profiles infos (emails, phones)

corent1robert/safti-france-consultants

Export SAFTI advisors from the public finder: contacts, RSAC, areas, listings, socials, bios. Full France run or paste profile URLs. CRM-ready. Custom work: corentin@outreacher.fr

πŸ‘ User avatar

Corentin Robert

5

Contact Details Scraper – (Emails, Phones & Socials)

khadinakbar/contact-details-scraper

Extract emails, phones, WhatsApp & 14 social profiles from any website. Supports direct URLs and natural-language search queries.

29

Contact Info Scraper β€” Extract Emails & Phones from Websites

lanky_quantifier/contact-info-scraper

Extract emails, phone numbers, and social profiles (LinkedIn, Twitter, Facebook, Instagram, YouTube, TikTok, GitHub) from any website. Crawls contact pages, footers, and team pages. B2B lead gen and CRM enrichment.

57

eXp France Consultants Β· Full profiles infos (emails, phones)

corent1robert/exp-france-agents

Export eXp France advisors from the same public directory the official site uses: names, emails, phones, cities, RSAC, licence, profile links on expfrance.fr, photos. Filter Active-only or all statuses. CRM-ready JSON. Custom work: corentin@outreacher.fr

πŸ‘ User avatar

Corentin Robert

2

B2B Lead Scraper - Emails, Phones & Contacts

logiover/b2b-lead-scraper

Scrape B2B emails, phones & decision-makers by sector + country. Apollo alternative, no login, export verified leads to CSV/JSON. Email-pattern finder.

Website Email Scraper β€” Emails, Phones & Socials

jurassic_jove/website-email-extractor

Pull emails, phones, and social links from any website. Auto-follows Linktree and bio pages β€” no manual digging.

362

B2B Lead Finder – Verified Emails, Phone & Google Maps Data

khadinakbar/b2b-lead-finder-enrichment

Extract business names, phones, ratings & verified emails from Google Maps. CRM-ready JSON. No Apollo needed. Run via API, schedule, or integrate with any tool.

63

DesignRush B2B Agency Scraper

haketa/designrush-scraper

DesignRush scraper & API: find marketing, design and development agencies by category and location and export agency name, rating and reviews, hourly rate, min budget, team size, location and website. B2B agency discovery and lead generation β€” fast, no login.