WordPress Plugins Scraper · Plugins, Installs & Ratings avatar

WordPress Plugins Scraper · Plugins, Installs & Ratings

Pricing

from $0.85 / 1,000 wordpress plugin record scrapeds

Go to Apify Store
WordPress Plugins Scraper · Plugins, Installs & Ratings

WordPress Plugins Scraper · Plugins, Installs & Ratings

Scrape WordPress plugins directory by tags, search queries, author accounts, install bands, and rating filters. Extract ratings, active installs, tags, release details, and author links.

Pricing

from $0.85 / 1,000 wordpress plugin record scrapeds

Rating

0.0

(0)

Developer

Tarek Etman

Tarek Etman

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

reapX — public sources in, addressable records out

WordPress Plugins Scraper · Plugins, Installs & Ratings

The WordPress Plugins Scraper extracts public metadata, rating breakdowns, active installation estimates, tag classifications, author credentials, and version update details from the official WordPress.org plugin directory (api.wordpress.org). Whether you need to monitor e-commerce plugin adoption, analyze SEO tool ratings, track Gutenberg block library updates, or audit top open-source authors, this actor delivers clean, structured JSON records directly into your default dataset.

Maintained by reapX. Every row cites the Apify run that produced it — nothing is inferred, modelled or filled in, and a field absent from the source is absent from the row. The extracted archive for this source is browsable at reapx.dev/data/wordpress-plugins-scraper/ and mirrored as an open dataset on Hugging Face and Kaggle. Questions: reapxdev@proton.me


Features

  • Search & Tag Filtering: Scrape plugins matching keyword queries (e.g., seo, contact form, caching), tag slugs (woocommerce, elementor, security), or specific author profiles (automattic, yoast, awesome-motive).
  • Directory Browse Sections: Explore WordPress plugin directory collections including popular, featured, updated, and new releases.
  • Install & Rating Thresholds: Set minimum active installation counts (e.g., 10,000+) and rating score floors (e.g., 80% / 4-star rating) to focus on top-performing plugins.
  • Rich Metadata Extraction: Includes plugin slug, title, version, author profile URL, star rating breakdown (1 to 5 stars), total ratings, support thread resolution metrics, active install counts, total download counts, last update timestamp, release date, homepage URL, short description, tags dictionary, minimum required WordPress core version, tested core version, and required PHP version.
  • Pay-Per-Event Billing: Charged per plugin record scraped ($0.001 per record) with automatic tier discounts across Free, Bronze, Silver, Gold, Platinum, and Diamond levels.

How it works

  1. API Integration: Connects directly to https://api.wordpress.org/plugins/info/1.2/ via high-speed HTTP requests without headless browser overhead.
  2. Paginated Retrieval: Automatically iterates through paginated result sets using native query_plugins requests.
  3. Filtering & Cleaning: Filters records against configured minimum install and rating thresholds, while sanitizing HTML tags from author and description fields.
  4. Streaming Push: Emits clean records to the default dataset incrementally with per-event charging, preserving data even if runs are stopped early.

⬇️ Input

The actor accepts the following configuration parameters via its input schema:

ParameterTypeDefault / PrefillDescription
searchQueryString"seo"Keyword or phrase to search within the WordPress plugins directory. E.g., seo, woocommerce, contact form.
tagString"woocommerce"Tag or category slug to filter plugins by on wordpress.org. E.g., woocommerce, security, forms.
authorString""WordPress.org author username to filter plugins by. E.g., automattic, yoast, elementor.
browseString"popular"Directory section to browse. Options: popular, featured, updated, new.
minActiveInstallsInteger0Filter out plugins with fewer active installations than this threshold. E.g., 10000.
minRatingInteger0Filter out plugins with a rating score below this percentage (0 to 100). E.g., 80.
maxItemsInteger100Maximum number of plugin records to extract and save (1 to 5,000).

Example Input JSON

{
"tag": "woocommerce",
"browse": "popular",
"minActiveInstalls": 10000,
"minRating": 80,
"maxItems": 100
}

⬆️ Output

Scraped records are saved to the default dataset. Each record contains the following fields:

Field NameTypeDescriptionExample
slugStringUnique URL identifier for the plugin"elementor"
nameStringDisplay title of the plugin"Elementor Website Builder"
versionStringLatest published version string"3.23.0"
authorStringClean author display name"Elementor.com"
authorProfileStringURL to author profile on wordpress.org"https://profiles.wordpress.org/elementor/"
ratingNumberAverage user rating score out of 10094
ratingsObjectStar rating breakdown dictionary (1-5 stars){"5": 5800, "4": 400, "3": 200, "2": 100, "1": 300}
numRatingsIntegerTotal number of user ratings submitted6800
supportThreadsIntegerTotal count of community support forum threads250
supportThreadsResolvedIntegerCount of support forum threads marked resolved210
activeInstallsIntegerEstimated active installation count5000000
downloadedIntegerAll-time total downloads count150000000
lastUpdatedStringDate string of last update"2026-07-28 14:30pm GMT"
addedStringDate plugin was added to WordPress directory"2016-05-30"
homepageStringOfficial homepage or documentation URL"https://elementor.com"
shortDescriptionStringSummary blurb of plugin features and purpose"The Elementor Website Builder has it all..."
downloadLinkStringDirect download URL for the plugin ZIP file"https://downloads.wordpress.org/plugin/elementor.3.23.0.zip"
tagsObjectDictionary of tags assigned to this plugin{"builder": "builder", "page-builder": "page builder"}
requiresStringMinimum required WordPress core version"6.0"
testedStringHighest tested WordPress core version"6.6"
requiresPhpStringMinimum required PHP version"7.4"

Sample Output Record

{
"slug": "elementor",
"name": "Elementor Website Builder",
"version": "3.23.0",
"author": "Elementor.com",
"authorProfile": "https://profiles.wordpress.org/elementor/",
"rating": 94,
"ratings": {
"1": 300,
"2": 100,
"3": 200,
"4": 400,
"5": 5800
},
"numRatings": 6800,
"supportThreads": 250,
"supportThreadsResolved": 210,
"activeInstalls": 5000000,
"downloaded": 150000000,
"lastUpdated": "2026-07-28 14:30pm GMT",
"added": "2016-05-30",
"homepage": "https://elementor.com",
"shortDescription": "The Elementor Website Builder has it all: drag and drop page builder, pixel perfect design, mobile editing, and more.",
"downloadLink": "https://downloads.wordpress.org/plugin/elementor.3.23.0.zip",
"tags": {
"builder": "builder",
"page-builder": "page builder"
},
"requires": "6.0",
"tested": "6.6",
"requiresPhp": "7.4"
}

Use Cases

  1. E-Commerce Ecosystem Research: Track active install growth, rating distributions, and competitor releases across WooCommerce payment, shipping, and marketing add-ons.
  2. WordPress Plugin Market Analysis: Analyze top-performing plugins in competitive niches such as SEO, security, form builders, and Gutenberg block packs.
  3. Security & Maintenance Audits: Identify plugins with low active installation counts, stagnant last-updated dates, or unmaintained PHP/WordPress compatibility ranges.
  4. Developer Portfolio Tracking: Monitor rating feedback, review volume, and support thread resolution rates across your company's WordPress plugin catalog.

❓ FAQ

How are active installations estimated?

WordPress.org reports active installations in standardized threshold bands (e.g., 10,000, 50,000, 100,000, 1,000,000+). The activeInstalls field reflects the exact active install metric returned by the official API.

Does this scraper require login or API keys?

No. The scraper accesses the public api.wordpress.org endpoints without requiring authentication or API keys.

Can I filter by multiple tags or search terms in one run?

You can search by keyword or filter by tag/author per run. To run multi-category extraction at scale, launch multiple tasks using pre-configured task definitions in TASKS.json.


💬 Your feedback

Have feature requests, custom dataset requirements, or questions? Contact the maintainers directly at reapxdev@proton.me or browse our public data archives on reapx.dev.


Unofficial - not affiliated with WordPress or the WordPress Foundation. Collects public data only. reapx. Contact reapxdev@proton.me.

🧪 Example input

A real, runnable configuration — this is an actual input this Actor has run with.

{
"tag": "woocommerce",
"browse": "popular",
"maxItems": 50
}

📄 Sample output

One real row from a real run of this Actor, unedited.

{
"slug": "google-listings-and-ads",
"name": "Google for WooCommerce",
"version": "3.8.1",
"author": "WooCommerce",
"authorProfile": "https://profiles.wordpress.org/woocommerce/",
"rating": 54,
"ratings": {
"5": 95,
"4": 8,
"3": 16,
"2": 15,
"1": 132
},
"numRatings": 266,
"supportThreads": 38,
"supportThreadsResolved": 25,
"activeInstalls": 800000,
"downloaded": 43029960,
"lastUpdated": "2026-07-23 3:45pm GMT",
"added": "2021-05-10",
"homepage": "",
"shortDescription": "Native integration with Google that allows merchants to easily display their products across Google’s network.",
"downloadLink": "https://downloads.wordpress.org/plugin/google-listings-and-ads.3.8.1.zip",
"tags": {
"ads": "ads",
"google": "google",
"listings": "listings",
"product-feed": "product feed",
"woocommerce": "woocommerce"
},
"requires": "6.6",
"tested": "7.0.2",
"requiresPhp": "7.4"
}

⚠️ Run outcomes and error handling

This Actor reports what happened in the run's status message, and it always keeps whatever it collected. These are the outcomes you can get and what each one means.

OutcomeWhat it means
SuccessRows were returned and you were charged plugin-scraped at $0.001 per row.
No matchesThe source returned nothing for your filters. Nothing is charged. Widen the date window or drop a filter.
Partial - source refusedThe source rate-limited or refused some requests. The affected items are skipped and named in the log, and everything already collected is still pushed. A block never discards a run's work.
Rejected filterThe source itself rejected the filter combination. The run fails fast with the source's own reason and nothing is charged.

What is guaranteed either way

  • Every row is pushed as it is built, not buffered to the end of the run. Anything that buffers output loses everything to a timeout, a block or a migration; this does not.
  • A field absent from the source is absent from the row. Nothing is inferred, modelled or filled in to make a row look complete.