WordPress Plugin Vendor Scraper — Developer B2B Leads avatar

WordPress Plugin Vendor Scraper — Developer B2B Leads

Pricing

from $2.99 / 1,000 plugin vendor leads

Go to Apify Store
WordPress Plugin Vendor Scraper — Developer B2B Leads

WordPress Plugin Vendor Scraper — Developer B2B Leads

Pricing

from $2.99 / 1,000 plugin vendor leads

Rating

0.0

(0)

Developer

w3crawler

w3crawler

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

What does WordPress Plugin Vendor Scraper do?

This Actor queries the official WordPress.org Plugin Directory information API and returns public plugin, developer, and vendor intelligence. It supports keyword discovery, an optional exact tag, minimum active-install and rating filters, bounded pagination, and optional detail enrichment through the public api.wordpress.org endpoints.

The Actor uses keyless HTTPS requests only. It does not log in, access private sites, use credentials or proxies, download premium products, or perform mutations. Public-source failures, blocked responses, malformed payloads, empty matches, and detail failures are represented explicitly instead of being silently treated as successful data.

Why use WordPress Plugin Vendor Scraper?

Use the dataset for WordPress ecosystem research, plugin/vendor comparison, public market intelligence, compatibility inventories, support-health analysis, partnership research, and lead discovery. vendorLeadEligible is deliberately conservative: it is true only when a public HTTPS vendor homepage is available outside WordPress.org. It is not a claim that the vendor is for sale or that outreach is permitted. businessModel is an enum (commercial, freemium, free, unknown) sourced only from the WordPress.org API's explicit value; the API's boolean false and missing or unsupported values become unknown, never the string "false" or an inferred free claim.

How to use WordPress Plugin Vendor Scraper

  1. Search the public directory with a phrase such as seo, or leave search empty to browse.
  2. Optionally set tag, minActiveInstalls, or minRating to narrow candidates.
  3. Bound the run with maxItems, maxPages, and perPage.
  4. Enable includeDetails when compatibility, support, download, or commercial-link enrichment is useful.
  5. Keep requestDelayMs at or above the default for polite serial requests, and use OUTPUT_SUMMARY (also mirrored as OUTPUT) for run counts and diagnostics.

Input

search is the public WordPress.org search phrase. tag is an exact normalized tag filter. minActiveInstalls and minRating apply public directory thresholds. maxItems, maxPages, and perPage bound discovery. includeDetails optionally calls the official plugin_information endpoint for matched slugs. requestDelayMs controls the minimum interval between source requests, timeoutSecs bounds each request, and retries allows up to three bounded retries for transient failures.

{
"search": "seo",
"tag": "seo",
"minActiveInstalls": 100000,
"minRating": 80,
"maxItems": 10,
"maxPages": 1,
"perPage": 20,
"includeDetails": true,
"requestDelayMs": 500,
"timeoutSecs": 30,
"retries": 2
}

Output

Dataset rows have recordType: "plugin_vendor" and contain only public plugin/vendor business fields plus source lineage. sourceUrl is the canonical official API endpoint without search parameters. Run status, request URLs, filters, and optional detail-request outcomes are kept in RUN_METADATA and OUTPUT_SUMMARY; the summary is also mirrored under the compatibility key OUTPUT. Saved records produce status: "SUCCEEDED"; later optional detail or metadata issues use dataStatus: "PARTIAL". A genuine empty search is SUCCEEDED with dataStatus: "NO_RESULTS". A failed source request before any plugin record is FAILED with dataStatus: "FAILED" and no diagnostic dataset row.

{
"recordId": "wordpress_plugin_vendor_plugin_example-plugin_<digest>",
"recordType": "plugin_vendor",
"source": "WordPress.org Plugin Directory API",
"provenance": "wordpress_org_plugin_directory_api_v2_business_model_contract",
"pluginSlug": "example-plugin",
"pluginName": "Example Plugin",
"pluginUrl": "https://wordpress.org/plugins/example-plugin/",
"vendorName": "Example Vendor",
"vendorWebsite": "https://example.com/plugin",
"vendorDomain": "example.com",
"businessModel": "commercial",
"businessModelEvidence": "wordpress-api-explicit",
"activeInstalls": 12000,
"rating": 92,
"ratingsCount": 100,
"tags": ["analytics", "seo"],
"vendorLeadEligible": true,
"sourceUrl": "https://api.wordpress.org/plugins/info/1.2/",
"retrievedAt": "2026-09-08T00:00:00.000Z"
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Data table

FieldDescription
recordId, recordTypeStable row identity and business-record type.
pluginSlug, pluginName, pluginUrlPublic WordPress.org plugin identity and directory page.
vendorName, authorProfileUrl, vendorWebsite, vendorDomainPublic authorship and vendor links after HTTPS/domain checks.
activeInstalls, rating, ratingsCount, downloadsPoint-in-time popularity and rating measures.
supportThreads, supportThreadsResolvedPublic support-volume signals when exposed.
tags, version, requires, tested, requiresPhpPublic taxonomy and compatibility fields.
businessModel, businessModelEvidenceExplicit WordPress.org business-model value and evidence classification; unknown is preserved when the source is non-committal.
commercialSupportUrl, downloadUrlPublic commercial or support links when present.
vendorLeadEligibleConservative lead eligibility derived from public vendor evidence.
source, provenance, sourceUrl, retrievedAtSource lineage and retrieval timestamp.

RUN_METADATA and OUTPUT_SUMMARY contain serialized JSON with filters, request/page counts, candidate and match counts, source-backed record counts, duplicate metrics, numeric diagnostic/failure counts, request URLs, vendor domains, businessModelCounts, and generated-by metadata. Detailed issue messages stay in run logs. OUTPUT contains the same count-only summary as OUTPUT_SUMMARY for compatibility.

Pricing / Cost estimation

The Actor performs one bounded search request per fetched page and, when includeDetails is enabled, up to one detail request per matched plugin. maxItems, maxPages, request delays, retries, timeouts, and response limits keep resource use predictable. Your Apify plan determines the final platform cost.

Tips or advanced options

Use an exact tag and minimum thresholds for focused lead research. Keep includeDetails disabled when directory search data is sufficient. Use a nonzero requestDelayMs for repeated or larger runs. Public installs, ratings, support counts, versions, and vendor links are point-in-time source values and can change between runs.

FAQ, disclaimers, and support

Only public, keyless WordPress.org Plugin Directory API data is in scope. The Actor does not infer private contact details, verify vendor intent, or authorize outreach. You are responsible for lawful use, terms compliance, and appropriate request rates. If the official response shape changes, the Actor emits a diagnostic rather than fabricating values. Use the Issues tab for feedback.

Local verification

npm ci
npm test
npm run lint
apify validate-schema
apify run --purge --input-file test/inputs/default.json
npm run validate