Toolify AI Directory Scraper
Pricing
Pay per event
Toolify AI Directory Scraper
📊 Export public Toolify AI catalog records, rankings, websites, pricing, ratings, saves, and feature data for market intelligence, lead lists, and scheduled monitoring.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Export public AI tool listings from Toolify.ai into clean JSON, CSV, Excel, or API-ready dataset records.
Use category pages, Toolify ranking lists, or category keywords. The Actor returns one normalized row per unique AI tool with its name, profile, website, categories, popularity signals, pricing, and source position when those fields are visible.
- 🔎 Discover AI products in a niche
- 📈 Snapshot new, most-saved, or most-used rankings
- 🧭 Map categories for market research
- 💼 Build SaaS prospect and partner lists
- ⏱️ Schedule recurring competitor-monitoring runs
No Toolify account is required for public catalog data.
What does Toolify AI Directory Scraper do?
Toolify AI Directory Scraper turns Toolify catalog pages into structured data.
It accepts three source types in the same run:
- Toolify category, ranking, or tool URLs
- Ranking modes such as
newandmost_used - Category keywords such as
web scraping
The Actor follows pagination, stops at your global maxItems limit, and deduplicates records by Toolify handle.
Category pages can expose rich expansion data without opening every tool profile. This keeps requests and runtime low while still collecting pricing plans, features, use cases, and descriptions when available.
Who is this Toolify scraper for?
AI market researchers
Export a category to compare entrants, positioning, pricing, ratings, and save signals.
SaaS founders and product teams
Monitor newly listed or most-used tools to spot competitors, partnership targets, and changing category leaders.
Directory and newsletter operators
Create a structured source list for editorial research, curation, and scheduled updates.
Lead-generation teams
Collect official product websites and category context before downstream company or contact enrichment.
Investors and analysts
Capture repeatable ranking snapshots with timestamps for trend analysis.
Why use this AI tools directory scraper?
- HTTP-first: no browser is launched for pages that already expose server-rendered data.
- Global deduplication: mixed inputs do not create duplicate rows for the same Toolify handle.
- Ranking context: every row retains its source type, position, and source URL.
- Optional enrichment: disable rich page details for smaller listing-only exports.
- Bounded crawling:
maxItemsandmaxPagesPerSourceprevent accidental oversized runs. - Strict scope: explicit URLs must point to supported public
toolify.aicatalog paths. - Honest output: omitted source values are not replaced with invented nulls or estimates.
- Export anywhere: use Apify datasets, integrations, API clients, webhooks, or MCP.
What Toolify data can I extract?
| Field | Type | Meaning |
|---|---|---|
name | string | AI tool or product name |
handle | string | Canonical Toolify handle |
tagline | string | Short listing description |
description | string | Longer summary when exposed |
toolifyUrl | URL | Canonical Toolify profile |
websiteUrl | URL | Official outbound website |
imageUrl | URL | Listing image when available |
categories | string[] | Human-readable categories |
categoryHandles | string[] | Toolify category identifiers |
rating | number | Visible Toolify rating |
reviewCount | number | Visible review count |
savedCount | number | Visible save/bookmark count |
isFree | boolean | Whether the listing is marked free |
pricingPlans | string[] | Visible plan, price, and description text |
features | string[] | Core features exposed by Toolify |
useCases | string[] | Toolify use-case labels |
faqs | string[] | Visible question and answer pairs |
listType | string | Category-keyword, category, or ranking context |
rank | number | Position in the fetched source page |
sourceUrl | URL | Input page that produced the row |
searchQuery | string | Keyword used to resolve a Toolify category |
scrapedAt | date | ISO 8601 extraction timestamp |
Fields appear only when Toolify exposes them on the selected public page.
How to scrape Toolify in 5 steps
- Open the Actor input page.
- Add a Toolify category URL, choose ranking lists, or enter category keywords.
- Set a small
maxItemsvalue for the first run. - Enable details if you need pricing, features, use cases, or FAQs.
- Click Start and export the dataset from the run.
The prefilled category input is suitable for a quick first test.
Input parameters
Toolify URLs (startUrls)
Accepts public Toolify category, ranking, and tool pages.
Example:
{"startUrls": [{ "url": "https://www.toolify.ai/category/ai-web-scraping" }],"maxItems": 20}
URLs on other hostnames fail closed instead of being crawled.
Category keywords (searchQueries)
Add one or more Toolify category phrases. The Actor normalizes each phrase to Toolify's public category URL, for example web scraping becomes /category/ai-web-scraping.
{"searchQueries": ["web scraping"],"maxItems": 50}
Use an explicit category URL if Toolify's handle differs from the normalized phrase.
Ranking lists (listModes)
Supported values:
new— recently listed AI toolsmost_saved— tools with the strongest save signalmost_used— tools ranked by Toolify usage
Limits and details
maxItems: global unique-tool limit, default 20maxPagesPerSource: pagination safety cap, default 10includeDetails: retain rich expansion fields, default trueproxyConfiguration: optional Apify Proxy settings, disabled by default
Example: category market map
{"startUrls": [{ "url": "https://www.toolify.ai/category/ai-web-scraping" }],"maxItems": 100,"includeDetails": true,"maxPagesPerSource": 5}
Use this workflow to compare products in one established category.
Example: scheduled ranking monitor
{"listModes": ["new", "most_used"],"maxItems": 100,"includeDetails": false,"maxPagesPerSource": 3}
Schedule the task daily or weekly. Store each dataset or send it to your database to compare positions over time.
Output example
{"name": "Apify","handle": "apify","tagline": "Apify is a full-stack platform for web scraping, data extraction, and automation.","toolifyUrl": "https://www.toolify.ai/tool/apify","websiteUrl": "https://www.apify.com/?fpr=7nnph","categories": ["AI Developer Tools", "Web Scraping"],"rating": 5,"reviewCount": 0,"savedCount": 6,"pricingPlans": ["Free | $0 | $5 to spend in Apify Store or on your own Actors"],"listType": "category","rank": 1,"sourceUrl": "https://www.toolify.ai/category/ai-web-scraping","scrapedAt": "2026-07-24T00:00:00.000Z"}
Actual values change as Toolify updates its directory.
How much does it cost to scrape Toolify AI tools?
This Actor uses pay-per-event pricing.
- Actor start: $0.005 per run
- AI tool result: $0.000096556 per result on the BRONZE tier before volume discounts
At the current BRONZE price, 100 results cost about $0.0147 including the start event. Higher subscription tiers receive lower per-result prices.
The Apify Free plan includes platform credits, so small tests may fit within your monthly allowance. Check the live pricing panel for the price applicable to your plan; the final price is based on saved records, not requested limits.
Data quality and deduplication
The Actor identifies tools by canonical Toolify handle.
When multiple sources contain the same handle, only the first encountered record is stored. That record keeps the ranking context of its first source.
The parser normalizes whitespace, resolves relative URLs, converts visible K/M/B counts to numbers, and omits empty optional fields.
A page that returns no recognizable tool records fails the run. This prevents successful-looking empty datasets from hiding a route or parser problem.
Pagination and scaling tips
- Start with 10–20 items.
- Prefer category URLs for rich detail fields.
- Increase
maxPagesPerSourceonly when the category is known to have many pages. - Combine related sources in one run to benefit from global deduplication.
- Use listing-only mode for frequent lightweight snapshots.
- Keep concurrency conservative because Toolify is a public directory, not a bulk export API.
The Actor waits between pages and stops when pagination repeats the same handles.
Integrations and automation workflows
Google Sheets or Airtable
Send each finished dataset to a research table for sorting by category, rating, saves, or rank.
Webhooks and Make
Trigger a downstream workflow when a scheduled run finishes. Filter new handles and notify your product or editorial team.
Slack monitoring
Compare the latest ranking snapshot with yesterday's dataset and post new or moved tools to a channel.
Database enrichment
Use websiteUrl as the key for a separate company, domain, or contact-enrichment process.
Apify schedules
Create a daily or weekly schedule for new-tool discovery and category monitoring.
JavaScript API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/toolify-ai-directory-scraper').call({startUrls: [{ url: 'https://www.toolify.ai/category/ai-web-scraping' }],maxItems: 50,includeDetails: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python API example
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("automation-lab/toolify-ai-directory-scraper").call(run_input={"listModes": ["most_used"],"maxItems": 50,"includeDetails": False,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
cURL API example
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~toolify-ai-directory-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url":"https://www.toolify.ai/category/ai-web-scraping"}],"maxItems": 20,"includeDetails": true}'
Fetch results from the run's defaultDatasetId after it succeeds.
Use Toolify AI Directory Scraper with MCP
Connect the Actor to Claude Code:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/toolify-ai-directory-scraper"
Claude Desktop, Cursor, and VS Code can use this configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/toolify-ai-directory-scraper"}}}
Example prompts:
- “Export the first 30 tools in Toolify's AI web scraping category.”
- “Run the Toolify most-used ranking monitor and summarize the top 10.”
- “Build a dataset of AI coding assistant websites from Toolify.”
Proxy and rate-limit behavior
Direct HTTP is the default because verified category pages expose useful SSR data anonymously.
Some ranking routes use stricter Cloudflare rules. The Actor retries selected locale-prefixed public pages. If a ranking remains blocked, enable Apify Proxy in the input.
Use the cheapest proxy setup that works. Do not enable residential proxies for category pages that already work directly.
The Actor reports route blocks in logs and fails on total extraction failure.
Limitations
- Toolify controls which fields are visible on each page type.
- Ranking cards may contain fewer details than category cards.
- Category keywords work only when the normalized phrase matches a public Toolify category handle.
- The same tool can move between pages while a large live crawl is running.
rankis the position in the fetched source page, not a universal Toolify score.- This Actor does not scrape private accounts, saved lists, or user-only data.
- It does not invent traffic estimates when Toolify does not expose them.
Is it legal to scrape Toolify?
This Actor extracts publicly accessible directory information.
You are responsible for your use of the data. Review Toolify's terms, robots guidance, and applicable privacy, database, copyright, and marketing laws. Avoid collecting or using personal data without a lawful purpose.
Use conservative run sizes and schedules. Do not overload the source or attempt to bypass private access controls.
Troubleshooting
The run says a Toolify route was blocked
Try a category URL first. If the selected public ranking route is required, enable Apify Proxy and rerun with a small limit.
The run produced no records
Check that the URL is a supported Toolify category, ranking, or tool path. Review logs for an HTTP block or page-layout change. The Actor intentionally fails rather than returning a silent empty export.
Some fields are missing
Different Toolify page types expose different data. Use a category page with includeDetails: true for pricing, features, and use cases when available.
Results stop before maxItems
The source may contain fewer unique tools, pagination may have ended, or duplicate handles may have been removed. Increase maxPagesPerSource only when more source pages exist.
FAQ
Do I need a Toolify login?
No. The supported scope uses public catalog data.
Can I combine categories and rankings?
Yes. Add URLs and list modes in one input. maxItems applies globally and duplicate handles are removed.
Can I scrape one Toolify tool profile?
Yes, supported public /tool/... URLs are accepted, but Toolify may protect detail routes more aggressively. Category pages often expose the same useful details more reliably.
Does this Actor return monthly traffic?
Only when the selected page exposes a value the parser can verify. It never fabricates missing traffic metrics.
Can I schedule it?
Yes. Apify schedules are ideal for new-tool, ranking, and category snapshots.
What export formats are available?
Apify datasets support JSON, CSV, Excel, XML, RSS, and API access.
Related scrapers
- G2 Scraper — collect software review and product-market evidence.
- Browse other Automation Lab actors for company, directory, and lead enrichment workflows.
Use a review scraper when buyer sentiment is the primary goal. Use this Toolify scraper when the AI product catalog, rankings, and outbound websites are the core dataset.
Support
Open an issue from the Actor's Apify page with:
- the exact input,
- the failed run URL,
- the route type,
- and the behavior you expected.
That evidence makes source-side changes and route-specific blocks faster to diagnose.