SaaSworthy Software Directory Scraper avatar

SaaSworthy Software Directory Scraper

Pricing

Pay per event

Go to Apify Store
SaaSworthy Software Directory Scraper

SaaSworthy Software Directory Scraper

Extract public SaaSworthy software profiles, pricing plans, features, ratings, review sentiment, alternatives, and vendor metadata for market intelligence.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Categories

Share

Extract structured software profiles, pricing plans, features, ratings, review sentiment, alternatives, and vendor metadata from SaaSworthy.

Use product URLs for exact lookups or category slugs to build a market map. Each output row is a rich software-product record ready for spreadsheets, BI tools, databases, agents, and scheduled monitoring.

What does SaaSworthy Software Directory Scraper do?

The Actor visits public SaaSworthy product and category pages and turns them into consistent JSON records.

It collects:

  • software name, slug, URL, tagline, and description
  • primary software category
  • SW Score and component scores
  • aggregate user rating and rating count
  • rating distribution
  • pricing summary, free-plan, and free-trial signals
  • named pricing plans, prices, billing periods, and plan features
  • product feature lists
  • supported platforms and organization types
  • API and support availability
  • suggested alternatives
  • positive and negative review sentiment topics
  • review summary, pros, and cons
  • logo, screenshots, and buyer FAQs

Who is it for?

Product marketers

Track competitor positioning, plan packaging, feature claims, and review sentiment.

SaaS founders

Map a category before entering a market or changing pricing.

Analysts and investors

Build repeatable software-category datasets for market and deal research.

Content and SEO teams

Create evidence-backed comparison tables, alternatives pages, and software roundups.

Procurement teams

Collect comparable product, plan, feature, and rating data before shortlisting tools.

Data engineers

Feed normalized SaaSworthy records into warehouses, dashboards, and enrichment pipelines.

Why use this SaaSworthy scraper?

Copying product pages by hand is slow and difficult to refresh.

This Actor provides:

  • exact product lookup by URL or slug
  • category-level product discovery
  • consistent field names across products
  • nested pricing plans and alternatives
  • bounded retries for traffic challenges
  • optional Apify Proxy configuration
  • JSON, CSV, Excel, XML, and RSS exports
  • scheduled runs and webhook integrations
  • pay-per-event pricing that scales with produced records

What data can I extract?

FieldDescription
nameSoftware product name
slugCanonical SaaSworthy product slug
productUrlPublic source URL
taglineProduct positioning statement
descriptionSaaSworthy product overview
categoryPrimary software category
swScoreSaaSworthy ranking score
scoreBreakdownFeature, review, momentum, and popularity components
ratingDisplayed user rating
ratingCountNumber of displayed ratings
ratingDistributionExcellent through terrible percentages
pricingSummaryTrial and starting-price summary
hasFreeTrialWhether a free trial is advertised
hasFreePlanWhether a free plan/freemium offer is advertised
pricingPlansPlan names, prices, billing periods, descriptions, features
featuresProduct capabilities listed by SaaSworthy
platformsBrowser, mobile, and desktop availability
organizationTypesSupported company sizes and user types
apiSupportDisplayed API availability
supportModesOnline and other support modes
alternativesRelated products with canonical URLs
positiveSentimentsPositive themes from review analysis
negativeSentimentsNegative themes from review analysis
reviewSummarySource review summary
prosSummarized advantages
consSummarized drawbacks
logoUrlProduct logo URL
screenshotUrlsProduct screenshot URLs
faqsBuyer questions and answers
scrapedAtUTC extraction time

How to scrape SaaSworthy product profiles

  1. Open the Actor in Apify Console.
  2. Add one or more product URLs or slugs.
  3. Set a small maximum for the first run.
  4. Leave proxy disabled unless your network is challenged.
  5. Click Start.
  6. Review the records in the SaaSworthy software products view.
  7. Export or integrate the default dataset.

Example product input:

{
"productUrls": ["slack", "asana"],
"maxItems": 2,
"proxyConfiguration": { "useApifyProxy": false }
}

How to scrape a SaaSworthy category

Use the part after /list/ in a category URL.

For example:

{
"categories": ["project-management-software"],
"maxItems": 20,
"maxPagesPerCategory": 2
}

The Actor discovers canonical product links and then opens each product profile.

To control run duration:

  • reduce maxItems
  • reduce maxPagesPerCategory
  • split large category portfolios into scheduled tasks
  • use exact product slugs when discovery is unnecessary

Input reference

productUrls

An array of full SaaSworthy product URLs or bare slugs.

Accepted examples:

  • slack
  • asana
  • https://www.saasworthy.com/product/slack

categories

An array of SaaSworthy category slugs or list URLs.

Examples:

  • project-management-software
  • crm-software
  • business-instant-messaging-software

startUrls

A mixed list of exact SaaSworthy product and list URLs.

maxItems

Maximum product records across all sources. Default: 10.

maxPagesPerCategory

Maximum listing pages visited for each category. Default: 2.

proxyConfiguration

Optional Apify Proxy settings. Direct browser access is the default and avoids unnecessary proxy bandwidth.

Output example

{
"name": "Slack",
"slug": "slack",
"productUrl": "https://www.saasworthy.com/product/slack",
"category": "Business Instant Messaging Software",
"swScore": 98,
"rating": 3.7,
"ratingCount": 338,
"hasFreeTrial": true,
"hasFreePlan": true,
"pricingPlans": [
{
"name": "Pro",
"price": "$4.38",
"billingPeriod": "per user / month",
"features": ["Unlimited message history", "Unlimited app integrations"]
}
],
"positiveSentiments": ["Real-time Messaging", "Extensive Integrations"],
"negativeSentiments": ["Storage Limitations", "Notification Overload"],
"scrapedAt": "2026-07-14T00:00:00.000Z"
}

Source fields vary by product. Missing source sections are returned as empty arrays or null rather than invented values.

How much does it cost to scrape SaaSworthy?

The Actor uses pay-per-event pricing:

  • a small one-time Start event per run
  • a Software product extracted event for each saved product
  • tier discounts reduce the per-product event price on larger Apify plans

The current event price is displayed before each run in Apify Console.

Browser compute and optional proxy usage are billed separately by Apify. Keep first runs small to measure your workflow.

A run with exact product slugs is usually cheaper than a category crawl because it skips listing discovery.

Pricing intelligence workflow

To monitor competitor plans:

  1. Create one task with the target product slugs.
  2. Set maxItems to the portfolio size.
  3. Schedule the task daily or weekly.
  4. Store each dataset in your warehouse.
  5. Compare pricingPlans, features, and scrapedAt over time.
  6. Trigger a webhook when a plan name, price, or feature list changes.

The Actor captures source data; your downstream workflow decides what counts as a meaningful change.

Market mapping workflow

To create a category map:

  1. Start from one or more category slugs.
  2. Collect product names, URLs, ratings, SW Scores, and alternatives.
  3. Use alternatives as relationship edges.
  4. Group products by pricing model and feature coverage.
  5. Refresh the map on a schedule.

This is useful for product strategy, market reports, acquisition scouting, and competitive content.

Tips for reliable runs

  • Start with one known product such as slack.
  • Prefer canonical SaaSworthy URLs.
  • Avoid setting large limits before a small validation run.
  • Use category discovery only when you need multiple products.
  • Do not enable a residential proxy by default.
  • If the site challenges your network, configure Apify Proxy and retry.
  • Schedule conservative batches instead of one oversized run.
  • Treat pricing details as source observations, not guaranteed vendor quotes.
  • Confirm high-stakes purchasing decisions on the vendor website.

Handling errors and missing data

The Actor retries challenged navigation with fresh browser state.

If one product fails:

  • the failure is logged
  • other products continue
  • no empty shell record is saved

A run fails when every requested product is invalid or inaccessible. This protects downstream systems from treating empty pages as real products.

Some products do not publish:

  • pricing plans
  • rating distribution
  • review sentiment
  • FAQs
  • screenshots

Those fields remain empty or null.

Integrations

Google Sheets

Use the Apify Google Sheets integration to refresh a software comparison workbook.

Webhooks

Send a dataset-ready webhook to your change-detection or alerting service.

Zapier and Make

Trigger CRM updates, competitive-intelligence tickets, or content briefs after a scheduled run.

Data warehouses

Pull dataset items into BigQuery, Snowflake, PostgreSQL, or your object store.

Slack and email alerts

Compare the newest record with the previous run and notify a team when pricing or sentiment changes.

Run with the Apify API using cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~saasworthy-software-directory-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"productUrls":["slack"],"maxItems":1}'

Fetch dataset items after the run finishes:

$curl "https://api.apify.com/v2/datasets/DATASET_ID/items?clean=true&format=json"

Run with the Apify API using Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/saasworthy-software-directory-scraper').call({
productUrls: ['slack', 'asana'],
maxItems: 2,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Run with the Apify API using Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/saasworthy-software-directory-scraper').call(
run_input={
'categories': ['project-management-software'],
'maxItems': 10,
'maxPagesPerCategory': 1,
}
)
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Use with MCP and AI assistants

Connect the Actor through Apify MCP:

https://mcp.apify.com/?tools=automation-lab/saasworthy-software-directory-scraper

In Claude Code, add the hosted server:

$claude mcp add --transport http apify https://mcp.apify.com/?tools=automation-lab/saasworthy-software-directory-scraper

Claude Desktop setup

Cursor setup

VS Code setup

Claude Desktop and Cursor can use this mcpServers configuration (supply authentication using your environment or client settings):

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=automation-lab/saasworthy-software-directory-scraper"
}
}
}

VS Code users can add the same HTTP URL from the MCP server settings. Authenticate the Apify MCP connection with your Apify token.

Example prompts:

  • “Extract Slack and Asana pricing, features, ratings, and sentiment from SaaSworthy.”
  • “Build a ten-product map of project management software.”
  • “Compare the free plans and negative review themes of these SaaS competitors.”
  • “Run my SaaSworthy competitor portfolio task and summarize pricing changes.”

AI output should cite the source records and avoid inventing unavailable fields.

Scheduling and monitoring

Apify tasks preserve a tested input configuration.

Recommended schedules:

  • daily for high-priority competitor pricing
  • weekly for product and sentiment monitoring
  • monthly for broad category maps

Use a stable product list for clean comparisons. Category membership can naturally change between runs.

Data quality and limitations

SaaSworthy is a third-party software directory.

The Actor reports what the public source displays at extraction time.

Important limitations:

  • source data may be vendor-entered or summarized
  • rating counters may differ between page sections
  • plan prices can be localized or outdated
  • products may omit optional sections
  • anti-bot rules can change
  • a public profile can move to another slug

For procurement or financial decisions, verify details with the software vendor.

This Actor extracts publicly available pages without logging in.

You are responsible for:

  • following applicable laws
  • respecting website terms
  • avoiding personal-data misuse
  • choosing reasonable run frequency
  • using the output for a lawful purpose

Do not use the Actor to bypass access controls or collect private account data.

FAQ

Does this Actor need a SaaSworthy account?

No. It uses public product and category pages.

Does it scrape individual user reviews?

It extracts aggregate ratings, rating distribution, sentiment topics, review summary, pros, and cons from the product profile. It does not emit individual reviewer records.

Can I scrape multiple categories?

Yes. Add several category slugs and set a combined maxItems cap.

Why did a product return no record?

The URL may be invalid, redirected to a generic page, temporarily challenged, or missing a real SaaSworthy product profile. Check the run log and test the canonical URL in a browser.

Why is a pricing plan missing?

Not every product publishes structured plans. SaaSworthy can also show only a starting-price summary.

Can I use a proxy?

Yes. Configure proxyConfiguration in the Actor input. Start without one, then enable it only when required.

Can I export CSV or Excel?

Yes. Apify datasets support JSON, CSV, Excel, XML, RSS, and other formats.

How do I avoid duplicates?

The Actor canonicalizes discovered product URLs and saves each product once per run.

Combine this Actor with other automation-lab tools:

Use only the sources needed for your workflow and reconcile entities by canonical website domain where possible.

Support

If a public SaaSworthy page works in your browser but fails in the Actor, open an issue from the Actor page.

Include:

  • the exact input
  • the run URL
  • the affected SaaSworthy URL
  • the expected field or record

This makes reproduction and repair faster.