Toolify AI Directory Scraper avatar

Toolify AI Directory Scraper

Pricing

Pay per event

Go to Apify Store
Toolify AI Directory Scraper

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

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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:

  1. Toolify category, ranking, or tool URLs
  2. Ranking modes such as new and most_used
  3. 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: maxItems and maxPagesPerSource prevent accidental oversized runs.
  • Strict scope: explicit URLs must point to supported public toolify.ai catalog 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?

FieldTypeMeaning
namestringAI tool or product name
handlestringCanonical Toolify handle
taglinestringShort listing description
descriptionstringLonger summary when exposed
toolifyUrlURLCanonical Toolify profile
websiteUrlURLOfficial outbound website
imageUrlURLListing image when available
categoriesstring[]Human-readable categories
categoryHandlesstring[]Toolify category identifiers
ratingnumberVisible Toolify rating
reviewCountnumberVisible review count
savedCountnumberVisible save/bookmark count
isFreebooleanWhether the listing is marked free
pricingPlansstring[]Visible plan, price, and description text
featuresstring[]Core features exposed by Toolify
useCasesstring[]Toolify use-case labels
faqsstring[]Visible question and answer pairs
listTypestringCategory-keyword, category, or ranking context
ranknumberPosition in the fetched source page
sourceUrlURLInput page that produced the row
searchQuerystringKeyword used to resolve a Toolify category
scrapedAtdateISO 8601 extraction timestamp

Fields appear only when Toolify exposes them on the selected public page.

How to scrape Toolify in 5 steps

  1. Open the Actor input page.
  2. Add a Toolify category URL, choose ranking lists, or enter category keywords.
  3. Set a small maxItems value for the first run.
  4. Enable details if you need pricing, features, use cases, or FAQs.
  5. 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 tools
  • most_saved — tools with the strongest save signal
  • most_used — tools ranked by Toolify usage

Limits and details

  • maxItems: global unique-tool limit, default 20
  • maxPagesPerSource: pagination safety cap, default 10
  • includeDetails: retain rich expansion fields, default true
  • proxyConfiguration: 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 maxPagesPerSource only 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 ApifyClient
client = 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().items
print(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.
  • rank is 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.

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.

  • 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.