WordPress Theme Directory Email Scraper avatar

WordPress Theme Directory Email Scraper

Pricing

from $2.49 / 1,000 results

Go to Apify Store
WordPress Theme Directory Email Scraper

WordPress Theme Directory Email Scraper

WordPress Theme Directory Email Scraper SD - WordPress Theme Directory Email Scraper is a lead generation tool that extracts leads with public contact emails and profile URLs from WordPress Theme Directory by keyword, location and email domain - WordPress Theme Directory email extractor.

Pricing

from $2.49 / 1,000 results

Rating

0.0

(0)

Developer

Leads Scraper

Leads Scraper

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Categories

Share

WordPress Theme Directory Email Scraper — author contacts from wordpress.org/themes

The WordPress Theme Directory Email Scraper collects publicly indexed contact emails for the designers, theme shops and studios who publish themes on wordpress.org. You supply keywords and email domains; it returns emails, account names, theme listing URLs and the snippet each address was found in.

The theme directory is a design vendor marketplace. Theme authors publish support and business addresses on their listings because users, agencies and hosting partners are expected to contact them. The WordPress Theme Directory Email Scraper surfaces the ones Google has already indexed.

One honest note up front: theme listings expose a usable handle less consistently than plugin listings do. In our own measured testing, roughly half of the rows the WordPress Theme Directory Email Scraper returned resolved into a full theme identity, while the rest arrived as an email with partial account details. Plan for that — the emails are the deliverable, the profile identity is a bonus.

What the WordPress Theme Directory Email Scraper does — and does not do

It builds Google queries with the site:wordpress.org operator, reads the result pages, and extracts emails from titles and snippets. Each unique address is deduplicated globally and pushed to an Apify dataset as soon as it is found.

The WordPress Theme Directory Email Scraper does not log into WordPress.org, use the theme API, or open the directory in a browser. No JavaScript rendering, no authentication, no cookies — only publicly indexed search results.

Theme authors, not plugin authors

The WordPress Theme Directory Email Scraper treats /themes/ as the listing path and plugins as a non-profile segment. That means username and profileUrl resolve to theme listing URLs such as https://wordpress.org/themes/{username}/.

If you want plugin developers instead, the WordPress Plugin Directory Email Scraper is the sibling Actor for that population. Same engine, same wordpress.org domain, a different path prefix — and a genuinely different audience, because a theme shop and a plugin vendor are rarely the same business.

Who this WordPress theme author email tool is for

Hosting and page-builder companies run the WordPress Theme Directory Email Scraper to recruit theme partners for bundling or compatibility programmes. Design marketplaces and template businesses use it to source theme authors for a catalogue.

Agencies shortlist theme shops for a client site build or a design refresh. Analysts point the WordPress Theme Directory Email Scraper at a category for competitive and market research.

Key features of the WordPress Theme Directory Email Scraper

Everything listed here is behaviour the WordPress Theme Directory Email Scraper genuinely implements.

FeatureWhat it means in practice
site: scopingEvery query is locked to wordpress.org, keeping results inside the official directory
Theme path recognition/themes/ is treated as the listing path, so handles resolve to theme listing URLs
Query expansionEach keyword × domain pair runs as a base query, a quoted query, an intitle: query, plus one variant per query modifier
Domain-filtered extractionOnly emails on the domains you list survive, so you control the shape of the output
Global deduplicationEach address appears once per run, no matter how many queries or pages surfaced it
Obfuscation handlingReads name [at] domain [dot] com, name (at) domain, name @ domain.com, domain .com, zero-width characters and the full-width @
Junk filterRejects placeholders such as email@, yourname@, test@, xxx@ and single-character locals
Boundary-correct matching@gmail.com will not match inside @gmail.company or @gmail.com.br
Soft-wrap repairDiscards a hit that is only the tail of another email in the same block
Structural parsingLocates the <h3> title and the smallest surrounding block rather than trusting Google's CSS class names
Whole-page fallbackA Google markup change degrades the run to "emails without account details", not "no emails"
Block detectionCAPTCHA, "unusual traffic" and consent pages are detected and retried, not counted as empty
Retries with backoffUp to 3 attempts per page, exponential backoff, a fresh proxy session per request
End-of-run requeueBlocked or failed queries get one more pass before the run closes
Resumable stateProgress lives in the key-value store, keyed by an input hash, saved on PERSIST_STATE, MIGRATING and ABORTING
Async concurrencyAn asyncio worker pool with a shared stop signal once maxEmails is reached
Run summaryPages fetched, blocked pages, retries and emails per page are logged

How the WordPress Theme Directory Email Scraper works

Six steps, all visible in the run log.

  1. The WordPress Theme Directory Email Scraper reads your input: keywords, location, email domains and limits.
  2. It composes Google queries with the site: operator against wordpress.org, for example site:wordpress.org wordpress theme developer "@gmail.com".
  3. It fetches result pages through the Apify GOOGLE_SERP proxy using async aiohttp.
  4. It parses each result block structurally, finding the <h3> title and the tightest block around it.
  5. It extracts emails from that block text with a domain-filtered regex.
  6. It deduplicates globally and pushes each lead to the dataset immediately.

Rows arrive as they are found, so you can start reviewing leads mid-run. Resumable state means a migration or abort does not send the WordPress Theme Directory Email Scraper back to the beginning.

Why query expansion matters on a shared domain

Google returns roughly 300 results for any single query. The theme directory has far more listings than that, and it shares wordpress.org with forums, docs and the plugin directory.

Query expansion is the workaround. The WordPress Theme Directory Email Scraper rewrites each keyword into several phrasings and pairs it with each modifier, so many narrow, theme-flavoured queries reach further than one broad one.

Input settings for the WordPress Theme Directory Email Scraper

Nine fields drive the run. Only keywords is required; everything else has a working default.

FieldTypeDefaultMeaning
keywordsarray (required)["theme developer", "wordpress theme"]Search terms describing the authors you want (niche, job title, industry)
locationstring""Optional location phrase added to every query
customDomainsarray["@gmail.com","@yahoo.com"]Only emails on these domains are collected; the leading @ is optional
maxEmailsinteger 1–1000020Stop once this many unique emails have been collected
countryCodestring""Two-letter country code for the search proxy (US, GB, DE...)
expandQueriesbooleantrueSearch each keyword × domain pair in several phrasings
queryModifiersarray["email","contact","support","developer","publisher"]Extra words combined with each keyword when expansion is on
maxPagesPerQueryinteger 1–5030Page cap per query
maxConcurrencyinteger 1–205How many queries run in parallel

Example input for a WordPress theme developer email run

{
"keywords": ["wordpress theme", "theme developer", "blog theme author"],
"location": "",
"customDomains": ["@gmail.com", "@outlook.com"],
"maxEmails": 250,
"countryCode": "US",
"expandQueries": true,
"queryModifiers": ["email", "contact", "support", "developer", "publisher"],
"maxPagesPerQuery": 30,
"maxConcurrency": 5
}

Probe first with maxEmails around 20–50. A short WordPress Theme Directory Email Scraper run tells you quickly whether a theme category is well indexed before you scale up.

Output fields from the WordPress Theme Directory Email Scraper

Every dataset item the WordPress Theme Directory Email Scraper writes carries all fourteen fields below. Keys are always present; some values are conditional — and on this platform, username and profileUrl are empty more often than on most.

FieldMeaning
networkPlatform name
keywordThe keyword that produced the lead
queryThe exact Google query used
titleRaw result title
accountNameAccount label Google prints
fullNameDisplay name parsed from a profile-style title; empty for non-profile results
usernameURL-safe handle when the platform exposes one; otherwise null
profileUrlCanonical theme listing URL when a handle is known; otherwise empty
urlDirect platform link when exposed, else the profile URL
descriptionBio or snippet text, cleaned of labels and counters
emailLower-cased email address
emailDomainThe matched domain (e.g. @gmail.com)
possiblyTruncatedtrue when Google's snippet ellipsis touched the email — verify before sending
foundAtISO 8601 UTC timestamp

Example output row

{
"network": "WordPress Theme Directory",
"keyword": "wordpress theme",
"query": "site:wordpress.org wordpress theme contact \"@gmail.com\"",
"title": "Marlow Journal - WordPress theme | WordPress.org",
"accountName": "Ashvale Design",
"fullName": "Ashvale Design",
"username": "marlow-journal",
"profileUrl": "https://wordpress.org/themes/marlow-journal/",
"url": "https://wordpress.org/themes/marlow-journal/",
"description": "A minimal editorial theme for writers and small publications. Support: ashvale.themes@gmail.com",
"email": "ashvale.themes@gmail.com",
"emailDomain": "@gmail.com",
"possiblyTruncated": false,
"foundAt": "2025-04-18T16:38:20Z"
}

Export what the WordPress Theme Directory Email Scraper collects as CSV, JSON, Excel or XML, or read it through the Apify API into your CRM.

Use cases for the WordPress Theme Directory Email Scraper

The theme directory is a vendor marketplace, so these use cases sit in partnership and sourcing work rather than consumer prospecting.

Use caseHow the WordPress Theme Directory Email Scraper helps
Theme partner recruitmentReach theme authors for a bundling, compatibility or marketplace programme
Hosting and page-builder partnershipsBuild a theme vendor list for a one-click-install or starter-site programme
Design vendor sourcingShortlist theme shops for a client site build or a design refresh
Competitive researchSee who publishes in a theme category and how they position their listings
Ecosystem sizingSample by keyword to gauge how crowded a WordPress theme niche really is
Acquisition and portfolio sourcingAdd a contact layer to a category map of the WordPress theme economy
Co-marketing outreachIdentify theme authors for joint showcases, guides or template bundles
CRM enrichmentMatch scraped theme author contacts against accounts you already track

Worked example: sourcing block theme authors

Set keywords to ["block theme", "full site editing theme", "wordpress theme developer"]. Leave expandQueries on so each keyword also runs with email, contact, support, developer and publisher.

Use free-mail domains in customDomains when you want independent designers and small studios. Swap in a branded domain when you are after established theme shops with a company mailbox.

Run the WordPress Theme Directory Email Scraper once at maxEmails: 30 to sanity-check the category, then again at your real target. The second WordPress Theme Directory Email Scraper run reuses the same expansion plan, so the probe costs very little.

Tips for getting more from the WordPress Theme Directory Email Scraper

Always include a theme word in your keywords. Because the site: query covers all of wordpress.org, "theme", "block theme" or "template" is what keeps the WordPress Theme Directory Email Scraper pointed at theme listings rather than forums or plugins.

Design-language keywords work well here. "portfolio theme", "magazine theme" and "ecommerce theme" give the WordPress Theme Directory Email Scraper far more to work with than a generic term like "wordpress".

Schedule the WordPress Theme Directory Email Scraper monthly with a stable input. New themes get indexed continuously, so repeat runs keep a theme author contact list current.

Use customDomains as a segmentation lever, not just a filter. Free-mail domains skew towards solo designers; branded domains skew towards established theme shops.

Set countryCode for a regional slice of the WordPress design community, and pair it with location for a tighter focus. Do not raise maxConcurrency hoping for more leads — extra parallelism will not make the WordPress Theme Directory Email Scraper find emails that are not in the index.

Because theme authors often maintain a public code and design presence elsewhere, pair this Actor with the GitHub Email Scraper, the Figma Community Email Scraper or the CodePen Email Scraper. The same studio frequently shows up in more than one of them under a different public identity.

Limitations of the WordPress Theme Directory Email Scraper

These are real, and the profile-identity one matters more here than on most platforms.

  • Profile identity resolves less often. In our own measured testing, about half of the rows carried a resolved theme handle; the rest arrived with an email and partial account details. Treat username and profileUrl as nice-to-have on this platform.
  • Publicly indexed emails only. If an author's address is not visible in Google's index, the WordPress Theme Directory Email Scraper cannot find it. Contact forms and images are invisible to it.
  • Google's ~300-result cap. A single query tops out around 300 results, which is exactly why query expansion exists.
  • possiblyTruncated. When Google's snippet ellipsis touched the email, this flag is true and the address may be incomplete. Verify before sending.
  • username and profileUrl are conditional. They are only populated when Google's result exposes a handle. Many rows will carry accountName and fullName with an empty username and profileUrl. That is a Google limitation, not a bug.
  • wordpress.org is one big domain. The site: query covers the whole domain, so theme-flavoured keywords are what keep results inside the theme directory.
  • Apify GOOGLE_SERP proxy required. The WordPress Theme Directory Email Scraper cannot run without Apify proxy credentials.
  • Free-plan cap. Free Apify plans are capped at 100 emails per run; paid plans are uncapped.
  • No guaranteed volume. Results vary with keywords, domains and location, and no volume is guaranteed.

If full account identity is essential to your workflow, the sibling WordPress Plugin Directory Email Scraper resolved identity more consistently in the same testing. That is a difference in how Google indexes the two sections, not a difference in the code.

The WordPress Theme Directory Email Scraper shares one engine with the rest of this Developer & Technology family; only the platform config differs.

ActorWhat it collects
App Store Email ScraperPublic contact emails from App Store
Atlassian Marketplace Email ScraperPublic contact emails from Atlassian Marketplace
Bitbucket Email ScraperPublic contact emails from Bitbucket
Chrome Web Store Email ScraperPublic contact emails from Chrome Web Store
CodePen Email ScraperPublic contact emails from CodePen
Confluence Email ScraperPublic contact emails from Confluence
Dev.to Email ScraperPublic contact emails from DEV Community
Docker Hub Email ScraperPublic contact emails from Docker Hub
Figma Community Email ScraperPublic contact emails from Figma Community
Firefox Add-ons Email ScraperPublic contact emails from Firefox Add-ons
GitHub Email ScraperPublic contact emails from GitHub
GitLab Email ScraperPublic contact emails from GitLab
Google Play Email ScraperPublic contact emails from Google Play
Hashnode Email ScraperPublic contact emails from Hashnode
HubSpot Marketplace Email ScraperPublic contact emails from HubSpot Marketplace
Hugging Face Email ScraperPublic contact emails from Hugging Face
Jira Email ScraperPublic contact emails from Jira
Maven Central Email ScraperPublic contact emails from Maven Central
Microsoft AppSource Email ScraperPublic contact emails from Microsoft AppSource
Salesforce AppExchange Email ScraperPublic contact emails from Salesforce AppExchange
Shopify App Store Email ScraperPublic contact emails from Shopify App Store
Slack App Directory Email ScraperPublic contact emails from Slack App Directory
SourceForge Email ScraperPublic contact emails from SourceForge
Stack Overflow Email ScraperPublic contact emails from Stack Overflow
Unity Asset Store Email ScraperPublic contact emails from Unity Asset Store
Unreal Engine Marketplace Email ScraperPublic contact emails from Unreal Engine Marketplace
WordPress Plugin Directory Email ScraperPublic contact emails from WordPress Plugin Directory
Zapier App Directory Email ScraperPublic contact emails from Zapier App Directory
App Store Email and Phone Number ScraperEmails and phone numbers from App Store
Atlassian Marketplace Email and Phone Number ScraperEmails and phone numbers from Atlassian Marketplace
Bitbucket Email and Phone Number ScraperEmails and phone numbers from Bitbucket
Chrome Web Store Email and Phone Number ScraperEmails and phone numbers from Chrome Web Store
CodePen Email and Phone Number ScraperEmails and phone numbers from CodePen
Confluence Email and Phone Number ScraperEmails and phone numbers from Confluence
DEV Community Email and Phone Number ScraperEmails and phone numbers from DEV Community
Docker Hub Email and Phone Number ScraperEmails and phone numbers from Docker Hub
Figma Community Email and Phone Number ScraperEmails and phone numbers from Figma Community
Firefox Add-ons Email and Phone Number ScraperEmails and phone numbers from Firefox Add-ons
GitHub Email and Phone Number ScraperEmails and phone numbers from GitHub
GitLab Email and Phone Number ScraperEmails and phone numbers from GitLab
Google Play Email and Phone Number ScraperEmails and phone numbers from Google Play
Hashnode Email and Phone Number ScraperEmails and phone numbers from Hashnode

FAQ about the WordPress Theme Directory Email Scraper

What is the difference between this Actor and the WordPress Plugin Directory Email Scraper?

Both search wordpress.org, but with different path prefixes. This one treats /themes/ as the listing path and plugins as a non-profile segment, so handles resolve to theme listings. The WordPress Plugin Directory Email Scraper does the reverse. They are separate Actors because theme authors and plugin authors are different audiences with different default keywords.

How reliable is profile identity on this platform?

Less reliable than on the plugin side. In our own measured testing, about half of the rows the WordPress Theme Directory Email Scraper returned resolved into a full theme identity, and the rest returned an email with partial account details. The email itself is the dependable field.

Why does the WordPress Theme Directory Email Scraper leave username and profileUrl empty on some rows?

Those fields are only filled when Google's result exposes a usable handle. When Google prints only a display name you still get accountName and fullName, but no handle. This is a Google limitation, not a bug — and it happens more often on theme listings than on plugin listings.

Does the WordPress Theme Directory Email Scraper use the WordPress.org API?

No. It uses no WordPress API, does not log in, and does not open the directory website. Every field comes from publicly indexed Google search results.

Is this Actor affiliated with or endorsed by WordPress or Automattic?

No. It is an independent tool built on public Google results, and it is not officially supported by, affiliated with or endorsed by WordPress.org or Automattic.

wordpress.org. Queries are scoped with Google's site: operator, and theme-flavoured keywords keep the results inside the theme directory.

What does possiblyTruncated: true mean?

Google's snippet ellipsis touched the email, so the address may be cut off. Treat those rows as leads to verify rather than addresses to mail.

How many emails can one WordPress Theme Directory Email Scraper run return?

Free Apify plans stop at 100 emails per run. Paid plans are uncapped and bounded by maxEmails, which accepts 1 to 10000.

Do I need a proxy?

Yes. The WordPress Theme Directory Email Scraper requires the Apify GOOGLE_SERP proxy and cannot run without Apify proxy credentials.

Why did I get fewer emails than maxEmails?

Google caps a single query at roughly 300 results, and only some listings publish an indexed email. Widening keywords and customDomains usually helps more than raising maxPagesPerQuery.

Can I find premium theme shops that do not list on wordpress.org?

Only if a wordpress.org page mentions them and Google has indexed an email there. Studios selling exclusively from their own site are outside the directory and outside this Actor's scope.

Is this data compliant to use?

The WordPress Theme Directory Email Scraper only collects addresses already public in Google's index. How you use them — GDPR, CAN-SPAM, local marketing rules — remains your responsibility.

Leave a review

If the WordPress Theme Directory 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, feature requests or a custom build? Email neurodata.apify@gmail.com.