WordPress Plugins Scraper — Bulk CSV Export API avatar

WordPress Plugins Scraper — Bulk CSV Export API

Pricing

from $3.00 / 1,000 plugin scrapeds

Go to Apify Store
WordPress Plugins Scraper — Bulk CSV Export API

WordPress Plugins Scraper — Bulk CSV Export API

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

a day 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 paid by the user is scheduled for18October2026 at19:33:14UTC; it is not active at the13October check. After activation, platform usage is separate. 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.