Switching from Capterra Software Products Scraper (Bulk URLs) to Capterra Products Scraper
Capterra Products Scraper (arcadium/capterra-products) reads input written for dionysus_way/capterra-software-service-category-scraper: 2 of its 2 input fields work as they are. Field list from its public input schema (build 1.0.7, 2026-10-31); prices and run results from the public Apify API, 2026-10-31.
Their fields that work as they are
| Their field | Type | Note |
|---|---|---|
startUrls | array | As is |
maxPages | integer | Read as 25 products a page, up to 1,000 products a category. |
Side by side: their input, our rows
Input written for dionysus_way/capterra-software-service-category-scraper, pasted unchanged:
{
"startUrls": [
"https://www.capterra.com/ab-testing-software/"
],
"maxPages": 4
}One row from arcadium/capterra-products (README example; long text shortened):
{
"rowType": "product",
"platform": "capterra",
"seoId": "184581",
"name": "Asana",
"vendor": "Asana",
"rating": 4.49,
"reviewCount": 13770,
"category": "Project Management",
"pricing": {
"startingPrice": 10.99,
"currency": "USD",
"model": "Per User",
"frequency": "Per Month",
"hasFreeTrial": true,
"hasFreeVersion": true,
"summary": "From $10.99 (Per User, Per Month)"
},
"topFeatures": [
"Task Management",
"Collaboration Tools"
],
"rank": 18,
"sponsored": false
}Output fields: rowType, platform, seoId, name, url, vendor, rating, reviewCount, category, description, pricing, topFeatures, rank, sponsored, page, categoryUrl, scrapedAt, input, code, message. The rows use these names, not the other actor’s.
Price
| Actor | Pricing model | Charged per | Per 1,000, Free plan | Per 1,000, lowest plan |
|---|---|---|---|---|
| arcadium/capterra-products | Pay per event | Product | $6.21 | $3.51 |
| dionysus_way/capterra-software-service-category-scraper | Pay per event | Listing | $6.90 | $3.90 |
Live Apify prices on 2026-10-31, in USD, for each actor’s main charged event. Start fees and platform usage are not included. Units differ: compare what one charged row contains. The Store page of each actor is the current source.
Common issues: failed or timed-out runs
- Capterra Software Products Scraper (Bulk URLs) timed out: 2.0% of 147 runs timed out.
| Actor | Runs, last 30 days | Failed | Timed out |
|---|---|---|---|
| arcadium/capterra-products | under 50 runs (11 runs) | - | - |
| dionysus_way/capterra-software-service-category-scraper | 147 | 0.0% | 2.0% |
Apify’s public run statistics for each actor, last 30 days to 2026-10-31: FAILED and TIMED-OUT runs as a share of all runs. Shown from 50 runs. A failed run can also come from a bad input. Here an input that cannot be read comes back as a free error row with a code, and the other inputs still arrive.
How to switch
In the Apify Store
- Open arcadium/capterra-products and sign in to Apify.
- On the Input tab, switch the editor to JSON and paste the input you used for dionysus_way/capterra-software-service-category-scraper.
- Start the run. Set a maximum cost per run in the run options if you want a hard cap.
Over the API
Change the actor ID in the URL from dionysus_way~capterra-software-service-category-scraper to arcadium~capterra-products; the body stays the same.
curl -X POST "https://api.apify.com/v2/acts/arcadium~capterra-products/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls":["https://www.capterra.com/ab-testing-software/"],"maxPages":4}'
In n8n
In the Apify node, change the actor to arcadium/capterra-products and keep the input JSON. With an HTTP Request node:
{
"nodes": [
{
"name": "Run arcadium/capterra-products",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4,
"position": [
0,
0
],
"parameters": {
"method": "POST",
"url": "https://api.apify.com/v2/acts/arcadium~capterra-products/run-sync-get-dataset-items",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "{\"startUrls\":[\"https://www.capterra.com/ab-testing-software/\"],\"maxPages\":4}",
"options": {
"timeout": 300000
}
}
}
],
"connections": {}
}
From an AI assistant (MCP)
Add the actor as a tool on Apify’s MCP server; an agent can pass the same input fields.
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=arcadium/capterra-products",
"headers": {
"Authorization": "Bearer <APIFY_TOKEN>"
}
}
}
}