Skip to content
    โ†‘โ†“ to choose ยท Enter to open

    ยท 18 min read

    There's An AI For That Scraper: 65 Data Fields per Record (2026)

    By CrawlerBros Engineering Team

    Each record from There's An AI For That Scraper carries up to 65 output fields, including tool ID, name, full description, pricing, website link, and engagement stats like views and saves. This Actor extracts listings and full detail pages from theresanaiforthat.com, offering 17 distinct browsing modes. You can try it free: Apify's free plan includes $5.00 of monthly usage, covering up to 1,000 results of this Actor before run-start charges. This is ideal for market researchers, content curators, and lead generation specialists who need fresh data on AI tools. It is not for anyone who needs independently verified pricing, as the records reflect self-reported figures directly from the tool makers.

    Try it: open There's An AI For That Scraper on Apify, sign in on the free plan and run the prefilled example.

    Can you try There's An AI For That Scraper before paying?

    Yes. Apify's free plan includes $5.00 of prepaid usage every month and asks for no credit card. At $0.005 per result, that covers up to 1,000 results of There's An AI For That Scraper a month, before run-start charges and platform usage.

    There's An AI For That Scraper was last updated on 2026-08-10. It is one of 1,724 Actors CrawlerBros publishes on Apify, which together have 722,845 lifetime public runs and an average rating of 4.63 out of 5 across 416 reviews.

    What does it cost to run There's An AI For That Scraper?

    Each result costs $0.005 on Apify's free plan, which is $5.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.

    Apify plan Per result Per 1,000 results
    FREE $0.005 $5.00
    BRONZE $0.00433 $4.33
    SILVER $0.00367 $3.67
    GOLD $0.003 $3.00
    PLATINUM $0.003 $3.00
    DIAMOND $0.003 $3.00

    The primary control influencing your bill is maxItems, which directly limits how many results are written to your dataset. If you are browsing a mode like 'category' or 'timeline', where the Actor paginates automatically, setting a high maxItems will increase the number of results. For a preliminary exploration, start with a small maxItems value (e.g., 10-30) to retrieve a sample and understand the output structure before scaling up to larger runs. Remember, the free-plan price is $5.00 per 1,000 results.

    How do you run There's An AI For That Scraper from the API?

    The schema marks 1 of its 12 controls as required: mode. Every value in the payload below comes from the published schema's own prefills, which means you can paste it, swap the token, and get a real result.

    Call the synchronous endpoint to start a run and receive dataset items in one request:

    curl -X POST "https://api.apify.com/v2/acts/crawlerbros~theresanaiforthat-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"mode":"category"}'
    

    The same run from Python, using the official client:

    from apify_client import ApifyClient
    
    client = ApifyClient("<YOUR_APIFY_TOKEN>")
    
    run_input = {
      "mode": "category"
    }
    
    run = client.actor("crawlerbros~theresanaiforthat-scraper").call(run_input=run_input)
    
    for item in client.dataset(run["defaultDatasetId"]).iterate_items():
        print(item)
    

    And from Node.js:

    import { ApifyClient } from 'apify-client'
    
    const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
    
    const input = {
      "mode": "category"
    }
    
    const run = await client.actor('crawlerbros~theresanaiforthat-scraper').call(input)
    const { items } = await client.dataset(run.defaultDatasetId).listItems()
    console.log(items)
    

    That endpoint blocks until the run completes. Fine while you are testing a handful of records, risky once a run takes minutes: a dropped connection loses the response even though the run itself finished. Switch to an asynchronous start with polling or a webhook before you schedule anything.

    Which There's An AI For That Scraper inputs matter, and which can you skip?

    The mode control is central to operating this Actor, determining whether you browse by category, company, or fetch tool details. The other 11 optional controls configure the chosen mode. For an initial run, select a mode like 'category' and a common categorySlug, leaving most other settings at their defaults. The maxItems control is useful for controlling the scope of your data collection. When fetching tool details, use the toolSlugs array to specify the exact tools you need, rather than relying on broader browsing modes.

    • mode (string): Which listing / lookup to run. Default: "category".
    • categorySlug (string): AI tool category/task to browse. Pick Custom / other category slug and fill customCategorySlug below to use any of the site's 1000+ granular task slugs not listed here. Default: "writing".
    • customCategorySlug (string): Exact category slug from a theresanaiforthat.com URL, e.g. text-to-speech from theresanaiforthat.com/task/text-to-speech/.
    • sortBy (string): How to order tools within the chosen category. Only applies to mode=category. Default: "default".
    • companySlug (string): Maker/company slug from a theresanaiforthat.com URL, e.g. nvidia from theresanaiforthat.com/company/nvidia/. Default: "nvidia".
    • listUrl (string): URL of a user-curated tool list/collection page, e.g. https://theresanaiforthat.com/@ytdescriptionextractor/saved-for-later/ (a bare @user/list-slug path also works). Default: "https://theresanaiforthat.com/@ytdescriptionextractor/saved-for-later/".
    • leaderboardYear (string): Which yearly cohort of the AI Tool Rankings leaderboard to fetch. current always tracks whatever year theresanaiforthat.com/leaderboard/ currently shows (its default). Default: "current".
    • miniToolsSort (string): Which ranking of the free, embedded Mini Tools (in-site AI generators under /@user/<slug>/) to browse. Default: "all".
    • featureSlug (string): Cross-category feature/capability to browse, e.g. tools with an API, MCP support, or no-signup access. Cards can belong to any task category. Default: "api".
    • toolSlugs (array): AI tool slugs from theresanaiforthat.com/ai// URLs, e.g. canva-magic-write. Default: ["canva-magic-write"].
    • characterCategory (string): Quick-filter mood tab for browsing AI Characters. all browses every character. Default: "all".
    • maxItems (integer): Hard cap on emitted records (ignored for mode=toolDetail, which is capped by the number of tool slugs given). mode=category, mode=feature, mode=timeline, and mode=characters paginate through additional result pages automatically until this cap is reached or the listing runs out of entries; other listing modes are backed by a single page on theresanaiforthat.com. Default: 30.

    Fixed-choice controls: mode accepts 17 values (default category), including category (Browse by category), mostSaved (Browse most-saved AI tools), justReleased (Browse just-released AI tools), popular (Browse popular AI tools); categorySlug accepts 70 values (default writing), including writing, chatbots, images, videos; sortBy accepts default (TAAFT ranking), latest, top-rated (Top rated), most-saved (Most saved), popular, price; leaderboardYear accepts current (Current year (site default)), 2024, 2025, 2026; miniToolsSort accepts all, topRated (Top rated), new; featureSlug accepts 24 values (default api), including api, agents, ai-search (AI Search), assistant; characterCategory accepts all, battle, cry, friend, teacher, wildcard.

    What does There's An AI For That Scraper return?

    The returned records are suitable for comprehensive market analysis of AI tools, building curated lists, or identifying potential partners through company information. Each record includes granular details such as pricingSummary, websiteUrl, and various engagement statistics. However, these records do not contain independently verified pricing information; they reflect what is self-reported on theresanaiforthat.com. Records for mode=characters also contain characterUrl and for mode=timeline contain taskName, which are unique to those content types.

    • toolId - TAAFT's internal numeric ID for the tool (listing modes)
    • name, toolUrl - TAAFT detail-page URL (always present)
    • slug - only present when toolUrl is a genuine /ai/<slug>/ tool page; TAAFT also lists user-submitted "mini tools" under /@username/... and /gpt/... paths, which omit slug since it isn't a valid input for mode=toolDetail on those
    • shortDescription (listing modes) or description (detail mode, full overview)
    • category, categorySlug, categoryPath[] (detail mode - full breadcrumb, e.g. Creativity > Text > Writing)
    • applicationCategory (detail mode - schema.org software-application category TAAFT publishes in the page's structured data, e.g. "Multimedia", only when present)
    • pricingSummary (e.g. "100% Free", "Free + from $8/mo", "From $19/mo")
    • websiteUrl - the tool's actual website (outbound link)
    • iconUrl, screenshotUrl (detail mode)
    • viewsCount, savesCount, averageRating, reviewsCount (detail mode reviewsCount/averageRating only when the tool has reviews) - TAAFT community engagement stats
    • commentsCount (detail mode - number of user comments on the tool page, only present when the tool has at least one)
    • rank (mode=popular/trending only - integer leaderboard position, 1 = top)
    • releasedRelative (e.g. "2y ago", listing modes only), dateCreated, dateModified (detail mode)
    • sponsored (listing modes - true if the card is a paid placement; always true in mode=featured)
    • verified (listing modes - true if the tool has been claimed by its owner), hasVideo (listing modes - true if the card has a video demo)
    • discontinued, discontinuedMonth (mode=discontinued only - true, and the YYYY-MM month TAAFT recorded the tool as shut down, e.g. "2023-10")
    • dealOffer (mode=deals, and occasionally other listing modes for a sponsored card - the special-offer badge text, e.g. "๐Ÿท๏ธ 20% OFF", "๐Ÿ’ฐ $500 CREDITS", "๐ŸŽ Save $60")
    • listName, listAuthor (mode=list only - the curated list's title and the TAAFT username who made it)
    • version (mode=leaderboard only - the tool's version tag shown on the ranking, e.g. "v2.0", only when TAAFT tracks one)
    • netVotes, upvotes, downvotes (mode=leaderboard only - the community leaderboard's vote counts for that tool)
    • usersCount, topCommentAuthor, topCommentText, topCommentUpvotes, topCommentDownvotes (mode=miniTools only - usage count and the tool's top user comment, when it has one)
    • featureSlug (mode=feature only - the feature/capability being browsed, e.g. "api", "mcp")
    • date, taskName, taskSlug, toolName, toolWebsiteUrl (mode=timeline only - the AI Capabilities Timeline's task/tool pairings; recordType: "timelineEntry" instead of "aiTool")
    • characterUrl, authorSlug, tagline, totalChats (mode=characters only - the user-submitted AI companion/roleplay character's own page, its creator's TAAFT username, its one-line tagline, and its total chat count; recordType: "aiCharacter" instead of "aiTool")
    • tags[] (detail mode - keyword/use-case tags TAAFT assigns to the tool)
    • features[] (detail mode - TAAFT's "Supported features" capability chips, e.g. ["Realism", "Memory", "Web browsing"], only when the tool has this widget)
    • companyName, companySlug, country, countryCode (detail mode - the maker company and where it's based, only when TAAFT has this on file)
    • domainRating, monthlyTraffic (detail mode - the tool's own website's SEO domain rating (0-100) and estimated monthly traffic, e.g. "759.8M", only when TAAFT has this on file)
    • inputModalities[], outputModalities[] (detail mode - e.g. ["Text"] / ["Image", "Video"], only when TAAFT documents the tool's input/output types)
    • pricingModel, priceFrom, billingFrequency, refundPolicy (detail mode - TAAFT's structured pricing breakdown, e.g. "Freemium", "$20/month", "Monthly", "No Refunds")
    • recordType: "aiTool" (or "miniTool" for mode=miniTools, "timelineEntry" for mode=timeline, "aiCharacter" for mode=characters), scrapedAt

    These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.

    How do you build the workflow end to end?

    Open There's An AI For That Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.

    1. Start by setting mode to 'category' and categorySlug to a common category like 'writing'. Set maxItems to a small number, like 10, to get a quick sample of the output.
    2. Examine the initial records in the dataset. Pay close attention to fields like pricingSummary, websiteUrl, and any engagement stats like viewsCount or savesCount to ensure they are present and correctly formatted for your needs.
    3. If fetching detailed information, change mode to 'toolDetail'. Populate the toolSlugs array with a few slugs from your initial category run. Verify that description and any specific detail-mode fields are returned as expected.
    4. For broader discovery, experiment with different modes such as 'mostSaved', 'justReleased', or 'trending'. Compare the output structure and the types of tools returned to refine your data collection strategy.
    5. When using 'category' mode, test the sortBy control. Run a small batch with sortBy set to 'latest' and another with 'top-rated' to understand how the order of results changes.
    6. For custom category browsing, set categorySlug to 'custom' and provide a customCategorySlug from a theresanaiforthat.com URL, such as 'text-to-speech'. Confirm that tools from that specific category are returned.
    7. If you need to identify tools by a specific maker, set mode to 'company' and provide a companySlug like 'nvidia'. Check that all returned tools are indeed from the specified company.
    8. Increase maxItems gradually for your chosen mode and configuration. Monitor the run time and the number of results to ensure performance is acceptable for your larger data collection goals.

    How do you apply it? Three worked playbooks

    These are There's An AI For That Scraper's own documented use cases, each worked through as an operating pattern rather than a description.

    Use case 1: Market research

    Outcome: Track which AI tools are trending in a given category

    Configure: Set mode to 'category'. Select a relevant categorySlug, such as 'seo-content'. Set sortBy to 'trending'. Define maxItems to limit the number of results per run, e.g., 50.

    Working method: Begin by running the Actor for a single category with a small maxItems value. Review the output to understand the types of tools and the 'rank' field. Schedule regular runs, perhaps weekly, and compare the 'rank' for tools over time to observe trends within your chosen categories.

    Deliverable: A series of weekly datasets, each containing a list of AI tools ranked by their trending status in a specific category, with fields such as name, category, pricingSummary, and rank.

    Stop condition: The 'rank' field is consistently null for trending tools, or the dataset returns an empty array for a category that previously had results.

    Use case 2: Content curation

    Outcome: Build "best AI tools for X" roundups with fresh, real engagement data

    Configure: Set mode to 'toolDetail'. Populate toolSlugs with specific AI tools you are curating. Alternatively, use listing modes like 'mostSaved' or 'top-rated' in 'category' mode with a categorySlug like 'writing' to discover tools. Set maxItems as needed.

    Working method: Start with 'mostSaved' or 'top-rated' in a relevant category to identify potential tools. Then, switch to 'toolDetail' mode, passing the slugs of selected tools to gather their full descriptions, website URLs, icons, and engagement stats (viewsCount, savesCount, averageRating). Consolidate this data to inform your roundup content.

    Deliverable: A curated list of AI tools, each with its full description, pricing summary, website URL, icon, and up-to-date engagement metrics (viewsCount, savesCount, averageRating, reviewsCount) suitable for a 'best-of' article.

    Stop condition: The description field or engagement statistics (viewsCount, savesCount) are frequently missing or incorrect for tools known to have them, indicating an issue with detail page parsing.

    Use case 3: Lead generation

    Outcome: Find AI tool makers (via company mode) for partnership or outreach

    Configure: Set mode to 'company'. Provide a specific companySlug, like 'nvidia', or use 'category' mode to browse broader categories and identify potential companies from tool records. Limit maxItems per run to manage data volume.

    Working method: To find companies, first identify tools of interest through 'category' or 'mostSaved' modes. Then, use 'toolDetail' mode for those tools to extract the companyName and companySlug. Once you have a companySlug, switch to 'company' mode with that slug to list all tools by that maker, and extract websiteUrl for outreach. This helps focus your lead generation efforts.

    Deliverable: A spreadsheet or database of AI tool makers, including companyName, companySlug, and the websiteUrl of their tools, suitable for generating leads for partnerships or direct outreach.

    Stop condition: Records consistently lack companyName or websiteUrl, or 'company' mode returns unrelated tools for a given companySlug.

    What breaks, and how do you design around it?

    The maxItems input has a maximum of 500 for listing modes; you should break down large data extraction tasks into multiple runs. For instance, instead of trying to get all tools from a very broad category at once, try narrowing down customCategorySlugs or using different sortBy options to split the work across several runs. For mode=toolDetail, split your toolSlugs array into multiple smaller batches and run them sequentially, consolidating the results later, as maxItems is ignored for this mode. Keep an eye on platform usage beyond the per-result charges, as large numbers of items can consume more resources.

    When should you not use There's An AI For That Scraper?

    This Actor is not suitable if your primary need is real-time, independently verified pricing information. The pricingSummary field reflects self-reported data directly from the tool makers on theresanaiforthat.com and is not validated by CrawlerBros. If you require verified pricing, consider using a specialized price comparison Actor like the Vercel Domain Scraper, which leverages an official API for domain pricing, or sourcing data directly from each tool's website with a custom Actor. Similarly, if your goal is to acquire direct contact information for AI tool makers beyond what's publicly available on their websites, this Actor will not fulfill that. You would need a dedicated lead generation tool that focuses on extracting emails or phone numbers, or an Actor that targets business directories specifically designed for contact information, such as the Imenik.eu Croatia Business Directory Scraper or the moveBuddha Moving Company Directory Scraper. This Actor is also not ideal for deep analysis of site internal linking or structure; for that, an Actor like Website Links Graph Generator would be more appropriate.

    What should you check before trusting the output?

    • Check that websiteUrl is present and a valid URL in all records, as tools without a direct link might not be useful for outreach.
    • Verify that pricingSummary has a consistent format; inconsistent values or missing summaries might require additional parsing or filtering.
    • For records from listing modes, ensure that shortDescription is present and not truncated, especially if you plan to use it for initial filtering.
    • In 'toolDetail' mode, confirm that the full description field is populated and complete, as this is crucial for rich content curation.
    • Examine viewsCount and savesCount for consistency; unusually low or zero values across many results could indicate a data capture issue or a less active tool.
    • Confirm that the recordType field correctly identifies 'aiTool', 'miniTool', 'timelineEntry', or 'aiCharacter' based on the mode you selected.

    None of this proves a record is correct. It gives a scheduled There's An AI For That Scraper run defined points where it should stop instead of quietly passing bad data downstream.

    Frequently asked questions

    What is the cost per 1,000 results for this Actor?

    On Apify's free plan, the cost is $5.00 per 1,000 results. This price applies to results written to the dataset. Remember that Apify also bills platform usage each run consumes, on top of these per-result charges. To estimate costs, consider the maxItems input, as it directly controls the number of results generated.

    Does this Actor scrape more than one page of results?

    Yes, for modes like 'category', 'feature', 'timeline', and 'characters', the Actor automatically paginates through additional result pages until the maxItems limit is reached or the listing is exhausted. Other listing modes, such as 'mostSaved' or 'popular', typically render their entire result set on a single page, so setting a higher maxItems for these will simply return all available items from that initial page.

    Why would I use the 'custom' option for categorySlug?

    There's An AI For That has over 1,000 granular task categories, but the categorySlug dropdown in the input schema only lists about 70 of the most common ones. If you need to browse a specific, more niche category not in the dropdown, you can select 'custom' and then provide the exact category slug (e.g., 'text-to-speech') from the theresanaiforthat.com URL in the customCategorySlug field.

    What kind of engagement data is available for AI tools?

    When fetching full tool details in 'toolDetail' mode, the Actor can return several engagement statistics. These include viewsCount, savesCount, averageRating, and reviewsCount. For 'miniTools' mode, records carry usage stats like usersCount and, where present, details on the tool's top user comment.

    When should I use 'mode=toolDetail' versus a listing mode?

    Use 'mode=toolDetail' when you need comprehensive information for specific AI tools whose slugs you already know. This mode fetches the full detail page and provides richer data like the complete 'description', 'screenshotUrl', 'tags[]', and 'pricingModel'. Listing modes (e.g., 'category', 'mostSaved', 'popular') are for discovering tools based on broader criteria, returning a 'shortDescription' and essential identifying information, but not the full detail set.

    Where to go next

    When you are ready to run it, open There's An AI For That Scraper on Apify; the free plan covers up to 1,000 results a month.

    Start with the There's An AI For That Scraper Actor page for the current input schema, pricing tier, and run history.

    Other Actors we maintain for related data:

    Related guides:

    Resources

    • Actor documentation, input schema, and pricing: verified against the published Actor on 2026-10-02.

    • Actor last updated by its maintainers on 2026-08-10.

    • Run outcome figures cover the 30 day public window ending 2026-10-02.

    • There's An AI For That Scraper on Apify

    Featured actors

    There's An AI For That Scraper

    Scrape There's An AI For That (theresanaiforthat.com) - the #1 AI tool directory. Browse AI tools by category, most-saved, just-released, popular, or by maker company, plus fetch full tool detail pages with descriptions, pricing, and stats.

    Run on Apify โ†—