Toolify AI Directory Scraper
Pricing
from $0.06 / 1,000 item extracteds
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
from $0.06 / 1,000 item extracteds
Rating
0.0
(0)
Developer
Automation Lab
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
0
Monthly active users
13 hours 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: Apify datacenter proxy enabled by default; custom proxy settings and explicit opt-out are respected
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
Apify datacenter proxy is enabled by default because Toolify can block both catalog HTML and structured endpoints on direct connections. No browser or residential proxy is enabled automatically.
The Actor tries catalog HTML, selected locale-prefixed ranking pages, then Toolify's public structured endpoint. Structured retries renew the cookie session and matching proxy identity together; healthy sessions are reused across pages.
Explicit proxyConfiguration: { "useApifyProxy": false } disables proxy use. Direct access is best-effort and can fail with HTTP 403; the Actor never silently overrides this choice. Existing saved Tasks with proxy disabled must enable it to use the reliable route. Custom proxy URLs remain supported.
The Actor reports route blocks in logs and fails on total extraction failure rather than returning a successful empty dataset. Proxy traffic can incur platform usage under your plan.
Failure diagnostics and data handling
This Actor uses deterministic HTML/JSON parsing, not AI models, and sends no input or output to a model provider. It collects public product-directory metadata, not private accounts or personal contact enrichment. Public source names identify the target; this Actor is not affiliated with or endorsed by Toolify.
Apify handles execution, dataset/KV storage, and proxy transport under its platform terms. Custom proxy operators receive requested public URLs when you configure them. Cookie/proxy sessions are ephemeral to the run. Dataset and log retention follows your Apify storage settings; delete runs and their datasets/KV stores through Apify when no longer needed. Local debug HTML is not written in cloud runs.
Failed operations send sanitized diagnostic input, exceptions, and Actor/build/run IDs to our private GlitchTip service for repair. Secret fields and URL queries are removed; reports are retained for 30 days. Contact the Actor's support channel for diagnostic deletion requests.
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
Check whether a saved input explicitly disables proxy use. Enable Apify Proxy and retry with a small limit. The default already enables datacenter proxy; it does not bypass an explicit opt-out.
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.