CodePen Email Scraper
Pricing
from $2.49 / 1,000 results
CodePen Email Scraper
CodePen Email Scraper SD - CodePen Email Scraper is a lead generation tool that extracts leads with public contact emails, account names and profile URLs from CodePen results by keyword, location and email domain - CodePen email extractor.
Pricing
from $2.49 / 1,000 results
Rating
0.0
(0)
Developer
Neuro Scraper
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 hours ago
Last modified
Categories
Share
CodePen Email Scraper - extract front-end developer emails from CodePen results
The CodePen Email Scraper is an Apify Actor that collects publicly indexed contact emails tied to CodePen profiles, pens, projects and collections. You supply keywords, optional location and the email domains you care about, and it returns a clean dataset of front-end leads.
Front-end developers treat CodePen as a portfolio, which is exactly what makes the CodePen Email Scraper productive. Bios say "available for freelance" with an address, pen descriptions credit a maintainer, and collection notes point at a personal inbox for commissions.
This is the tool people mean when they search for a CodePen developer contact, a way to hire a front-end developer from their demos, or a CodePen email extractor that produces a spreadsheet instead of one address at a time.
What the CodePen Email Scraper actually reads
The CodePen Email Scraper reads only what Google has already indexed on codepen.io. 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 CodePen, call a CodePen API, or open the editor. There is no browser, no JavaScript rendering, no authentication and no cookies anywhere in the pipeline.
That matters on a platform built around live previews: the Actor never executes a pen. It reads the text Google already stored about it.
Who the CodePen Email Scraper is built for
Agencies hiring front-end contractors, product teams recruiting UI engineers, design-tool vendors marketing to CSS and animation specialists, and recruiters sourcing by demonstrable skill all want the same thing: a repeatable way to turn a technique into contactable developers.
The CodePen Email Scraper turns "SVG animation, Gmail addresses, Berlin" into rows you can filter, dedupe and export as CSV, JSON or Excel, or pull straight from the Apify API.
Key features of the CodePen Email Scraper
| Feature | What it does |
|---|---|
Google site: dorking | Queries codepen.io 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 |
| Handle resolution | Recovers the codepen.io/{username} handle and ignores non-profile paths such as /pen/, /tag/ and /challenges/ |
| 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 CodePen Email Scraper works
The pipeline behind the CodePen Email Scraper is deliberately simple, which is why it runs quickly and is hard to break.
- The CodePen Email Scraper reads your input: keywords, location, email domains and limits.
- It builds Google queries with the
site:operator, for examplesite:codepen.io front end developer "@gmail.com" "Berlin". - It fetches Google result pages asynchronously through the Apify GOOGLE_SERP proxy using
aiohttp. - It parses each result block structurally, finding the
<h3>title and the smallest block around it. - It extracts emails from the block text with a domain-filtered regex.
- It deduplicates globally and pushes each lead straight to the Apify dataset.
Why query expansion matters for front-end developer 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 CodePen Email Scraper gets past it: 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 phrases front-end developers actually write in a profile bio when they are open to work.
What the CodePen Email Scraper does not do
It does not log into CodePen, use a CodePen API, render or execute a pen, read private pens, 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 CodePen.
CodePen Email Scraper input fields
Every field the CodePen 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) | ["front end developer", "designer"] | Search terms describing the CodePen accounts you want (niche, job title, technique) |
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 CodePen Email Scraper input
{"keywords": ["svg animation", "css grid developer", "creative coder"],"location": "Berlin","customDomains": ["@gmail.com", "@protonmail.com"],"maxEmails": 500,"countryCode": "DE","expandQueries": true,"queryModifiers": ["email", "contact", "inquiries", "hire", "work with me"],"maxPagesPerQuery": 30,"maxConcurrency": 5}
Tuning the CodePen Email Scraper for better yield
Technique keywords beat job titles when you feed the CodePen Email Scraper. svg animation, css grid, webgl shader, three.js and scroll animation match how pens are titled and tagged, so they surface far more than developer.
Location works unusually well here, because so many CodePen bios name a city alongside an availability note. Pair location with countryCode for the tightest targeting.
Leave expandQueries on. Turning it off gives one query per keyword and domain, which is faster but caps out quickly.
CodePen Email Scraper output fields
Every dataset item the CodePen 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 (handle or display name) |
fullName | Display name parsed from a profile-style title; empty for pen titles |
username | URL-safe CodePen handle when one is exposed; otherwise null |
profileUrl | Canonical https://codepen.io/{username} URL when a handle is known; otherwise empty |
url | Direct platform link when exposed, else the profile URL |
description | Bio or pen 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 CodePen Email Scraper output
[{"network": "CodePen","keyword": "svg animation","query": "site:codepen.io svg animation \"work with me\" \"@gmail.com\" \"Berlin\"","title": "Tomas Reiner (@tomasreiner) on CodePen","accountName": "tomasreiner","fullName": "Tomas Reiner","username": "tomasreiner","profileUrl": "https://codepen.io/tomasreiner","url": "https://codepen.io/tomasreiner","description": "Front-end developer in Berlin. SVG and GSAP animation. Freelance work: tomas.reiner.dev@gmail.com","email": "tomas.reiner.dev@gmail.com","emailDomain": "@gmail.com","possiblyTruncated": false,"foundAt": "2026-08-31T09:14:22.481Z"},{"network": "CodePen","keyword": "css grid developer","query": "site:codepen.io intitle:\"css grid\" contact \"@protonmail.com\"","title": "CSS Grid Dashboard Layout - CodePen","accountName": "marion-lb","fullName": "","username": "marion-lb","profileUrl": "https://codepen.io/marion-lb","url": "https://codepen.io/marion-lb/pen/xxRvGZq","description": "Responsive dashboard grid with container queries. Questions or consulting: marion.lb.frontend@protonmail ...","email": "marion.lb.frontend@protonmail.com","emailDomain": "@protonmail.com","possiblyTruncated": true,"foundAt": "2026-08-31T09:14:29.113Z"},{"network": "CodePen","keyword": "creative coder","query": "site:codepen.io creative coder inquiries \"@gmail.com\"","title": "Priya N. (@priyacodes) on CodePen","accountName": "priyacodes","fullName": "Priya N.","username": "priyacodes","profileUrl": "https://codepen.io/priyacodes","url": "https://codepen.io/priyacodes","description": "Creative coding, WebGL and shaders. Open to contract work. Inquiries: priya.creativecode@gmail.com","email": "priya.creativecode@gmail.com","emailDomain": "@gmail.com","possiblyTruncated": false,"foundAt": "2026-08-31T09:15:03.902Z"}]
Notice that even the pen-level row lets the CodePen Email Scraper resolve a handle, because CodePen pen URLs are shaped codepen.io/{username}/pen/{id}. That URL structure is why identity resolution is unusually reliable here.
Use cases for the CodePen Email Scraper
| Use case | How the CodePen Email Scraper helps |
|---|---|
| Front-end recruiting | Source UI engineers by technique and city, with live demos you can judge before writing |
| Freelance and contract hiring | Reach developers whose bios explicitly say "available" or "work with me" |
| Agency talent bench | Build a standing list of specialists in animation, CSS layout or WebGL |
| Developer tool marketing | Contact front-end practitioners when launching a component library, editor or CSS tool |
| Design-engineering outreach | Find people who sit between design and code, judged by their actual output |
| Course and content partnerships | Recruit instructors or guest authors from demonstrated technique |
| Ecosystem research | Measure how many developers in a technique niche publish a public contact channel |
| Conference and meetup programmes | Shortlist speakers for a front-end track from a keyword and a city |
Recruiting front-end developers from demos
CodePen is one of the few places where a portfolio is executable, and the CodePen Email Scraper hands you the link to it. Open url before you write - a pen shows technique, code quality and taste in about thirty seconds.
Always review profileUrl too. The CodePen Email Scraper gives you the address; qualifying the person is still your job.
Covering the wider front-end footprint
Front-end developers publish in several places at once. Pair the CodePen Email Scraper with the GitHub Email Scraper for shipped code, and with the Figma Community Email Scraper when you want people who design as well as build.
Expected results from the CodePen Email Scraper
In live test runs against Google, 10 out of 10 parsed CodePen results carried an account identity - a handle, a display name, or both. This is the strongest identity yield in this family of Actors.
There is a structural reason the CodePen Email Scraper does so well. Every public CodePen URL contains the owner's handle, and Google prints titles as Name (@handle) on CodePen, so both the URL path and the title expose an account.
Identity resolution being reliable does not guarantee volume. How many rows you get still depends on your keywords, domains and location - no yield is guaranteed.
Limitations of the CodePen Email Scraper
Read this before planning a campaign around CodePen Email Scraper output.
- Publicly indexed emails only. The CodePen Email Scraper finds an address only when it is already visible in Google's index. Addresses in private pens, or on profiles Google has not indexed, are out of reach.
- No pen execution and no API. The Actor never renders or runs a pen, and never calls a CodePen API. Only Google result titles and snippets are parsed.
- Google's ~300-result cap. A single query returns roughly 300 results maximum, which is exactly why
expandQueriesexists and why turning it off reduces volume. possiblyTruncated. When this istrue, Google's snippet ellipsis touched the email and it may be cut off. Verify those rows before sending anything.usernameandprofileUrlcan still be empty. They are populated only when a handle appears in the result. It is rare on this platform, but a result that shows only a display name will leaveaccountNamefilled withusernamenull.- 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 CodePen bios and pen descriptions are published for project correspondence - work enquiries, questions about a demo, credit and collaboration. 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 CodePen community norms and any "no recruiters" note in a bio.
A message that names the pen you looked at outperforms a generic recruiting blast by a wide margin, and it will not get your domain blocked.
CodePen Email Scraper FAQ
Does the CodePen Email Scraper run or render pens?
No. It parses Google search results for pages on codepen.io that Google has already indexed. Nothing is executed, and there is no browser or JavaScript rendering.
Does it need a CodePen account or login?
No. There is no authentication, no cookies and no API access. The only credential required is your Apify account's GOOGLE_SERP proxy access.
Where do the emails the CodePen Email Scraper returns come from?
From the text Google prints in result titles and snippets - profile bios, pen and project descriptions, and collection notes that expose an address publicly.
How many emails can the CodePen 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.
Why is username almost always filled on this platform?
Because CodePen URLs are shaped codepen.io/{username} and codepen.io/{username}/pen/{id}, and titles print Name (@handle) on CodePen. Both give the Actor a handle to resolve.
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 CodePen Email Scraper to agency domains?
Yes. Put the domains you want in customDomains, for example ["@agency.com", "@example.io"]. 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 find developers in one city?
Set location to the city and countryCode to a two-letter code such as US, GB or DE. The location phrase is appended to every query and the code steers the search proxy.
What happens if a CodePen 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 CodePen Email Scraper affiliated with CodePen?
No. It is an independent Apify Actor, and it is not supported, endorsed or affiliated with CodePen.
Related Actors
The CodePen 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 |
|---|---|
| CodePen Email and Phone Number Scraper | Emails and phone numbers from CodePen |
| CodePen Phone Number Scraper | Public phone numbers from CodePen |
| App Store Email Scraper | Public contact emails from App Store |
| Atlassian Marketplace Email Scraper | Public contact emails from Atlassian Marketplace |
| Bitbucket Email Scraper | Public contact emails from Bitbucket |
| Chrome Web Store Email Scraper | Public contact emails from Chrome Web Store |
| Confluence Email Scraper | Public contact emails from Confluence |
| Dev.to Email Scraper | Public contact emails from DEV Community |
| Docker Hub Email Scraper | Public contact emails from Docker Hub |
| Figma Community Email Scraper | Public contact emails from Figma Community |
| Firefox Add-ons Email Scraper | Public contact emails from Firefox Add-ons |
| GitHub Email Scraper | Public contact emails from GitHub |
| GitLab Email Scraper | Public contact emails from GitLab |
| Google Play Email Scraper | Public contact emails from Google Play |
| Hashnode Email Scraper | Public contact emails from Hashnode |
| HubSpot Marketplace Email Scraper | Public contact emails from HubSpot Marketplace |
| Hugging Face Email Scraper | Public contact emails from Hugging Face |
| Jira Email Scraper | Public contact emails from Jira |
| Maven Central Email Scraper | Public contact emails from Maven Central |
| Microsoft AppSource Email Scraper | Public contact emails from Microsoft AppSource |
| Salesforce AppExchange Email Scraper | Public contact emails from Salesforce AppExchange |
| Shopify App Store Email Scraper | Public contact emails from Shopify App Store |
| Slack App Directory Email Scraper | Public contact emails from Slack App Directory |
| SourceForge Email Scraper | Public contact emails from SourceForge |
| Stack Overflow Email Scraper | Public contact emails from Stack Overflow |
| Unity Asset Store Email Scraper | Public contact emails from Unity Asset Store |
| Unreal Engine Marketplace Email Scraper | Public contact emails from Unreal Engine Marketplace |
| WordPress Plugin Directory Email Scraper | Public contact emails from WordPress Plugin Directory |
| WordPress Theme Directory Email Scraper | Public contact emails from WordPress Theme Directory |
| Zapier App Directory Email Scraper | Public contact emails from Zapier App Directory |
| App Store Email and Phone Number Scraper | Emails and phone numbers from App Store |
| Atlassian Marketplace Email and Phone Number Scraper | Emails and phone numbers from Atlassian Marketplace |
| Bitbucket Email and Phone Number Scraper | Emails and phone numbers from Bitbucket |
| Chrome Web Store Email and Phone Number Scraper | Emails and phone numbers from Chrome Web Store |
| Confluence Email and Phone Number Scraper | Emails and phone numbers from Confluence |
| DEV Community Email and Phone Number Scraper | Emails and phone numbers from DEV Community |
| Docker Hub Email and Phone Number Scraper | Emails and phone numbers from Docker Hub |
| Figma Community Email and Phone Number Scraper | Emails and phone numbers from Figma Community |
| Firefox Add-ons Email and Phone Number Scraper | Emails and phone numbers from Firefox Add-ons |
| GitHub Email and Phone Number Scraper | Emails and phone numbers from GitHub |
| GitLab Email and Phone Number Scraper | Emails and phone numbers from GitLab |
| Google Play Email and Phone Number Scraper | Emails and phone numbers from Google Play |
Leave a review
If the CodePen 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 CodePen Email Scraper for your own domain list? Email neurodata.apify@gmail.com and we will get back to you.