# Figma Community Email Scraper (`neuro-scraper/figma-community-email-scraper`) Actor

Figma Community Email Scraper SD - Figma Community Email Scraper is a lead generation tool that extracts leads with public contact emails, account names and profile URLs from Figma Community results by keyword, location and email domain - Figma Community email extractor.

- **URL**: https://apify.com/neuro-scraper/figma-community-email-scraper.md
- **Developed by:** [Neuro Scraper](https://apify.com/neuro-scraper) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.49 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### Figma Community Email Scraper - extract designer contact emails from Figma Community results

The **Figma Community Email Scraper** is an Apify Actor that collects publicly indexed contact emails tied to Figma Community files, templates and author profiles. You supply keywords, optional location and the email domains you care about, and it returns a clean dataset of design leads.

One honest caveat up front, because it shapes how you should read every row. **Figma indexes community files and templates far more than author profiles, so most rows carry the email published on a file page rather than a designer handle.**

That is still exactly what a lot of teams want from the Figma Community Email Scraper: the address a UI-kit author put in their file description so people could license, commission or credit their work.

#### What the Figma Community Email Scraper actually reads

The Figma Community Email Scraper reads **only what Google has already indexed** on `figma.com`. It builds Google queries with the `site:` operator, fetches result pages through the Apify GOOGLE\_SERP proxy, and extracts emails from titles and snippets.

It does **not** log into Figma, call the Figma API, or open a file in the editor. There is no browser, no JavaScript rendering, no authentication and no cookies anywhere in the pipeline.

Community file descriptions are where designers write "commissions open" and an address. When Google indexes that description, the Figma Community Email Scraper can find it.

#### Who the Figma Community Email Scraper is built for

Design-system teams looking for kit authors, product studios hiring UI designers, plugin makers seeking distribution partners, and agencies doing design lead generation all need the same thing: a repeatable way to turn a design niche into contactable authors.

The Figma Community Email Scraper turns "design system, Gmail addresses" into rows you can filter, dedupe and export as CSV, JSON or Excel, or pull straight from the Apify API.

***

### Key features of the Figma Community Email Scraper

| Feature | What it does |
|---|---|
| Google `site:` dorking | Queries `figma.com` through the Apify GOOGLE\_SERP proxy |
| Query expansion | Runs base, quoted and `intitle:` variants plus one variant per query modifier; base queries run first |
| Domain-filtered extraction | Keeps only emails ending in your `customDomains` values |
| Global deduplication | One row per unique email across every query and every page of the run |
| Obfuscation handling | Understands `name [at] domain [dot] com`, `name (at) domain`, `name @ domain.com`, `domain .com`, zero-width characters and the full-width `＠` |
| Junk filter | Rejects placeholders such as `email@`, `yourname@`, `test@`, `xxx@` and single-character locals |
| Boundary-correct matching | `@gmail.com` never matches inside `@gmail.company` or `@gmail.com.br` |
| Soft-wrap repair | Drops a hit that is only the tail of another email in the same result block |
| Structural parsing | Locates the `<h3>` title then the smallest surrounding block, instead of relying on Google's CSS class names |
| Community path awareness | Skips the `/community/` path segment when resolving a designer handle |
| Whole-page fallback | If Google's markup changes, the run degrades to "emails without account details" rather than "no emails" |
| Block detection | CAPTCHA, "unusual traffic" and consent pages are detected and retried, not counted as empty |
| Retries and backoff | Up to 3 attempts per page with exponential backoff and a fresh proxy session per request |
| Requeue of failures | Blocked or failed queries are re-queued once at the end of the run |
| Async concurrency | An `asyncio` worker pool with a shared stop signal on `maxEmails` |
| Resumable state | Progress is stored in the key-value store keyed by a hash of the input, with throttled saves plus saves on `PERSIST_STATE`, `MIGRATING` and `ABORTING` |
| Streaming output | Every lead is pushed to the dataset immediately, so partial results survive an abort |
| Run summary | Logs pages fetched, blocked pages, retries and emails per page |

***

### How the Figma Community Email Scraper works

The pipeline behind the Figma Community Email Scraper is deliberately simple, which is why it runs quickly and is hard to break.

1. The Figma Community Email Scraper reads your input: keywords, location, email domains and limits.
2. It builds Google queries with the `site:` operator, for example `site:figma.com ui kit "@gmail.com"`.
3. It fetches Google result pages asynchronously through the Apify GOOGLE\_SERP proxy using `aiohttp`.
4. It parses each result block structurally, finding the `<h3>` title and the smallest block around it.
5. It extracts emails from the block text with a domain-filtered regex.
6. It deduplicates globally and pushes each lead straight to the Apify dataset.

#### Why query expansion matters for design outreach

Google caps a single query at roughly 300 results, so one query has a hard ceiling no matter how many pages you allow.

Query expansion is how the Figma Community Email Scraper gets past that ceiling: each keyword is combined with each email domain in several phrasings, and every variant carries its own result budget.

The default `queryModifiers` are `email`, `contact`, `inquiries`, `hire` and `work with me` - the exact phrases designers write next to an address when they are open to commissions.

#### What the Figma Community Email Scraper does not do

It does not log into Figma, use the Figma API, open or render a design file, read comments, or reach anything that is not already public in Google's index.

It is an independent Apify Actor and is not affiliated with, supported by or endorsed by Figma.

***

### Figma Community Email Scraper input fields

Every field the Figma Community Email Scraper accepts is optional except `keywords`. Defaults are exactly those shipped in the Actor's input schema.

| Field | Type | Default | Meaning |
|---|---|---|---|
| `keywords` | array (required) | `["designer", "ui kit"]` | Search terms describing the Figma Community authors or files you want |
| `location` | string | `""` | Optional location phrase added to every query |
| `customDomains` | array | `["@gmail.com", "@yahoo.com"]` | Only emails on these domains are kept; the leading `@` is 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", "inquiries", "hire", "work with me"]` | 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 Figma Community Email Scraper input

```json
{
  "keywords": ["design system", "mobile ui kit", "figma plugin author"],
  "location": "Lisbon",
  "customDomains": ["@gmail.com", "@proton.me"],
  "maxEmails": 400,
  "countryCode": "PT",
  "expandQueries": true,
  "queryModifiers": ["email", "contact", "inquiries", "hire", "work with me"],
  "maxPagesPerQuery": 30,
  "maxConcurrency": 5
}
```

#### Tuning the Figma Community Email Scraper for better yield

Artefact language beats role language when you feed the Figma Community Email Scraper. `design system`, `wireframe kit`, `dashboard template`, `icon set` and `figma plugin` mirror how community files are titled, so they surface far more indexed pages than `designer`.

Add more email domains before adding more keywords. Each extra domain multiplies the number of distinct queries, and each query brings its own result budget.

Keep `expandQueries` on. The commission-flavoured modifiers - `hire`, `inquiries`, `work with me` - are what pull file descriptions that actually contain an address.

***

### Figma Community Email Scraper output fields

Every dataset item the Figma Community Email Scraper produces carries all 14 fields below. Fields are never dropped; they are empty or `null` when Google did not expose the value.

| 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 (designer handle, display name, or a file title) |
| `fullName` | Display name parsed from a profile-style title; empty for file page titles |
| `username` | URL-safe designer handle when one is exposed; otherwise `null` |
| `profileUrl` | Canonical `https://www.figma.com/@{username}` URL when a handle is known; otherwise empty |
| `url` | Direct platform link when exposed, else the profile URL |
| `description` | Bio or file description snippet, cleaned of labels and engagement counters |
| `email` | Lower-cased email address |
| `emailDomain` | The matched domain, for example `@gmail.com` |
| `possiblyTruncated` | `true` when Google's snippet ellipsis touched the email - verify before sending |
| `foundAt` | ISO 8601 UTC timestamp |

#### Example Figma Community Email Scraper output

```json
[
  {
    "network": "Figma Community",
    "keyword": "mobile ui kit",
    "query": "site:figma.com mobile ui kit \"work with me\" \"@gmail.com\"",
    "title": "Aurora Mobile UI Kit - Figma Community",
    "accountName": "Aurora Mobile UI Kit",
    "fullName": "",
    "username": null,
    "profileUrl": "",
    "url": "https://www.figma.com/community/file/1394393065629302672/aurora-mobile-ui-kit",
    "description": "220 mobile screens with variables and auto layout. Custom kits and commissions: aurora.kits.studio@gmail.com",
    "email": "aurora.kits.studio@gmail.com",
    "emailDomain": "@gmail.com",
    "possiblyTruncated": false,
    "foundAt": "2026-08-31T09:14:22.481Z"
  },
  {
    "network": "Figma Community",
    "keyword": "design system",
    "query": "site:figma.com design system inquiries \"@proton.me\"",
    "title": "Meridian Design System v3 - Figma Community",
    "accountName": "Meridian Design System v3",
    "fullName": "",
    "username": null,
    "profileUrl": "",
    "url": "https://www.figma.com/community/file/1020079203222518115/meridian-design-system-v3",
    "description": "Tokens, components and documentation for product teams. Enterprise enquiries: meridian.systems@proton ...",
    "email": "meridian.systems@proton.me",
    "emailDomain": "@proton.me",
    "possiblyTruncated": true,
    "foundAt": "2026-08-31T09:14:29.113Z"
  },
  {
    "network": "Figma Community",
    "keyword": "figma plugin author",
    "query": "site:figma.com intitle:\"figma plugin\" contact \"@gmail.com\"",
    "title": "Rita Marques (@ritamarques) - Figma",
    "accountName": "ritamarques",
    "fullName": "Rita Marques",
    "username": "ritamarques",
    "profileUrl": "https://www.figma.com/@ritamarques",
    "url": "https://www.figma.com/@ritamarques",
    "description": "Product designer in Lisbon. Plugins and UI kits. Work with me: rita.marques.design@gmail.com",
    "email": "rita.marques.design@gmail.com",
    "emailDomain": "@gmail.com",
    "possiblyTruncated": false,
    "foundAt": "2026-08-31T09:15:03.902Z"
  }
]
```

The first two rows show the common case for the Figma Community Email Scraper: a community file page carries a real address but no designer handle, so `username` is `null` and `profileUrl` is empty. The third row - a resolved `@handle` profile - is the less frequent shape.

***

### Use cases for the Figma Community Email Scraper

| Use case | How the Figma Community Email Scraper helps |
|---|---|
| Design talent sourcing | Build a shortlist of UI-kit and design-system authors with work you can inspect first |
| Freelance and commission outreach | Reach authors who explicitly wrote "commissions open" or "work with me" in a file |
| Design tool marketing | Contact plugin and template authors when launching a design product or beta |
| Design-system partnerships | Find teams publishing token and component libraries in your category |
| Template licensing | Approach authors about licensing a kit for a product, course or marketplace |
| Community and speaker programmes | Assemble a contributor or speaker shortlist from a design topic |
| Ecosystem research | Measure how many community files in a niche publish a public contact address at all |
| Agency lead generation | Feed a design-services pipeline with authors whose output matches your positioning |

#### Working with file-level leads

Because most Figma Community Email Scraper rows come from file pages, treat `url` and `description` as your qualification signal rather than `profileUrl`. The file itself tells you the author's craft, scope and style before you write a word.

Open the file, mention it specifically, and the reply rate looks nothing like a generic design-services blast.

#### Covering the wider design and front-end ecosystem

Designers who publish on Figma usually publish elsewhere too. Pair the Figma Community Email Scraper with the [CodePen Email Scraper](https://apify.com/neuro-scraper/codepen-email-scraper) for the front-end side, and with the [Dev.to Email Scraper](https://apify.com/neuro-scraper/dev-to-email-scraper) when you want designers who also write.

***

### Expected results from the Figma Community Email Scraper

In live test runs against Google, roughly **8 out of 10 parsed Figma Community results carried an account identity** - a handle, a display name, or a clear file-level author label.

That identity rate is strong, but read it alongside the caveat: Figma indexes community files and templates far more than author profiles, so most rows carry the email published on a file page rather than a designer handle. Identity is often the file's author label, not a resolved `@username`.

Every Figma Community Email Scraper row still carries `email`, `emailDomain`, `url`, `description` and `query`. Volume depends on your keywords, domains and location - no yield is guaranteed.

***

### Limitations of the Figma Community Email Scraper

Read this before planning a campaign around Figma Community Email Scraper output.

- **File pages, not profiles.** Figma indexes community files and templates far more than author profiles, so most rows carry the email published on a file page rather than a designer handle. Plan your workflow around `url` and `description`.
- **Publicly indexed emails only.** The Figma Community Email Scraper finds an address only when it is already visible in Google's index. Addresses shared only inside file comments or private teams are out of reach.
- **Google's ~300-result cap.** A single query returns roughly 300 results maximum, which is exactly why `expandQueries` exists and why turning it off reduces volume.
- **`possiblyTruncated`.** When this is `true`, Google's snippet ellipsis touched the email and it may be cut off. Verify those rows before sending anything.
- **`username` and `profileUrl` can be empty.** They are populated only when a designer handle appears in the result; file titles usually name the artefact instead, leaving `accountName` filled but `username` `null`.
- **Apify GOOGLE\_SERP proxy required.** The Actor cannot run without Apify proxy credentials.
- **Free plan cap.** Free Apify plans are limited to 100 emails per run. Paid plans are uncapped.
- **Variable results.** Output depends on keywords, domains, location and Google's index, which changes over time. Two runs a month apart will not be identical.

***

### Responsible use

Addresses in Figma Community descriptions are published for project correspondence - licensing questions, commission enquiries, credit and attribution. Treat them that way.

If you contact people in the EU or UK, GDPR applies: have a lawful basis, identify yourself, say where you found the address, and honour opt-outs immediately. Respect Figma's community norms and any stated preference such as "no recruiters".

Designers talk to each other. A thoughtful note about one specific file will do more for you than a thousand identical sends.

***

### Figma Community Email Scraper FAQ

#### Why do so many rows have `username: null`?

Figma indexes community files and templates far more than author profiles, so most rows carry the email published on a file page rather than a designer handle. It is the expected shape of the data, not a parsing failure.

#### Does the Figma Community Email Scraper use the Figma API?

No. It parses Google search results for pages on `figma.com` that Google has already indexed. There is no API call, no login and no file fetch.

#### Does it need a Figma account?

No. There is no authentication, no browser, no JavaScript rendering and no cookies. The only credential required is your Apify account's GOOGLE\_SERP proxy access.

#### Where do the emails the Figma Community Email Scraper returns come from?

From the text Google prints in result titles and snippets - community file descriptions, template documentation blocks, and designer profile bios that expose an address publicly.

#### How many emails can the Figma Community Email Scraper return?

`maxEmails` accepts 1 to 10000 and defaults to 20. Free Apify plans are capped at 100 emails per run; paid plans are uncapped. Volume depends on your keywords and domains.

#### What does `possiblyTruncated: true` mean?

Google's snippet ellipsis touched the email, so the address may be incomplete. Verify those rows before you use them.

#### Can I restrict the Figma Community Email Scraper to studio domains?

Yes. Put the domains you want in `customDomains`, for example `["@studio.design", "@example.com"]`. Only emails ending in those domains are kept, and the leading `@` is optional.

#### Does it handle obfuscated addresses like `name [at] gmail [dot] com`?

Yes. The extractor normalises `[at]`, `(at)`, spaced `@`, spaced `.com`, zero-width characters and the full-width `＠`, and it filters placeholders such as `test@` and `yourname@`.

#### Can I target designers in one country?

Set `countryCode` to a two-letter code such as `US`, `GB` or `PT` to steer the search proxy, and put a city or region in `location` to append it to every query.

#### What happens if a Figma Community Email Scraper run is interrupted?

Progress is saved in the key-value store keyed by a hash of your input, with saves on `PERSIST_STATE`, `MIGRATING` and `ABORTING`. Leads are pushed to the dataset as they are found, so nothing already collected is lost.

#### Will it break when Google changes its HTML?

Parsing is structural rather than class-name based, and there is a whole-page fallback parser. A layout change degrades the run to "emails without account details" rather than "no emails".

#### Is the Figma Community Email Scraper affiliated with Figma?

No. It is an independent Apify Actor, and it is not supported, endorsed or affiliated with Figma.

***

### Related Actors

The Figma Community Email Scraper belongs to a Developer & Technology family of Apify Actors that all work the same way on different platforms. Run several to cover an ecosystem instead of a single site.

| Actor | What it collects |
|---|---|
| [Figma Community Email and Phone Number Scraper](https://apify.com/neuro-scraper/figma-community-email-and-phone-number-scraper) | Emails and phone numbers from Figma Community |
| [Figma Community Phone Number Scraper](https://apify.com/neuro-scraper/figma-community-phone-number-scraper) | Public phone numbers from Figma Community |
| [App Store Email Scraper](https://apify.com/leads-scraper/app-store-email-scraper) | Public contact emails from App Store |
| [Atlassian Marketplace Email Scraper](https://apify.com/leads-scraper/atlassian-marketplace-email-scraper) | Public contact emails from Atlassian Marketplace |
| [Bitbucket Email Scraper](https://apify.com/neuro-scraper/bitbucket-email-scraper) | Public contact emails from Bitbucket |
| [Chrome Web Store Email Scraper](https://apify.com/leads-scraper/chrome-web-store-email-scraper) | Public contact emails from Chrome Web Store |
| [CodePen Email Scraper](https://apify.com/neuro-scraper/codepen-email-scraper) | Public contact emails from CodePen |
| [Confluence Email Scraper](https://apify.com/neuro-scraper/confluence-email-scraper) | Public contact emails from Confluence |
| [Dev.to Email Scraper](https://apify.com/neuro-scraper/dev-to-email-scraper) | Public contact emails from DEV Community |
| [Docker Hub Email Scraper](https://apify.com/neuro-scraper/docker-hub-email-scraper) | Public contact emails from Docker Hub |
| [Firefox Add-ons Email Scraper](https://apify.com/neuro-scraper/firefox-add-ons-email-scraper) | Public contact emails from Firefox Add-ons |
| [GitHub Email Scraper](https://apify.com/leads-scraper/github-email-scraper) | Public contact emails from GitHub |
| [GitLab Email Scraper](https://apify.com/neuro-scraper/gitlab-email-scraper) | Public contact emails from GitLab |
| [Google Play Email Scraper](https://apify.com/leads-scraper/google-play-email-scraper) | Public contact emails from Google Play |
| [Hashnode Email Scraper](https://apify.com/neuro-scraper/hashnode-email-scraper) | Public contact emails from Hashnode |
| [HubSpot Marketplace Email Scraper](https://apify.com/leads-scraper/hubspot-marketplace-email-scraper) | Public contact emails from HubSpot Marketplace |
| [Hugging Face Email Scraper](https://apify.com/leads-scraper/hugging-face-email-scraper) | Public contact emails from Hugging Face |
| [Jira Email Scraper](https://apify.com/neuro-scraper/jira-email-scraper) | Public contact emails from Jira |
| [Maven Central Email Scraper](https://apify.com/neuro-scraper/maven-central-email-scraper) | Public contact emails from Maven Central |
| [Microsoft AppSource Email Scraper](https://apify.com/neuro-scraper/microsoft-appsource-email-scraper) | Public contact emails from Microsoft AppSource |
| [Salesforce AppExchange Email Scraper](https://apify.com/leads-scraper/salesforce-appexchange-email-scraper) | Public contact emails from Salesforce AppExchange |
| [Shopify App Store Email Scraper](https://apify.com/leads-scraper/shopify-app-store-email-scraper) | Public contact emails from Shopify App Store |
| [Slack App Directory Email Scraper](https://apify.com/leads-scraper/slack-app-directory-email-scraper) | Public contact emails from Slack App Directory |
| [SourceForge Email Scraper](https://apify.com/leads-scraper/sourceforge-email-scraper) | Public contact emails from SourceForge |
| [Stack Overflow Email Scraper](https://apify.com/leads-scraper/stack-overflow-email-scraper) | Public contact emails from Stack Overflow |
| [Unity Asset Store Email Scraper](https://apify.com/leads-scraper/unity-asset-store-email-scraper) | Public contact emails from Unity Asset Store |
| [Unreal Engine Marketplace Email Scraper](https://apify.com/leads-scraper/unreal-engine-marketplace-email-scraper) | Public contact emails from Unreal Engine Marketplace |
| [WordPress Plugin Directory Email Scraper](https://apify.com/neuro-scraper/wordpress-plugin-directory-email-scraper) | Public contact emails from WordPress Plugin Directory |
| [WordPress Theme Directory Email Scraper](https://apify.com/leads-scraper/wordpress-theme-directory-email-scraper) | Public contact emails from WordPress Theme Directory |
| [Zapier App Directory Email Scraper](https://apify.com/leads-scraper/zapier-app-directory-email-scraper) | Public contact emails from Zapier App Directory |
| [App Store Email and Phone Number Scraper](https://apify.com/leads-scraper/app-store-email-and-phone-number-scraper) | Emails and phone numbers from App Store |
| [Atlassian Marketplace Email and Phone Number Scraper](https://apify.com/neuro-scraper/atlassian-marketplace-email-and-phone-number-scraper) | Emails and phone numbers from Atlassian Marketplace |
| [Bitbucket Email and Phone Number Scraper](https://apify.com/neuro-scraper/bitbucket-email-and-phone-number-scraper) | Emails and phone numbers from Bitbucket |
| [Chrome Web Store Email and Phone Number Scraper](https://apify.com/neuro-scraper/chrome-web-store-email-and-phone-number-scraper) | Emails and phone numbers from Chrome Web Store |
| [CodePen Email and Phone Number Scraper](https://apify.com/neuro-scraper/codepen-email-and-phone-number-scraper) | Emails and phone numbers from CodePen |
| [Confluence Email and Phone Number Scraper](https://apify.com/neuro-scraper/confluence-email-and-phone-number-scraper) | Emails and phone numbers from Confluence |
| [DEV Community Email and Phone Number Scraper](https://apify.com/neuro-scraper/dev-to-email-and-phone-number-scraper) | Emails and phone numbers from DEV Community |
| [Docker Hub Email and Phone Number Scraper](https://apify.com/neuro-scraper/docker-hub-email-and-phone-number-scraper) | Emails and phone numbers from Docker Hub |
| [Firefox Add-ons Email and Phone Number Scraper](https://apify.com/neuro-scraper/firefox-add-ons-email-and-phone-number-scraper) | Emails and phone numbers from Firefox Add-ons |
| [GitHub Email and Phone Number Scraper](https://apify.com/leads-scraper/github-email-and-phone-number-scraper) | Emails and phone numbers from GitHub |
| [GitLab Email and Phone Number Scraper](https://apify.com/neuro-scraper/gitlab-email-and-phone-number-scraper) | Emails and phone numbers from GitLab |
| [Google Play Email and Phone Number Scraper](https://apify.com/leads-scraper/google-play-email-and-phone-number-scraper) | Emails and phone numbers from Google Play |

### Leave a review

If the Figma Community Email Scraper saved you time, please leave a star rating and a short
review on the Actor page.

Reviews are how other buyers judge whether a tool works, and they tell us which features to
build next.

If something did not work, email <neurodata.apify@gmail.com>
instead - bugs get fixed faster than they get complained about.

### Support

Questions, a bug, or a custom build of the Figma Community Email Scraper for your own domain list? Email **neurodata.apify@gmail.com** and we will get back to you.

# Actor input Schema

## `keywords` (type: `array`):

Search terms describing the Figma Community accounts you want (niche, job title, industry).

## `location` (type: `string`):

Optional location phrase added to every query (e.g. "New York").

## `customDomains` (type: `array`):

Only emails ending with one of these domains are collected. With or without the leading @. Each domain is searched separately, so more domains means more results but a longer run - remove some for a faster, narrower search, or add your own (e.g. @company.com).

## `maxEmails` (type: `integer`):

Stop once this many unique emails have been collected.

## `countryCode` (type: `string`):

Two-letter country code for the search proxy (e.g. US, GB, DE). Empty for any.

## `expandQueries` (type: `boolean`):

Search each keyword x domain pair with several phrasings. Recommended - Google caps a single query at ~300 results.

## `queryModifiers` (type: `array`):

Extra words combined with each keyword when Expand queries is on. Tuned for Figma Community.

## `maxPagesPerQuery` (type: `integer`):

Google rarely returns more than ~30 pages for one query.

## `maxConcurrency` (type: `integer`):

How many queries run in parallel.

## Actor input object example

```json
{
  "keywords": [
    "designer",
    "ui kit"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com",
    "@outlook.com",
    "@hotmail.com",
    "@icloud.com",
    "@aol.com",
    "@protonmail.com",
    "@live.com",
    "@gmx.com",
    "@mail.com",
    "@yandex.com",
    "@zoho.com"
  ],
  "maxEmails": 20,
  "countryCode": "",
  "expandQueries": true,
  "queryModifiers": [
    "email",
    "contact",
    "inquiries",
    "hire",
    "work with me"
  ],
  "maxPagesPerQuery": 30,
  "maxConcurrency": 5
}
```

# Actor output Schema

## `results` (type: `string`):

Records produced by Figma Community Email Scraper, stored in the run's default dataset.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "designer",
        "ui kit"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com",
        "@outlook.com",
        "@hotmail.com",
        "@icloud.com",
        "@aol.com",
        "@protonmail.com",
        "@live.com",
        "@gmx.com",
        "@mail.com",
        "@yandex.com",
        "@zoho.com"
    ],
    "countryCode": "",
    "queryModifiers": [
        "email",
        "contact",
        "inquiries",
        "hire",
        "work with me"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("neuro-scraper/figma-community-email-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keywords": [
        "designer",
        "ui kit",
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com",
        "@outlook.com",
        "@hotmail.com",
        "@icloud.com",
        "@aol.com",
        "@protonmail.com",
        "@live.com",
        "@gmx.com",
        "@mail.com",
        "@yandex.com",
        "@zoho.com",
    ],
    "countryCode": "",
    "queryModifiers": [
        "email",
        "contact",
        "inquiries",
        "hire",
        "work with me",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("neuro-scraper/figma-community-email-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "designer",
    "ui kit"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com",
    "@outlook.com",
    "@hotmail.com",
    "@icloud.com",
    "@aol.com",
    "@protonmail.com",
    "@live.com",
    "@gmx.com",
    "@mail.com",
    "@yandex.com",
    "@zoho.com"
  ],
  "countryCode": "",
  "queryModifiers": [
    "email",
    "contact",
    "inquiries",
    "hire",
    "work with me"
  ]
}' |
apify call neuro-scraper/figma-community-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,neuro-scraper/figma-community-email-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/x2cuc8mNgq8SSIJ9k/builds/rLYhxHUi7udPm9xKT/openapi.json
