WordPress Plugins Scraper — $3/1K · Versions, Ratings & Authors avatar

WordPress Plugins Scraper — $3/1K · Versions, Ratings & Authors

Pricing

from $3.00 / 1,000 plugin scrapeds

Go to Apify Store
WordPress Plugins Scraper — $3/1K · Versions, Ratings & Authors

WordPress Plugins Scraper — $3/1K · Versions, Ratings & Authors

Collect WordPress.org plugin directory records by search, tag, author or slug with bounded continuation. Bulk export: JSON, CSV, Excel and API. Pay per result: $3/1K plugins; start fee extra.

Pricing

from $3.00 / 1,000 plugin scrapeds

Rating

0.0

(0)

Developer

Apivault Labs

Apivault Labs

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

13 hours ago

Last modified

Share

WordPress Plugins Scraper — Directory Research, API & MCP

Collect public plugin records from the WordPress.org directory: installs, ratings, author profiles, versions, compatibility, update dates and optional detail fields. Search a niche, read source browse lists, filter by tag or author, or retrieve exact plugin slugs. Export JSON, CSV or Excel.

This Actor reads directory listings. It does not inspect installed plugins on a customer's website, detect vulnerabilities, measure version adoption or verify private sales. Install counts are rounded public observations; popularity ordering is supplied by WordPress.org.

First run: research three backup plugins

{"mode":"search","query":"backup","maxResults":3,"fullDetails":true}

Open WordPress plugin directory records, inspect slug, activeInstalls, rating, lastUpdated and detailStatus, then read Coverage and continuation. Compare records for editorial research or a shortlist; install counts and ratings alone do not establish security or quality. Without maxResults, the runtime default is10. API credentials are needed only to run through Apify; the WordPress.org data source requires no external key or login.

Five collection modes

ModeExampleScope
search{"mode":"search","query":"backup","maxResults":10}Source keyword search, not an exact-match filter.
browse{"mode":"browse","browseBy":"popular","maxResults":10}Source-defined popular/new/updated/featured list. No locally invented rank.
tag{"mode":"tag","query":"seo","maxResults":10}Source tag slug.
author{"mode":"author","query":"yoast","maxResults":10}WordPress.org username filter, not a company or legal ownership check.
slugs{"mode":"slugs","slugs":["woocommerce","contact-form-7"],"maxResults":2}Exact plugin IDs with detail; duplicates are removed, input order retained.

The official Plugins API reference describes directory actions and fields. Listings are dynamic; deleted, closed or unavailable plugins may not be returned. sourceTotal describes the selected query at that time, not an independently verified count of every plugin in WordPress.

Fields and detail coverage

Each useful row includes slug, name, canonical url, available shortDescription, checkedAt, sourceMode, sourcePage, sourceOffset and detailStatus. Source positions are zero-based within fixed100-row pages; slugs mode has no listing page position.

Field groupOutputInterpretation
InstallsactiveInstalls, totalDownloadsRounded source installations; downloads remain null if not supplied. Neither is revenue or active-user analytics.
Ratingsrating, ratingRaw, numRatings0–5 stars converted from the source0–100 score, plus rating count. Unknown/invalid values stay null.
Authorauthor, authorProfile, homepagePublic directory attribution, not a verified personal contact or ownership claim.
Versionversion, requiresWp, testedWp, requiresPhp, available requiresPluginsLatest directory version and declared compatibility, not installed-version distribution.
Dates/tagsaddedDate, lastUpdated, tagsSource date strings are retained; no invented timezone.
SupportsupportThreads, supportResolved, available supportUrlCounts supplied by the source, not a computed resolution percentage.
AssetsdownloadLink, iconUrlPublic links, not downloaded files.
Detailavailable contributors, ratingsHistogramPublic contributor metadata and star-count histogram.

extractInstalls, extractRating, extractAuthor, extractVersion, extractDates, extractTags, extractSupport, extractDownloadLink, extractContributors and extractRatingsHistogram disable the corresponding field group when false. Missing optional text can be empty. The source does not supply every field for every plugin.

fullDetails:true adds one detail request per listing result. Slugs mode always requests detail. detailStatus is listing_only, complete or partial. A failed enrichment retains its useful listing data and writes diagnostics; no extra result event is charged for enrichment. The Actor does not return screenshots or readme sections.

Limits, errors and continuation

maxResults applies to all modes: default10, maximum10000;0 continues until source exhaustion, maxPages, time or event budget stops it. Pages are processed in source order; detail requests use bounded batches controlled by maxConcurrency (default5,1–20). timeout bounds an individual request; retries of temporary failures can add time. The run reserves time for final reports.

Read SUMMARY for resultCount, duplicateCount, pagesFetched, sourceTotal, coverageComplete, status, stopReason and nextInput. coverageComplete:true means the requested source range was exhausted without recorded source failures; starting at page2 does not establish coverage of page1. A result, page, time or event-budget cap leaves coverage incomplete. A repeated source page stops collection and does not claim completeness.

Use SUMMARY.nextInput to continue from the first unprocessed source position. It includes startPage, startOffset and previously emitted excludeSlugs; slugs mode instead carries the remaining slugs. Recheck your event budget before resuming. Lists can move between runs, so continuation is not a frozen snapshot and cannot guarantee that newly inserted or reordered entries are all captured.

ERRORS contains source error codes with slug/page context. It is stored separately from paid results. RETRY_INPUT contains only transient failed detail slugs; run it only if slugs is non-empty. Resume listing failures with SUMMARY.nextInput. Permanent missing slugs are not automatically retried. Valid empty search results succeed with zero rows; an invalid input or a run where no plugin could be verified fails. Partial success preserves useful rows and reports the missing scope.

Pricing

$3 per1,000 delivered plugin rows ($0.003 each), plus the startup event $0.00005 perGB of run memory, minimum1 event. At the default256MB, startup is$0.00005. No result event is charged for diagnostics, missing slugs or duplicates. The default dataset uses Apify's synthetic result billing; do not manually charge it again.

Platform usage is paid separately under the configuration active since October18,2026 at19:33:14UTC. Check the Pricing tab for the currently effective configuration. A maximum total charge caps event spending, and the Actor stops fetching when no result fits. API key-free collection still consumes platform resources; no zero-cost or permanent availability guarantee is made.

REST API, MCP and agent contract

Use this Actor for researching WordPress.org directory records. For detecting technologies on a supplied website, use a website technology detector instead. Do not infer installed plugins, vulnerabilities, actual author email addresses or revenue from directory fields.

Start with POST https://api.apify.com/v2/acts/apivault_labs~wordpress-plugins-scraper/runs, Authorization: Bearer <APIFY_TOKEN>, and one of the JSON inputs above. Poll GET /v2/actor-runs/{runId} to completion, then read GET /v2/datasets/{defaultDatasetId}/items and GET /v2/key-value-stores/{defaultKeyValueStoreId}/records/SUMMARY. Read ERRORS and RETRY_INPUT alongside the dataset. Add ?format=csv&clean=true or ?format=xlsx&clean=true for spreadsheet exports. Keep credentials in client configuration.

Connect an authenticated MCP client to:

https://mcp.apify.com/?tools=apivault_labs/wordpress-plugins-scraper

Discover tools/list, invoke apivault_labs--wordpress-plugins-scraper with the same input fields, and follow the returned run and storage IDs. A short waitSecs can end before collection completes; poll the run instead of starting a duplicate. Use discovered get-dataset-items and get-key-value-store-record to read useful rows, SUMMARY and ERRORS.

Agents should choose a small explicit maxResults, request detail only when needed, check detailStatus and coverage, and verify that delivered slugs are unique. Preserve nulls rather than interpreting unknown downloads as zero. Treat support counts and ratings as source observations. Return the continuation and partial-scope warning when a cap was reached, rather than describing the first page as the whole directory. Cross-run monitoring and trend calculations require your own stored snapshots; this Actor does not provide them automatically.

Research WordPress plugins for a concrete decision

A WordPress plugin directory scraper helps an agency, publisher or integration team review public listings with a consistent field set. Choose exact slugs for a known shortlist; choose a search, tag or browse list for discovery. The result is directory research, not an audit of a customer's installed software.

Research questionStarting modeInterpretation
Compare known pluginsslugsPublic listing metadata for those exact IDs
Explore a nichesearch or tagSource query coverage and changing ordering
Review recent updatesbrowse updatedDirectory order, not a vulnerability or adoption ranking
Prepare a compatibility sheetDetail plus version fieldsDeclared requirements, not an integration test

Inspect two known plugin records

{
"mode": "slugs",
"slugs": [
"woocommerce",
"contact-form-7"
],
"maxResults": 2,
"maxConcurrency": 1
}

Slugs mode always requests detail. Check detailStatus and source values before comparing compatibility, support or installs. A missing or closed slug is not replaced by a similarly named plugin.

Preview a small listing without extra detail work

{
"mode": "search",
"query": "backup",
"maxResults": 3,
"fullDetails": false,
"maxConcurrency": 1
}

Listing-only output is useful for initial editorial screening. Search is supplied by WordPress.org and need not be an exact phrase match or a complete inventory of every backup-related plugin.

Review a small recently updated sample

{
"mode": "browse",
"browseBy": "updated",
"maxResults": 3,
"fullDetails": true,
"maxPages": 1,
"maxConcurrency": 1
}

An update date indicates a directory release observation. It does not establish support quality, security, whether an update fixes a bug, or how many sites have installed it.

Create a lightweight tag shortlist

{
"mode": "tag",
"query": "seo",
"maxResults": 3,
"fullDetails": false,
"extractDownloadLink": false,
"extractContributors": false,
"extractRatingsHistogram": false
}

Field selection makes an export smaller. It does not reduce the per-plugin event rate, and listing-only data should not be described as a complete detail response.

From plugin records to a reviewed research file

Keep slug as the directory identity when joining runs, plus checkedAt and source position where available. Compare like-for-like detailStatus values and preserve nulls for unsupported metrics. Rounded active installs are not exact site counts; downloads are not unique users. A high rating with few votes is a different observation from a high rating with many votes. Public contributor or author attribution does not establish a current support contract.

To continue a bounded discovery run, use SUMMARY.nextInput and retain its excludeSlugs. Do not merely increase startPage after a partial page: that can skip unprocessed positions. Source lists can change between runs, so even a correct continuation is not a frozen directory snapshot. Store your own prior observations for trend work; a single updated listing does not measure growth.

Pricing remains $0.003 per delivered plugin ($3 per 1,000), plus startup $0.00005 per allocated GB, minimum one event. Platform resources are separately paid under the configuration active since October18. Three useful rows cost $0.009 in result events before startup and resources. FullDetails adds requests, not a second per-plugin result event. A failed optional detail request can leave a useful listing row with partial coverage; inspect diagnostics rather than silently calling it a complete profile.

JSON is useful for tags, contributors and histogram structures. CSV/Excel work well for selected version, rating, install and date columns. In n8n, Python or MCP, poll the same run and inspect SUMMARY/ERRORS/RETRY_INPUT alongside the rows. A successful run is not proof that every plugin or every requested detail field was returned. Permanent missing slugs do not become paid substitute records.

Can this identify plugins installed on an arbitrary website? No. It reads the WordPress.org directory. It does not scan the target site's deployment.

Can I infer plugin revenue, vulnerabilities or real compatibility? Public installs, requirements and support counts can guide a question; they do not prove sales, a security finding or a working combination of plugins and themes.

n8n and developer integrations

Use this Actor in your automation or application with the existing community integrations below. An Apify account and API token are required; Actor and platform charges follow the current pricing.

  • n8n community node: n8n-nodes-apivault-wordpress-plugins. Install package name n8n-nodes-apivault-wordpress-plugins in a self-hosted n8n instance that permits community packages.
  • Python client and examples: GitHub.
  • n8n source and usage: GitHub.

These are community packages. Publication on npm does not establish n8n verification or availability in n8n Cloud. Review the linked package README for supported inputs and setup.