WordPress Plugin Directory Stats and Health Score
Pricing
from $0.84 / 1,000 plugin rows
WordPress Plugin Directory Stats and Health Score
Get WordPress plugin directory stats: active installs, rating, downloads, version, last updated, tested-up-to WordPress version, support thread resolution and a health score that flags abandoned plugins. Uses the public WordPress.org plugins API. No login, no proxy.
Pricing
from $0.84 / 1,000 plugin rows
Rating
0.0
(0)
Developer
Detroit Web Agent - Open Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 minutes ago
Last modified
Categories
Share
WordPress Plugin Directory Stats and Health Score: Installs, Updates, Abandonment Risk
Read the WordPress.org plugin directory and get one clean row per plugin: active installs, rating, total downloads, version, last updated date, the WordPress version it was tested up to, PHP requirement, support thread resolution and a health score that shows which plugins look neglected. Pick the popular, new, updated or top-rated lists, or name the plugins you care about.
What does this Actor do?
It calls the free public WordPress.org plugins API (api.wordpress.org/plugins/info/1.2/), the same API the WordPress admin uses to browse plugins. No key and no login are needed. For each plugin it works out how many days have passed since the last update, how many WordPress releases behind its "tested up to" version is, and how many support threads were resolved, then combines them into a health score from 0 to 100.
By default it reads the popular, new and recently updated lists (25 plugins each, duplicates removed), so a default run returns roughly 60 to 75 rows.
Run in 30 seconds
- Open the Actor and press Try for free (a free Apify account is enough).
- Keep the prefilled lists and press Start. A run takes well under a minute.
- Open the Output tab. Use the table view or download CSV, Excel or JSON.
Input
| Field | What it does |
|---|---|
browse | Directory lists to read: popular, new, updated, top-rated. Default: popular, new, updated. |
perList | Plugins to read per list, 1 to 100. Default 25. |
slugs | Optional extra plugins by slug, for example akismet. A wordpress.org/plugins link also works. |
search | Optional directory search term, for example seo. |
minActiveInstalls | Drop plugins below this many active installs. |
onlyAtRisk | Keep only plugins with medium or high abandonment risk. |
sortBy | activeInstalls, healthScore (lowest first), lastUpdatedAt or downloadedTotal. |
maxItems | Stop after this many rows. |
Sample input:
{"browse": ["popular", "updated"],"perList": 50,"slugs": ["akismet", "woocommerce"],"onlyAtRisk": false,"sortBy": "healthScore","maxItems": 100}
Output
One row per plugin:
| Field | Meaning |
|---|---|
slug, name, pluginUrl | Plugin identifier, display name and its wordpress.org page. |
activeInstalls | Active installs as WordPress.org reports them (rounded steps such as 10,000 or 1,000,000). |
rating, numRatings | Average rating from 0 to 5 stars and the number of ratings. |
downloadedTotal | Total downloads over the plugin's life. |
version, lastUpdatedAt, addedAt | Current version, last update time (UTC) and the date it joined the directory. |
testedUpToWp, requiresWp, requiresPhp | Compatibility fields the plugin declares. |
supportThreadsResolved, supportThreadsTotal, supportResolvedPct | Support forum threads resolved and total. |
daysSinceUpdate, testedLagReleases | Days since the last update and how many WordPress releases behind the tested-up-to version is. |
healthScore, healthLabel, abandonmentRisk | 0 to 100 score, a label (healthy, watch, at risk) and low, medium or high risk. |
scrapedAt | When the row was read. |
Developer names, profiles and contact details are not output.
Sample output
{"slug": "elementor","name": "Elementor Website Builder - more than just a page builder","pluginUrl": "https://wordpress.org/plugins/elementor/","activeInstalls": 10000000,"rating": 4.5,"numRatings": 7319,"downloadedTotal": 910268920,"version": "4.3.5","lastUpdatedAt": "2026-10-13T12:48:00.000Z","addedAt": "2016-05-30","testedUpToWp": "7.1.3","requiresPhp": "7.4","supportThreadsResolved": 45,"supportThreadsTotal": 65,"daysSinceUpdate": 9,"testedLagReleases": 0,"healthScore": 94,"healthLabel": "healthy","abandonmentRisk": "low"}
Use cases
- Vet a plugin before you install it on a client site: a long gap since the last update and an old tested-up-to version are warning signs.
- Audit the plugins on your sites every month: list their slugs, sort by
healthScoreand replace the weakest ones first. - Spot new plugins that gain installs quickly, for newsletters, competitor research or product ideas.
- Feed rows into an n8n, Make or Zapier workflow that posts at-risk plugins to Slack or opens a ticket.
- Build a ranked "best maintained plugins in a niche" article using the search term and health score.
Why use it
- Official source. Data comes from the WordPress.org plugins API, not from page scraping.
- A score you can explain. The health score is a fixed formula, so the same plugin gives the same score on the same day.
- Ready for spreadsheets and workflows. Flat rows, ISO dates and numbers, no HTML to clean up.
Pricing
Pay per event. You pay a small fixed amount per plugin row delivered, listed on the Pricing tab, plus a tiny start fee per run. Slugs that are not found are never charged, and you can set a maximum cost per run in the run options.
FAQ
How is the health score calculated? Up to 50 points for how recently the plugin was updated (full marks at 30 days or less, zero at about two years), up to 30 points for the tested-up-to WordPress version (10 points lost for each WordPress release behind the current one), and up to 20 points for the share of support threads resolved (10 points when there are no threads). Risk is high when a plugin has not been updated for more than two years or scores under 35, medium under 60, otherwise low.
Which WordPress version counts as current? The actor reads the current release from the WordPress.org version check at run time. If that is unavailable it uses the newest tested-up-to value in the run and says so in the OUTPUT record.
Why are active installs round numbers? WordPress.org publishes active installs in steps, for example 100, 1,000, 10,000 and 1,000,000+. The actor passes them on unchanged.
Why is the plugin rating a decimal like 4.5? The API gives a 0 to 100 value. The actor divides it by 20 to give 0 to 5 stars.
Limits
- Only the public plugin directory is read. Premium plugins sold elsewhere are not included.
- The list endpoints return up to 100 plugins per list per run.
- Some very new plugins have no ratings, installs or support threads yet; those fields are empty or zero.
- Install counts and ratings are exactly as WordPress.org publishes them.
Related Actors
- Developer Signals tracks public developer activity signals for companies.
- Website Tech Stack detects which technologies a website runs on.
- Sitemap Link Inventory lists every URL a site publishes in its sitemaps.
Found a bug or need a field? Open an issue on the Issues tab with the run URL.
More from DWA Open Data
Browse all 69 data Actors, with live prices and sample output, at open-data-actors.pages.dev.
Feedback: if this Actor was useful, or if it fell short, an honest review on the Reviews tab helps other users decide. Problems or feature requests: please open an Issue and we usually reply within one business day.