Scraper for Firefox Add-ons — Extensions, Themes & Reviews
Pricing
from $1.50 / 1,000 results
Scraper for Firefox Add-ons — Extensions, Themes & Reviews
Export Firefox extensions, themes, ratings, reviews and version history from Mozilla Add-ons. 600k+ catalog, no key/login/proxy. Not affiliated with or endorsed by Mozilla.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Logiover
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Export Firefox extensions, themes, ratings, reviews and version history from Mozilla Add-ons. 600k+ catalog, no key/login/proxy. Not affiliated with or endorsed by Mozilla.
What does the Scraper for Firefox Add Scraper do?
This Actor turns Scraper for Firefox Add into a structured dataset you can actually work with. You give it a search, it walks the result pages, and it writes one clean row per record into your dataset — ready to export as JSON, CSV or Excel, or to pull straight from the Apify API.
It runs on plain HTTP with no browser and no login, which keeps it fast and cheap, and it works the same on a free account as on a paid one. Every field documented below came from a real verification run of this Actor, so what you read here is what you get.
The current build returns 55 populated fields per record, of which 45 are present on virtually every row.
Who is it for?
- Analysts who need Scraper for Firefox Add data as a spreadsheet instead of a browser tab.
- Operations and research teams tracking how Scraper for Firefox Add listings change over time.
- Developers wiring a live data feed into an internal tool or database.
- Growth and sales teams building prospect and market lists from public data.
- AI teams assembling structured training or grounding data.
Use cases
- Export a full Scraper for Firefox Add search into a spreadsheet for analysis.
- Track how prices, volumes or availability move week over week by scheduling the run.
- Feed a dashboard or internal database with a repeatable, structured source.
- Build a market map by running several searches in one job.
- Enrich an existing list by matching on the identifiers in the output.
Why use this Scraper for Firefox Add Scraper?
- 🔑 No API key and no login — nothing to authenticate, nothing to expire.
- 📦 55 verified fields — every column below was confirmed against live output.
- 📄 Real pagination — it walks the result set instead of returning the first screen.
- 🎯 Bounded runs — caps in the input stop the job exactly where you want, so the bill is predictable.
- 💸 Tiered pay-per-result — you pay per row, and higher Apify plans pay less per row.
- 📊 Export anywhere — JSON, CSV, Excel, HTML, the API, or any Apify integration.
What data can you extract?
One row per record. These columns come from a live run, with the share of rows that carried a value:
| Field | Type | Typically filled | Description |
|---|---|---|---|
addonId | number | 100% | Addon id |
addonType | string | 100% | Addon type |
authorNames | array | 100% | Author names |
authors | array | 100% | Authors |
averageDailyUsers | number | 100% | Average daily users |
averageRating | number | 100% | Average rating |
bayesianAverageRating | number | 100% | Bayesian average rating |
categories | array | 100% | Categories |
createdAt | string | 100% | Created at |
currentVersion | number | 100% | Current version |
currentVersionCreatedAt | number | 100% | Current version created at |
currentVersionId | number | 100% | Current version id |
currentVersionReviewedAt | number | 100% | Current version reviewed at |
description | string | 97% | Description |
downloadUrl | string | 100% | Download url |
fileHash | string | 100% | File hash |
fileSizeBytes | number | 100% | File size bytes |
firefoxMaxVersion | string | 100% | Firefox max version |
firefoxMinVersion | string | 100% | Firefox min version |
guid | string | 100% | Guid |
hasEula | boolean | 100% | Has eula |
hasPrivacyPolicy | boolean | 100% | Has privacy policy |
iconUrl | string | 100% | Icon url |
isDisabled | boolean | 100% | Is disabled |
isExperimental | boolean | 100% | Is experimental |
isRecommended | boolean | 100% | Is recommended |
licenseName | string | 100% | License name |
licenseSlug | string | 90% | License slug |
licenseUrl | string | 90% | License url |
name | string | 100% | Name |
permissions | array | 100% | Permissions |
previewImageUrls | array | 93% | Preview image urls |
query | string | 100% | Query |
ratingCount | number | 100% | Rating count |
recordType | string | 100% | Record type |
requiresPayment | boolean | 100% | Requires payment |
scrapedAt | string | 100% | Scraped at |
slug | string | 100% | Slug |
sourceEngine | string | 100% | Source engine |
status | string | 100% | Status |
summary | string | 100% | Summary |
textReviewCount | number | 100% | Text review count |
updatedAt | string | 100% | Updated at |
url | string | 100% | Url |
weeklyDownloads | number | 100% | Weekly downloads |
androidMaxVersion | string | 45% | Android max version |
androidMinVersion | string | 45% | Android min version |
contributionUrl | string | 35% | Contribution url |
dataCollectionPermissions | array | 27% | Data collection permissions |
homepageUrl | string | 77% | Homepage url |
hostPermissions | array | 23% | Host permissions |
optionalPermissions | array | 23% | Optional permissions |
promotedCategories | array | 25% | Promoted categories |
supportUrl | string | 80% | Support url |
tags | array | 53% | Tags |
Fields below 90% are genuinely optional at the source — Scraper for Firefox Add does not publish them for every record. An empty value means the source did not show it, not that extraction failed.
Output example
{"addonId": 607454,"addonType": "extension","authorNames": ["Raymond Hill"],"authors": [{"id": 11423598,"name": "Raymond Hill","username": "gorhill","url": "https://addons.mozilla.org/en-US/firefox/user/11423598/"}],"averageDailyUsers": 10995231,"averageRating": 4.8005,"bayesianAverageRating": 4.800186588358292,"categories": ["privacy-security"],"createdAt": "2015-04-25T07:26:22Z","currentVersion": "1.74.0","currentVersionCreatedAt": "2026-08-25T13:43:56Z","currentVersionId": 6437252,"currentVersionReviewedAt": "2026-08-25T13:46:35Z","description": "uBlock Origin is not an \"ad blocker\", it's a wide-spectrum content blocker with CPU and memory efficiency as a primary feature.\nOut of the box, uBO blocks ads, trackers, coin miners, popups, etc. through the following lists of filters, enabled by default:\nEasyList (ads)\nEasyPrivacy (tracking)\nPeter Lowe’s Ad server list (ads and tracking)\nOnline Malicious URL Blocklist\nuBO's own lists\nMore lists are available for you to select if you wish:\nEasyList Cookie\nFanboy Annoyances\nAdGuard Annoyances\nDan Pollock’s hosts file\nAnd many others\nAdditionally, you can point-and-click to block JavaScript locally or globally, create your own global or local rules to override entries from filter lists, and many more advanced features.\nFree.\nOpen source with public license (GPLv3)\nFor users by users.\nIf ever you really do want to contribute something, think about the people working hard to maintain the filter lists you are using, which were made available to use by all for free.\nDocumentation \nRelease notes \nCommunity support @ Reddit \nContributors @ GitHub \nContributors @ Crowdin","downloadUrl": "https://addons.mozilla.org/firefox/downloads/file/4981431/ublock_origin-1.74.0.xpi","fileHash": "sha256:175756d74468c9ba45863f7fc333d3be670f82d5b066314e915814dd547d1652","fileSizeBytes": 4617614,"firefoxMaxVersion": "*","firefoxMinVersion": "115.0","guid": "uBlock0@raymondhill.net","hasEula": false,"hasPrivacyPolicy": true}
How to use
- Open the Actor and fill in the search fields — the defaults below are a working example.
- Set the result cap so the run stops where you want it.
- Click Start, then export from the Output tab or pull the dataset through the API.
{"dataType": "ADDONS","searchQueries": ["ad blocker"],"addonType": "extension","sortBy": "users","maxResults": 100}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
dataType | string | ADDONS | Add-ons outputs extension/theme records. |
searchQueries | array | – | Keywords to search in Mozilla Add-ons. |
startUrls | array | – | Mozilla Add-ons URLs to fetch directly. |
addonSlugs | array | – | Alternative to URLs, for example ublock-origin. |
addonType | string | extension | Limit catalog searches to extensions, themes, dictionaries or language packs. |
sortBy | string | users | Mozilla's server-side result ordering. |
maxResults | integer | 100 | Global dataset row cap across all queries and source add-ons. |
sourceAddonLimit | integer | 10 | For Reviews or Versions mode, maximum number of add-ons discovered from searches before child records are coll. |
maxItemsPerAddon | integer | 100 | Per-add-on cap in Reviews or Versions mode. |
locale | string | en-US | Preferred locale used to flatten Mozilla's localized names, summaries, descriptions, licenses and release note. |
minAverageDailyUsers | integer | 0 | Client-side quality filter for catalog results. |
minAverageRating | number | 0 | Client-side rating filter from 0 to 5. |
includeRecentReviews | boolean | false | ADDONS mode only. |
maxRecentReviews | integer | 5 | Maximum recent reviews embedded in each add-on row when enrichment is enabled. |
includeRecentVersions | boolean | false | ADDONS mode only. |
maxRecentVersions | integer | 5 | Maximum recent versions embedded in each add-on row when enrichment is enabled. |
includeAllLocales | boolean | false | Add Mozilla's complete name, summary and description locale maps to ADDONS rows. |
includeRawRecord | boolean | false | Add the original Mozilla API object to each dataset row for advanced use. |
Tips for best results
- Broad searches return the deepest result sets; very narrow ones run out after a page or two.
- Use the result cap rather than the page cap when you want a predictable bill.
- Schedule the same input daily or weekly to build a history instead of a one-off snapshot.
- Lower the concurrency if you see retries — the source rate-limits aggressive crawling.
- Run several searches in one job instead of one search with a huge page count.
- Empty optional fields are normal; filter on the columns that matter to you after export.
- Deduplicate on the identifier column if you merge several runs together.
- Keep the proxy setting on the default unless the source blocks your region.
Integrations
Push results straight into Google Sheets, Slack, Zapier, Make, Airtable or any Webhook. You can also schedule the Actor and have each run append to the same dataset, which is how you turn a single export into a time series.
API usage
Replace <YOUR_TOKEN> with your Apify API token.
cURL
curl -X POST "https://api.apify.com/v2/acts/logiover~firefox-addons-scraper/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-H "Content-Type: application/json" \-d '{"dataType": "ADDONS", "searchQueries": ["ad blocker"], "addonType": "extension", "sortBy": "users", "maxResults": 100}'
Python
from apify_client import ApifyClientclient = ApifyClient('<YOUR_TOKEN>')run = client.actor('logiover/firefox-addons-scraper').call(run_input={"dataType": "ADDONS", "searchQueries": ["ad blocker"], "addonType": "extension", "sortBy": "users", "maxResults": 100})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_TOKEN>' });const run = await client.actor('logiover/firefox-addons-scraper').call({"dataType": "ADDONS", "searchQueries": ["ad blocker"], "addonType": "extension", "sortBy": "users", "maxResults": 100});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Use with AI agents (MCP)
This Actor is reachable through the Apify MCP server, so an AI agent can call it as a tool. Point the agent at https://mcp.apify.com and ask it something like "pull the first 200 results from Scraper for Firefox Add and summarise them" — it receives the same structured rows you would get from the UI.
FAQ
Do I need a Scraper for Firefox Add account or API key?
No. The Actor reads publicly available pages only. There is nothing to authenticate and no credentials to rotate.
Does it work on the free plan?
Yes. Every feature is available on a free Apify account — nothing is gated behind a paid tier. Pricing is per result, and higher plans simply pay less per row.
How many results can I get in one run?
As many as the search exposes. Raise the page and result caps together; the run stops at whichever limit it reaches first.
Why did I get fewer rows than I asked for?
The search ran out of records. That is normal for narrow queries — broaden the search or add more searches to one run.
Why are some fields empty?
Scraper for Firefox Add does not publish every attribute for every record. The table above shows how often each field is filled in practice.
What export formats are supported?
JSON, CSV, Excel, HTML and RSS from the Output tab, plus the Apify API and any integration you connect.
How fast is it?
It is pure HTTP with no browser, so a page of results typically takes a second or two.
Can I schedule it?
Yes. Use the Apify scheduler to run it on any interval and append each run to the same dataset.
Does it use a proxy?
It routes through Apify Proxy by default. You can switch groups or supply your own proxies in the input.
Is the output schema stable?
Yes. Field names and types are fixed, so downstream pipelines will not break between runs.
How often is the data refreshed?
Every run reads the live source. There is no cache, so the data is as current as the website itself.
What if the site changes its layout?
Open an issue on the Issues tab and it gets fixed — the Actor is actively maintained.
Is it legal?
This Actor reads only publicly available pages on Scraper for Firefox Add — the same content any visitor sees without logging in. It does not bypass authentication and does not collect private data. You remain responsible for how you use the output: respect the source's terms of service, applicable copyright, and data-protection law such as GDPR where personal data is involved.
Related scrapers
Browse the full collection at apify.com/logiover — Developer Tools tools and more.