WordPress Plugins & Themes Directory Scraper avatar

WordPress Plugins & Themes Directory Scraper

Pricing

from $6.80 / 1,000 results

Go to Apify Store
WordPress Plugins & Themes Directory Scraper

WordPress Plugins & Themes Directory Scraper

Scrape the WordPress.org plugin and theme directory with active install counts, total downloads, ratings, version, WordPress and PHP compatibility, author profile and last-updated date. Search by keyword, tag or popularity. Export to JSON, CSV or Excel.

Pricing

from $6.80 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Share

WordPress Plugins & Themes Directory Scraper

WordPress Plugins & Themes Directory Scraper

Here is one real result (the contributors and tags arrays are trimmed to the first entries to keep the example short; all values are real):

{
"name": "Yoast SEO – Advanced SEO with real-time guidance and built-in AI",
"slug": "wordpress-seo",
"type": "plugins",
"url": "https://wordpress.org/plugins/wordpress-seo/",
"author": "Yoast",
"authorProfile": "https://profiles.wordpress.org/yoast/",
"contributors": [
{ "username": "yoast", "displayName": "Yoast", "profile": "https://profiles.wordpress.org/yoast/", "avatar": "https://secure.gravatar.com/avatar/be9ad584631c908275babffbc3fd771d5879ace2c1e00305b17fd2d4361fe80d?s=96&d=monsterid&r=g" },
{ "username": "joostdevalk", "displayName": "Joost de Valk", "profile": "https://profiles.wordpress.org/joostdevalk/", "avatar": "https://secure.gravatar.com/avatar/6b6d1c4d29f1b149da0008917c70b019408d5af404a46bca853e4dd33546e1ed?s=96&d=monsterid&r=g" }
],
"donateLink": "https://yoa.st/1up",
"supportUrl": "https://wordpress.org/support/plugin/wordpress-seo/",
"version": "28.2",
"activeInstalls": 10000000,
"downloaded": 985377127,
"rating": 4.8,
"ratingScore": 96,
"numRatings": 27817,
"ratingsBreakdown": { "star5": 25989, "star4": 642, "star3": 202, "star2": 139, "star1": 845 },
"supportThreads": 49,
"supportThreadsResolved": 46,
"lastUpdated": "2026-08-04 5:19am GMT",
"added": "2010-10-11",
"requiresWp": "6.8",
"testedWp": "7.0.3",
"requiresPhp": "7.4",
"requiresPlugins": null,
"homepage": "https://yoa.st/1uj",
"downloadLink": "https://downloads.wordpress.org/plugin/wordpress-seo.28.2.zip",
"previewUrl": null,
"iconUrl": "https://ps.w.org/wordpress-seo/assets/icon-256x256.gif?rev=3419908",
"bannerUrl": "https://ps.w.org/wordpress-seo/assets/banner-1544x500.png?rev=3257862",
"shortDescription": "Real-time SEO guidance, schema, and AI built in. Help search engines and AI systems understand your content. All AI tools included, no hidden fees.",
"tags": ["Content analysis", "Readability", "schema", "seo"],
"source": "WordPress.org Plugins",
"observedAt": "2026-08-10T14:29:19.538Z"
}

The most complete WordPress.org directory scraper available. It returns every field the plugin or theme directory exposes, from active install count, total downloads, version and rating to the full 5-star ratings breakdown, WordPress and PHP compatibility, support thread stats, dates, and every contributor with their profile link (an author lead), and lets you search by keyword, tag, or browse by popularity across both the plugin and theme directories.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor queries the official WordPress.org plugin or theme directory and returns one normalized record per plugin or theme. Each record includes the active install count, total downloads, current version, star rating with the full ratings breakdown, WordPress and PHP compatibility, support thread stats, added and last-updated dates, icon and banner images, tags, the short description, and every contributor with their profile link. Numbers are parsed to integers, ratings are exposed both as a raw 0 to 100 score and as 0 to 5 stars, and missing values are returned as null.

Search by keyword, restrict to one directory tag, or browse by popularity, featured, newest, or recently updated. Switch type to scrape the theme directory instead.

Quickstart

Open the actor, paste this into the input, and press Run. It returns the 10 top plugins matching seo.

{
"maxPlugins": 10,
"type": "plugins",
"searchQuery": "seo",
"browse": "popular"
}

Leave searchQuery empty to browse by popularity (or set browse to featured, newest, or updated). Every input field is optional.

Input reference

FieldTypeRequiredDefaultDescription
maxPluginsintegerno10Maximum number of plugins or themes to collect.
typeenumnopluginsWhich directory to scrape: plugins or themes.
searchQuerystringnoseoKeyword to search the directory (for example woocommerce, backup, security). Leave empty to browse by popularity or tag.
browseenumnopopularWhen no keyword is set, list by popular, featured, new, or updated.
tagstringno(empty)Restrict to one directory tag by slug (for example ecommerce, gallery, cache, forms). Used only when no search keyword is set.

All fields are optional. With no keyword and no tag, the actor browses the most popular plugins.

Output reference

One dataset item per plugin or theme. Types: string, integer, number, object, object[], string[], or null when the source value is absent.

FieldTypeDescription
namestringPlugin or theme name.
slugstringDirectory slug (unique).
typestringplugins or themes.
urlstringPublic directory page URL.
authorstringAuthor display name (an author lead).
authorProfilestringAuthor WordPress.org profile URL, or null.
contributorsobject[]Every contributor with username, displayName, profile, avatar.
donateLinkstringDonation URL, or null.
supportUrlstringSupport forum URL, or null.
versionstringCurrent version.
activeInstallsintegerActive install count, or null.
downloadedintegerTotal downloads, or null.
ratingnumberRating on a 0 to 5 scale, or null.
ratingScoreintegerRaw rating on a 0 to 100 scale, or null.
numRatingsintegerNumber of ratings, or null.
ratingsBreakdownobjectCounts per star: star5 through star1, or null.
supportThreadsintegerNumber of support threads, or null.
supportThreadsResolvedintegerNumber of resolved support threads, or null.
lastUpdatedstringLast updated date, or null.
addedstringDate added to the directory, or null.
requiresWpstringMinimum WordPress version required, or null.
testedWpstringLatest WordPress version tested, or null.
requiresPhpstringMinimum PHP version required, or null.
requiresPluginsstring[]Required plugin slugs, or null.
homepagestringPlugin or theme homepage, or null.
downloadLinkstringDirect download ZIP URL, or null.
previewUrlstringLive preview URL (themes), or null.
iconUrlstringIcon image URL, or null.
bannerUrlstringBanner image URL, or null.
shortDescriptionstringShort description, or null.
tagsstring[]Directory tags, or null.
sourcestringData source label: WordPress.org Plugins or WordPress.org Themes.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringPresent only on a failed run; an item with a populated error field is written instead.

Example output record

See the hero example at the top of this page. It is a real record from a live run with input {"maxPlugins": 10, "type": "plugins", "searchQuery": "seo", "browse": "popular"}, with the contributors and tags arrays trimmed for readability. A live run returns every contributor and tag.

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~wordpress-plugins-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQuery":"woocommerce","type":"plugins","maxPlugins":25}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~wordpress-plugins-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"type":"themes","browse":"popular","maxPlugins":100}'

Apify CLI:

apify call scrapers_lat/wordpress-plugins-scraper \
--input '{"tag":"cache","type":"plugins"}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per plugin or theme record returned (result event). See the pricing tab for the current per-result price.
  • No charge on failure. If the directory is unavailable, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run. Upgrade for higher maxPlugins.

FAQ and troubleshooting

Can I scrape themes as well as plugins? Yes. Set type to themes to scrape the WordPress.org theme directory with the same fields.

How do I get the most popular plugins for a topic? Set searchQuery to your keyword. Leave it empty and set browse to popular to list the most popular overall.

What is the difference between rating and ratingScore? rating is on a 0 to 5 star scale; ratingScore is the raw 0 to 100 score from the directory. ratingsBreakdown gives the count per star.

Why do author leads matter? author, authorProfile, and the full contributors list (each with a profile link) let you identify and contact the developers behind popular plugins.

A run returned 0 records. Why? The keyword or tag matched nothing. Try a broader keyword or leave it empty to browse. Zero-result runs are not charged.

Is this an official WordPress tool? No. This actor is independent and has no affiliation with WordPress or Automattic. It reads only data that is publicly available through the WordPress.org directory API. Use it in accordance with the source terms of service.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with WordPress or Automattic. Accesses only publicly available WordPress.org directory data. Use in accordance with the source terms of service.