Skip to main content
Glama
webdata-tools-mcp

webdata-tools-mcp

webdata-tools-mcp

npm GitHub release CI license: MIT MCP Registry Smithery webdata-tools-mcp MCP server

An MCP server that gives AI agents forty-four web-data tools: job postings (company career sites, remote jobs, startups on Wellfound, US tech jobs on Dice, Indeed, Naukri), hiring signals, Google News, official government updates (US, UK, EU, India), public tenders and contract awards (US, EU, UK, France, Spain, Canada, Australia and more), official weather and disaster warnings (US, Europe, India, Brazil, worldwide), public funding calls (US Grants.gov, EU Horizon Europe and more, UKRI, Australia), notices from all 748 Indian district websites, new laws and bills (EU, UK, US, Australia, Canada), sanctions screening, product recalls, company registers (Europe and US states), research papers and patents, field trends and idea validation, Trustpilot and app-store reviews, Reddit mentions and buying-intent leads, YouTube transcripts, website contacts, German and Austrian property listings, Shopify products and store analysis, trade-show exhibitor lists and upcoming events, prediction-market odds, sports scores, box scores and betting lines, lottery results, podcasts with owner contacts, new startup funding rounds, court, bank and government property auctions scored against similar lots, local businesses by category and city with their contacts, clinical trials, CVE vulnerabilities, FDA device clearances, US healthcare providers, and US import records with suppliers and lookalike importers. Two ready-made prompts turn the research tools into an innovation analyst that works the same with any model.

Each tool runs a ready-made Apify Actor and returns clean JSON. You pay Apify per result (about $1-3 per 1,000 results); there is no subscription and nothing is sent anywhere except Apify.

Tools

Tool

What it returns

Cost (approx.)

Actor

search_google_news

News articles with the publisher's real URL, date, related coverage

$2 / 1,000 articles

google-news

find_hiring_companies

Which companies are hiring for given roles (buying-intent signal)

1¢ per company with a signal

hiring-signals

get_company_jobs

All open jobs from career pages or company names (13 job-board systems: Greenhouse, Lever, Ashby, Workday, Rippling, ...)

$1 / 1,000 jobs

jobs-harvester

find_remote_jobs

Remote jobs from company job boards plus the Remote OK, Jobicy, Working Nomads and Himalayas feeds

$2 / 1,000 jobs

remote-jobs-scraper

search_startup_jobs

Startup jobs on Wellfound by role and city: salary and equity, startup size and pitch

$2 / 1,000 jobs

wellfound-jobs-scraper

search_tech_jobs

US tech jobs on Dice: salary, employer type, Easy Apply, remote flag

$0.55 / 1,000 jobs

dice-jobs-scraper

search_indeed_jobs

Indeed listings in 9 countries

$3 / 1,000 jobs

indeed-jobs

search_naukri_jobs

Naukri.com jobs (India): full description, salary in rupees, experience, rating

$1.50 / 1,000 jobs

naukri-jobs-scraper

get_trustpilot_reviews

Reviews, TrustScore and company profile

$0.50 / 1,000 reviews

trustpilot-reviews

get_app_reviews

App Store and Google Play reviews

$0.20 / 1,000 reviews

app-reviews

search_reddit

Reddit posts and comments by keyword or subreddit, tagged with buying intent

$1 / 1,000 items

reddit-monitor

find_reddit_leads

Reddit posts asking for a tool like yours, seeking a competitor alternative, comparing or complaining

$2 / 1,000 leads + $0.10 / 1,000 posts read

reddit-lead-finder

search_gov_updates

Official government updates: Federal Register rules and notices, GOV.UK, European Commission, SEC, RBI and SEBI circulars, any RSS feed; sector and keyword filters

$3 / 1,000 updates

gov-radar

get_alerts

Official weather and disaster warnings: US NWS, MeteoAlarm (38 countries), India NDMA, Brazil INMET, GDACS, USGS; hazard, severity, area filters

$2 / 1,000 alerts

alerts-radar

search_grants

Open and forecast funding calls: US Grants.gov, EU Funding & Tenders (Horizon Europe...), UKRI; grant size, budget, deadline, eligibility

$3 / 1,000 calls

grants-radar

get_india_district_notices

Tenders, recruitment and announcements from India's 748 district websites, by state and district

$3 / 1,000 notices

india-district-notices

search_legislation

New laws and bills: EU regulations and directives (EUR-Lex), UK Acts and SIs, US public laws and bills, Australian and Canadian regulations

$3 / 1,000 laws

legislation-radar

find_companies

New companies and insolvencies (France, Norway, Finland, Estonia, US: New York, Colorado, Connecticut, Oregon) and company search with officers, plus the LEI index

$2.50 / 1,000 companies

company-registry

get_supplier_contracts

Public contracts a company won (USAspending, TED, Contracts Finder) with a summary per company

$4 / 1,000 awards

tenders-radar

screen_sanctions

Screen names against official OFAC, UN, EU, UK, Canada and Switzerland sanctions lists (verdict per name)

$3 / 1,000 names

sanctions-screener

search_recalls

Product recalls and safety alerts: FDA, CPSC, Health Canada, UK FSA/OPSS, EU Safety Gate

$2 / 1,000 recalls

recalls-radar

search_tenders

Public tenders and contract awards: US SAM.gov, EU TED, UK, France, Spain, Germany, Netherlands, Canada, Colombia, Australia, South Africa; sector, CPV/UNSPSC, value filters

$4 / 1,000 notices

tenders-radar

get_youtube_transcripts

Full transcripts of videos, playlists, channels or searches, with timed captions and video details

$2.50 / 1,000 transcripts

youtube-transcripts

search_research

Papers, preprints and patents from OpenAlex, arXiv, PubMed, Europe PMC and the European Patent Office (worldwide patents), merged; newest or most influential first, with field-normalized impact

$3 / 1,000 results

research-radar

analyze_field

A technology field's opportunity score with reasons, growth and momentum, industry participation and top companies, leading countries, institutions and funders, rising topics, patent trend and possibly free-to-use patents; several fields ranked

$0.03 / field

innovation-radar

validate_idea

How new or crowded an idea is, who is working on it, and the closest prior work

$0.03 / idea

innovation-radar

find_website_contacts

Emails, phones, socials from websites

$2 / 1,000 sites with contacts

contact-details

find_local_businesses

Local businesses by category and city (open map data) with the contacts found on their websites

$1.25 / 1,000 businesses + $1.75 / 1,000 with site contacts

contact-details

search_german_property_listings

Rent/buy listings in Germany and Austria (ImmoScout24)

$1 / 1,000 listings

immobilienscout24-scraper

get_shopify_products

Prices, discounts, stock, variants from Shopify stores

$1 / 1,000 products

shopify-products

analyze_shopify_stores

Store location, currency, catalog size and snapshot, e-mails, phones, socials

$4 / 1,000 stores

shopify-store-analyzer

get_trade_show_exhibitors

Trade-show exhibitors: booth, email, phone, website, address (91 shows or any supported exhibitor-list link; changes-only monitoring)

$2 / 1,000 exhibitors

exhibition-scraper

find_events

Upcoming events from Luma, Eventbrite, Meetup: venue, organiser, hosts, tickets, attendees

$1 / 1,000 events

events-scraper

get_prediction_markets

Kalshi, Polymarket, Manifold and PredictIt markets: probability, bid/ask, 24h and 7d change, volume, result, daily history

$3 / 1,000 markets

prediction-markets

get_sports_data

Scores, box scores, betting odds (open, close, settled), standings and rosters for 24 leagues incl. NFL, NBA, MLB, NHL, top football leagues, F1, ATP/WTA

$3 / 1,000 rows, $1 / 1,000 player lines

sports-data

get_lottery_results

Powerball, Mega Millions and 11 state games: winning numbers, jackpots, winners; hot and cold numbers

$3 / 1,000 rows

lottery-results

search_podcasts

Apple Podcasts search and charts with owner email, website, activity and latest episodes

$4 / 1,000 podcasts

podcasts

search_startup_funding

New startup raises from SEC Form D: amounts, industry, founders and executives

$5 / 1,000 filings

startup-funding

find_property_auctions

Court, bank and government auctions in Germany, Spain, Italy and India: price, valuation, debts, area, possession, dates; scored against similar lots and your budget

$15 / 1,000 lots

auctions-radar

search_clinical_trials

ClinicalTrials.gov studies by condition, drug, sponsor, site, phase and status, with contacts and sites

$3 / 1,000 studies

clinical-trials

search_vulnerabilities

CVEs from NVD with CVSS, CWE, vendors and products, CISA known-exploited status and EPSS

$3 / 1,000 CVEs

cve-feed

search_fda_device_clearances

FDA 510(k) clearances and PMA approvals: applicant, contact, device, product code, class, review days

$4 / 1,000 decisions

fda-device-clearances

search_healthcare_providers

US doctors, dentists and clinics from the NPI Registry by specialty, state, city or ZIP; new practices

$3 / 1,000 providers

npi-providers

search_import_records

US customs import records for an importer or overseas supplier: shipment trend, suppliers or US customers, HS codes, bills of lading, lookalike importers

$4 / 1,000 profiles, $1 / 1,000 suppliers

us-import-records

Every tool also takes an optional extra_input object for any other field the Actor documents. Every result comes back as text and as structured content (tool, count, shown, truncated, items), and every tool is marked read-only, so clients can run it without asking.

More about the tools: https://tacps126.github.io/mcp.html

Related MCP server: Steadyfetch agent tools

Prompts and agent skill

Two ready-made prompts turn the research tools into an analyst, whichever model you use (Claude, GPT, Gemini, a local model): the evidence, the reading guide and the answer shape are fixed, so results stay comparable.

Prompt

What it does

field-opportunity-analysis

Runs analyze_field on your fields, then writes ranked opportunities: what to build, for whom, why now, capital needed, who to talk to

idea-validation

Runs validate_idea, then assesses novelty, closest prior work, timing, who is already there, capital, risks and next steps

For agents that load skills (Claude Code, Codex and others), copy skills/innovation-analyst into your skills folder.

Setup

  1. Create a free Apify account and copy your API token from Console > Settings > API & Integrations.

  2. Add the server to your client. The token goes in APIFY_TOKEN.

Claude Desktop, one click: download webdata-tools-mcp-<version>.mcpb from the latest release and open it. Claude Desktop installs it and asks for your Apify token.

Claude Desktop / Cursor / Windsurf (mcpServers config):

{
  "mcpServers": {
    "webdata": {
      "command": "npx",
      "args": ["-y", "webdata-tools-mcp"],
      "env": { "APIFY_TOKEN": "<your Apify token>" }
    }
  }
}

Claude Code:

claude mcp add webdata -e APIFY_TOKEN=<your Apify token> -- npx -y webdata-tools-mcp

Requires Node.js 18 or newer.

Releases are tagged and published by CI from main (.github/workflows/release.yml).

Try it

  • "Which of these companies are hiring data engineers right now? https://boards.greenhouse.io/stripe, https://jobs.lever.co/spotify"

  • "Find remote senior engineer jobs open to people in Canada posted this week."

  • "Who on Reddit is looking for an alternative to HubSpot this month?"

  • "Analyze these Shopify stores and give me their country, product count and contact e-mail: allbirds.com, gymshark.com"

  • "Show the 1 and 2 star Trustpilot reviews of example.com from the last 30 days and group the complaints."

  • "Find news from the last 7 days about open-source LLM licensing, with the real publisher links."

  • "What should a seed-stage founder build in sodium-ion batteries? Compare it with solid-state." (field-opportunity-analysis prompt)

  • "Find the most influential papers of the last three years on retrieval augmented generation."

  • "Get contact emails for these 20 agency websites." (use only for lawful business outreach)

Settings

Environment variable

Default

Meaning

APIFY_TOKEN

required

Your Apify API token

WEBDATA_MAX_CHARGE_USD

0.5

Spend cap per tool call; Apify stops the run when it is reached

WEBDATA_TIMEOUT_SECS

150

How long one call may run (30 to 300)

Cost safety

  • Every call is capped at $0.50 of Apify spend (WEBDATA_MAX_CHARGE_USD changes it). Apify stops the run when the cap is reached.

  • max_items defaults to small numbers (20-100) and has a hard maximum per tool.

  • Long text fields are shortened to 600 characters, and one result is limited to about 60,000 characters, so a call cannot flood the agent's context.

No install: Apify's hosted MCP server

You can also use Apify's own server with these Actors selected, with nothing to install:

{
  "mcpServers": {
    "apify": { "url": "https://mcp.apify.com?tools=tacps126/google-news,tacps126/hiring-signals,tacps126/trustpilot-reviews" }
  }
}

It signs you in with OAuth. The tools take the Actors' raw input fields instead of the simplified arguments above.

Development

npm install
npm test                                  # offline: mapping, errors, size limits, MCP handshake
node scripts/sync-actor-inputs.mjs        # refresh test/fixtures from the published Actors
APIFY_TOKEN=... node scripts/smoke.mjs    # live check, a few cents

test/fixtures/actor-inputs.json lists the input fields of each published Actor; the tests fail if a tool sends a field the Actor does not accept.

Responsible use

The Actors read publicly available pages. You are responsible for following each site's terms and the law that applies to you (GDPR, CAN-SPAM) when you use the data, especially contact details.

Listed on

Also on npm, the official MCP Registry (io.github.tacps126/webdata-tools-mcp), and Smithery.

License

MIT

Available Tools

44 tools
analyze_fieldAnalyse a technology or research fieldA
Read-onlyIdempotent

A landscape of a technology or research field from open research data: an opportunity score (0-100) with its reasons, momentum, lab-to-market gap and geographic concentration; works per year and growth stage; industry participation and the top companies; key researchers, institutions, countries and funders; rising sub-topics, standout recent work, related patents, the worldwide patent filing trend and older European patents that look free to use (expired or lapsed, with legal status). Several fields come back ranked. For written opportunities, use the field-opportunity-analysis prompt. Runs the Apify Actor tacps126/innovation-radar on your Apify account (about $0.03 per field; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
yearsNoYears of history for the trend.
fieldsYesFields or technologies, e.g. "solid state battery", "CRISPR base editing".
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations that mark it read-only, idempotent, open-world, and non-destructive, the description discloses important operational details: it runs the Apify Actor tacps126/innovation-radar on the user's Apify account, costs about $0.03 per field, and caps spend at $0.5 per call. These details materially help an agent understand cost and external dependency behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but front-loaded with the core analysis purpose, followed by relevant output categories, cost, and Actor details. It is appropriately sized for a complex analysis tool, though the long list of outputs could be tightened marginally.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description does not need to fully explain return values, but it still gives a rich overview of what the analysis returns. Annotations cover safety semantics, and the description adds cost, account, and Actor context, leaving no critical gap for invoking the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents fields, years, and extra_input. The description adds useful context that multiple fields can be supplied and ranked, and that cost is per field, but it does not explain the years parameter or advanced extra_input behavior beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the resource and scope: a landscape analysis of a technology or research field, with a detailed list of outputs such as opportunity score, momentum, researchers, patents, and ranked fields. It does not explicitly differentiate itself from sibling tools like search_research or validate_idea, so it falls short of a 5 despite being highly specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it by describing the analysis it performs and notes that written opportunities should use the field-opportunity-analysis prompt instead. However, it does not name alternative MCP tools or state explicit exclusions such as when to use search_research instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_shopify_storesAnalyze Shopify stores (location, catalog, contacts)A
Read-onlyIdempotent

For each Shopify store: name, city and country, currency, product and collection counts, a catalog snapshot (price range and median, share on sale and in stock, top brands and product types, newest product) and its e-mails, phones and social profiles. Non-Shopify sites are skipped for free. Runs the Apify Actor tacps126/shopify-store-analyzer on your Apify account (about $0.004 per store; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
storesYesStore websites or domains, e.g. ["allbirds.com", "gymshark.com"].
countriesNoKeep only stores based in these countries (ISO codes or names).
max_itemsNoMaximum results to return (default 20, max 1000). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
include_contactsNoAlso read the store's contact pages for e-mails, phones and socials.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, openWorld), but the description adds genuinely non-derivable behavior: it runs the named Apify Actor on the caller's account, costs about $0.004 per store, and hard-caps spend at $0.5 per call. It also discloses that non-Shopify domains cost nothing, which affects how an agent should batch inputs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One long enumerating sentence followed by two short ones on skipping and cost; output contents are front-loaded before operational caveats. Dense but every clause carries information, with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return structure needn't be spelled out, and the description still summarizes it; combined with the cost ceiling, the free-skip rule, and the Actor reference, an agent has everything needed to call this correctly and cheaply. Nothing material is missing for a read-only bulk-enrichment tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3; the description adds no syntax or format guidance for stores, countries, or extra_input. It only echoes the cost behavior already noted in max_items ('Cost scales with this').

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb and resource ('For each Shopify store') and enumerates the exact output fields (city/country, currency, product and collection counts, catalog snapshot, contacts), so an agent knows precisely what it gets. It never names or contrasts with the closest siblings (get_shopify_products, find_website_contacts), so the boundary between this and those tools must be inferred.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage through 'Non-Shopify sites are skipped for free', which signals this is a bulk qualification pass over a store list, and the countries parameter is mentioned indirectly. There is no explicit statement of when to prefer this over get_shopify_products or find_website_contacts, and no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_companiesFind companies and new registrations in official registersA
Read-onlyIdempotent

Official company registers in one schema. mode "new": companies newly registered in France (BODACC), Norway (Brønnøysund), Finland (PRH), Estonia and the US states New York, Colorado, Connecticut and Oregon, and in France also insolvency judgments, deregistrations and business sales; filter by NACE/NAF industry code, city/region/postcode and keywords. mode "search": companies by name in France (with officers), Norway, Finland, Estonia, Czechia, the four US states and, for other countries, the worldwide LEI index. Registry id, legal form, status, dates, industry, address, employees, capital, officers or registered agents, business email where published (Connecticut), register link. Runs the Apify Actor tacps126/company-registry on your Apify account (about $0.0025 per company; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
modeNonew = registrations and register events; search = look up by name.new
namesNoCompany names to search (mode "search"), e.g. ["Nokia"].
eventsNoFrance, mode "new" (default: registration).
countriesNoISO codes: FR, NO, FI, EE, CZ; US (all four states) or one state: US-NY, US-CO, US-CT, US-OR; others are searched in the LEI index.
locationsNoCities, regions or postcode prefixes, e.g. ["Oslo", "75"].
max_itemsNoMaximum results to return (default 50, max 1000). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
industry_codesNoNACE/NAF code prefixes, e.g. ["56.10"] restaurants, ["62"] IT; NAICS for Connecticut.
registered_within_daysNomode "new": the last N days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely non-schema context: it runs an Apify Actor on the caller's account at ~$0.0025 per company with a $0.5 per-call spend cap — critical for an agent deciding whether to call it or how to size max_items.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense paragraph with the core framing front-loaded ('Official company registers in one schema'), then mode 'new', mode 'search', returned fields, and cost. Every sentence carries information, though the country lists make it long and a bulleted mode split would scan faster.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers both modes, jurisdiction coverage, filter dimensions, cost model and spend cap — enough for an agent to call correctly even for a 9-parameter tool with a nested extra_input object. The returned-field list is partly redundant given the output schema exists, and extra_input is left unexplained beyond 'advanced'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds cross-parameter logic the schema states only piecemeal: names apply to 'search' mode, events apply to France/'new', and other countries fall through to the LEI index. That mapping is real semantic value beyond the per-field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Official company registers in one schema', 'find companies') and immediately splits the tool into two named modes with the jurisdictions each covers. No sibling tool in the list covers company registers, and the description makes the two-mode structure unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the caller: mode 'new' for registrations/register events with event types, mode 'search' for lookup by name, and it states which countries each mode supports. It does not name alternative tools or say when NOT to use this one, which keeps it short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_eventsFind upcoming events (Luma, Eventbrite, Meetup)A
Read-onlyIdempotent

Upcoming events by topic and city, or from Luma / Eventbrite / Meetup links (or any page with schema.org events): name, dates, venue with address and coordinates, organiser, hosts, ticket prices, free/sold-out and attendee count, in one format. Use for event prospecting, sponsorships and community research. Runs the Apify Actor tacps126/events-scraper on your Apify account (about $0.001 per event; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
urlsNoLuma city/category/calendar/event links, Eventbrite searches or events, Meetup search or group links, or any events page.
sourcesNoSites searched for `searches` (default all three). Meetup knows about 70 big cities by name; others as "City, CC" (e.g. "Lyon, FR").
locationNoCity in plain words (e.g. "London", "Bengaluru") or "online". Luma searches within a city.
searchesNoTopics or keywords, e.g. ["AI","startup"].
max_itemsNoMaximum results to return (default 30, max 500). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
include_detailsNoOpen each event for organiser, tickets and full description. Off = faster.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this as read-only, open-world, idempotent, and non-destructive. The description adds meaningful operational context beyond that: it runs the Apify Actor tacps126/events-scraper on the user’s Apify account, costs about $0.001 per event, and caps spend at $0.5 per call. It stops short of covering auth setup or failure modes, but the paid external dependency and cost cap are important disclosures.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and stays to three sentences. The long field list in the first sentence earns its place by clarifying output breadth, and the use-case and cost sentences add actionable context with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a seven-parameter tool with a nested extra_input object and an output schema, the description covers the important context: input modes, supported sources, return content, intended use cases, and the paid actor cost model. Remaining schema-level details are already documented in structured fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already carries most parameter detail. The description still adds useful meaning by clarifying the two input modes—topic/city search versus URL/link scraping—and by tying cost to per-event pricing, which helps an agent choose max_items and sourcing parameters appropriately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: it finds upcoming events by topic/city or from Luma, Eventbrite, Meetup, or schema.org event pages. It also lists the returned fields (dates, venue, organiser, prices, attendance), making the tool clearly identifiable against the job/news/Reddit-oriented siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear usage contexts: event prospecting, sponsorships, and community research. It does not explicitly state when not to use the tool or name alternative event tools, but the intended scenarios are well framed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_hiring_companiesFind companies hiring for given rolesA
Read-onlyIdempotent

Buying-intent signal: which companies are hiring for the roles you care about, how many roles, how fresh, and seniority/locations. Give target accounts (their jobs-page URLs on Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Recruitee, Personio, Teamtailor) and/or job-search phrases to discover companies. Runs the Apify Actor tacps126/hiring-signals on your Apify account (about $0.01 per company with a matching signal; companies without one are free; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
searchesNoJob-search phrases to discover companies you do not know yet, e.g. "head of security".
companiesNoTarget accounts' jobs-page URLs, e.g. "https://boards.greenhouse.io/stripe".
locationsNoKeep roles in these locations.
max_itemsNoMaximum results to return (default 50, max 500). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
role_keywordsNoA role counts when its title contains any of these words, e.g. ["data engineer","security"]. Empty = every role.
posted_within_daysNoOnly roles posted in the last N days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only/idempotent/open-world, but the description goes further with billing and safety context: it runs a specific Apify Actor on the caller's own Apify account, costs ~$0.01 per company with a matching signal, companies without a signal are free, and spend is capped at $0.5 per call. That is exactly the cost/auth/limit disclosure annotations cannot provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the value proposition and the key scoping fact (which companies are hiring) before inputs and cost. It is a single dense paragraph; the 'Buying-intent signal' opener is slightly marketing-flavored, but little of the text is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, annotations covering the safety profile, and full schema description coverage, the description supplies everything else an agent needs: the two discovery modes, supported ATS sources, and the cost ceiling. Nothing required for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 and the schema already documents all seven parameters. The description adds meaning by enumerating the supported ATS boards (Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Recruitee, Personio, Teamtailor), which constrains what the 'companies' URL values may be — a modest but real addition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource — discovering which companies are hiring — and enumerates the output dimensions (how many roles, freshness, seniority/locations), so the agent knows this returns companies rather than job listings. The 'discover companies you do not know yet' framing implicitly separates it from a single-company job fetch like get_company_jobs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the two input modes clearly: pass target-account jobs-page URLs for known accounts, and/or job-search phrases to discover unknown companies. It gives context for when each mode applies but names no alternative sibling tool and states no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_local_businessesFind local businesses by category and city, with their contactsA
Read-onlyIdempotent

Lead lists without a list of websites: every business of the given kinds in a city or area (open map data: name, category, address, phone, listed email, website, coordinates), each website then checked for emails, phones and social profiles. Says whether the email was found on the business site and whether the site still works. Use only for lawful business outreach (GDPR / CAN-SPAM). Runs the Apify Actor tacps126/contact-details on your Apify account (about $0.00125 per business, plus $0.00175 when contacts are found on its website; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
cityYesTown or city, e.g. "Pune", "Austin", "Manchester".
max_itemsNoMaximum results to return (default 50, max 1000). Cost scales with this.
radius_kmNoDistance from the city centre.
categoriesNoKinds of business in everyday words, e.g. ["dentist"], ["plumber","electrician"], ["indian restaurant"]. Empty = all businesses.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
country_codeYesTwo-letter country code of the city, e.g. "IN", "US", "GB".
require_emailNoOnly businesses with an email.
exclude_chainsNoLeave out branches of chains and brands.
require_websiteNoOnly businesses that list their own website.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/openWorld/idempotent annotations, the description discloses that it runs a specific Apify Actor (tacps126/contact-details) on the caller's account, the per-business price, the surcharge when contacts are found, and a $0.5 per-call spend cap. It also explains the enrichment pass (emails, phones, social profiles, email-on-site flag, site-liveness flag), which is exactly the behavioral context an agent needs before paying for a call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single front-loaded paragraph that leads with what is produced and then layers enrichment, legality, and cost. Dense but every clause carries information; only the parenthetical data-field list borders on schema duplication.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter, open-world, paid scraping tool with an output schema, the description covers cost model, data source, enrichment behavior, and legal caveats. It omits runtime expectations and failure/partial-result behavior, which would matter for a job that scans many websites.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning by tying cost to result volume ('about $0.00125 per business' plus the spend cap), which clarifies the practical effect of max_items. It does not, however, add anything about categories, radius_km, or extra_input beyond what the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource: it finds every business of given kinds in a city/area and enriches each with contacts scraped from its website. The opening phrase 'Lead lists without a list of websites' obliquely contrasts it with website-first siblings like find_website_contacts, but no sibling is named outright.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied (lead generation for business outreach) and a legal constraint is stated ('Use only for lawful business outreach (GDPR / CAN-SPAM)'), but there is no explicit when-to-use vs. when-not guidance and no named alternative such as find_website_contacts or find_companies for other starting points.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_property_auctionsFind court, bank and government auctions, scoredA
Read-onlyIdempotent

Foreclosure, court, tax and bank auctions from Germany, Spain, Italy and India in one format: price, valuation, debts that stay with the property, total cost, area, price per m2, possession (vacant or occupied), auction dates, deposit, seller, case number, documents and photos. Every lot is scored 0 to 100 against similar lots nearby and against the budget, place and dates given, with strengths, watch-outs and its rank among peers. Use for finding below-market property, screening distressed assets and auction alerts. Runs the Apify Actor tacps126/auctions-radar on your Apify account (about $0.015 per lot; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
profileNoWhat the score favours.balanced
regionsNoStates, provinces or regions, e.g. ["Bayern"], ["Madrid"], ["Kerala"], ["Lombardia"].
sort_byNoOrder of results.score
locationNoA town, postcode or address to measure distance from.
countriesNoCountries to read (default all four).
max_itemsNoMaximum results to return (default 50, max 1000). Cost scales with this.
radius_kmNoOnly lots within this distance of location.
budget_maxNoHighest price wanted, in budget_currency.
budget_minNoLowest price wanted, in budget_currency.
asset_typesNoKinds of asset (default property and vehicles).
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
vacant_onlyNoOnly lots stated as vacant.
min_area_sqmNoSmallest area in m2.
budget_currencyNoEUR or INR, or any currency with a daily reference rate.EUR
auction_within_daysNoOnly auctions in the next N days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/openWorld, and the description adds what they cannot: it runs the Apify Actor tacps126/auctions-radar on the caller's own Apify account, costs about $0.015 per lot with a hard $0.5 per-call spend cap. That is exactly the auth and cost context an agent needs before calling a paid, open-world search.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The scoring/cost sentences are front-loaded and earn their place, but the first sentence is a long enumeration of return fields (price, valuation, debts, area, price per m2, deposit, case number, photos) that duplicates an output schema the agent already has. Roughly half of that sentence is redundant payload.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 15 optional parameters, an output schema and full annotations, the description supplies the missing operational layer (cost model, spend cap, actor dependency, scoring basis). Little is absent beyond an explicit statement of result limits or how the profile enum changes scoring.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with enums and defaults documented, so the baseline applies. The description links scoring to the budget, place and date inputs and lists which currencies/regions are supported, but it adds no syntax or interaction detail beyond what the schema already spells out.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (finding foreclosure, court, tax and bank auctions) plus the four countries covered and the scored-lot output, which clearly separates it in kind from a plain listings search. It never names the adjacent sibling (search_german_property_listings), so the differentiation is inferable rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use for finding below-market property, screening distressed assets and auction alerts" gives concrete use cases that map well to an agent's intent. It stops short of exclusions or a named alternative for when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_reddit_leadsFind buying-intent posts on RedditA
Read-onlyIdempotent

Reddit posts and comments where people ask for a tool like yours, look for an alternative to a competitor, compare options or complain. Each lead is tagged with its intent (recommendation_request, alternative_seeking, comparison, pain_point) and the phrase that showed it. Runs the Apify Actor tacps126/reddit-lead-finder on your Apify account (about $0.002 per lead plus $0.0001 per post read; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
timeNoHow far back to look.month
max_itemsNoMaximum results to return (default 30, max 300). Cost scales with this.
categoriesNoWhat you sell, as buyers say it, e.g. ["CRM", "invoice software"].
subredditsNoOnly search these subreddits, e.g. ["smallbusiness", "SaaS"].
competitorsNoProducts whose users you want, e.g. ["HubSpot"].
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations: it discloses that this runs a specific third-party Apify Actor on the caller's own Apify account, quotes per-lead and per-post-read pricing, and states a $0.5 per-call spend cap — critical operational context an agent cannot get from readOnlyHint/idempotentHint. It also describes what each returned lead contains (intent tag plus the triggering phrase), which is genuinely additive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler: purpose first, output contract second, cost/execution model third. Every sentence carries information an agent needs before calling, and the most decision-relevant content (what a lead is, what it costs) is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be spelled out, yet the description still summarizes the lead structure usefully. With zero required parameters, six optional knobs, and a nested free-form extra_input, the definition is nearly complete — the only real gap is not telling the agent what happens if categories/competitors are omitted, i.e. what the default search actually covers.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and every parameter carries an example-bearing description ('CRM', 'HubSpot', 'smallbusiness'), so the schema does the heavy lifting and baseline 3 applies. The description adds nothing parameter-specific — notably silent on extra_input, the riskiest parameter, which merges arbitrary fields over Actor defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb-and-resource with a clear qualifier: Reddit posts/comments exhibiting buying intent, enumerated as asking for a tool, seeking alternatives, comparing, or complaining. The four named intent tags make the output shape concrete. It stops short of explicitly contrasting itself with the sibling search_reddit, leaving the agent to infer the difference from 'buying intent' alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The use case is strongly implied by 'people ask for a tool like yours' and the competitor/category framing, so an agent can infer when this fits. But there is no explicit when-not guidance and no mention of when to prefer the sibling search_reddit for generic Reddit lookups — that routing decision is left entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_remote_jobsFind remote jobs from company career sites and remote-job feedsA
Read-onlyIdempotent

Remote jobs straight from employers: hundreds of company job boards plus the Remote OK, Jobicy, Working Nomads and Himalayas feeds, keeping only roles the posting marks as remote. Normalized title, company, country, seniority, salary and skills; each job links to its source. Runs the Apify Actor tacps126/remote-jobs-scraper on your Apify account (about $0.002 per job; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
countriesNoKeep jobs open to these countries: ISO codes ("US", "CA") or names.
max_itemsNoMaximum results to return (default 50, max 500). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
title_includesNoKeep jobs whose title contains any of these, e.g. ["engineer"].
min_annual_salaryNoMinimum yearly pay in the posting's currency (jobs without pay are kept).
posted_within_daysNoOnly jobs posted in the last N days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent and non-destructive, so safety is covered; the description adds real operational context beyond them: it runs a specific Apify Actor on the caller's own account, charges roughly $0.002 per job, and caps spend at $0.5 per call. What it does not disclose is result latency or behavior when the cap truncates results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense paragraph, front-loaded with sources and scope before the normalization and cost details. Every sentence carries information, though the field list ('title, company, country, seniority, salary and skills') borders on redundant given the output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't describe return values, and it correctly focuses on source coverage, remote filtering, normalization and cost. The remaining gap is coverage limits (e.g., which countries or boards are weakly represented), which matters for an open-world scraper.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all six parameters are already documented, including country, title filter, salary floor and recency. The description only adds the framing that filtering preserves postings marked remote and that cost scales with result count, matching the max_items note in the schema rather than extending it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('remote jobs straight from employers') and enumerates the exact sources (company boards plus Remote OK, Jobicy, Working Nomads, Himalayas), which differentiates it from the sibling job searchers like search_tech_jobs and search_indeed_jobs by the remote-only filter. It never names those siblings, so the differentiation is implicit rather than routed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'keeping only roles the posting marks as remote', which tells an agent this is for remote-only searches. However, there is no explicit statement of when to prefer this over get_company_jobs or search_indeed_jobs, nor any exclusion or prerequisite beyond the cost note.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_website_contactsFind emails, phones and social profiles on websitesA
Read-onlyIdempotent

Finds business emails, phone numbers, addresses and social profiles (LinkedIn, X, Facebook, Instagram, YouTube) on any list of websites; it visits the contact and about pages itself. Use only for lawful business outreach (GDPR / CAN-SPAM). Runs the Apify Actor tacps126/contact-details on your Apify account (about $0.002 per website with contacts found; nothing found, no charge; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
websitesYesWebsite addresses or domains, e.g. "apify.com".
max_itemsNoMaximum results to return (default 50, max 1000). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
require_emailNoDrop sites where no email was found.
max_pages_per_siteNoPages read per website; contact, imprint and about pages are picked first.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive, open-world behavior, so safety is covered. The description goes further with genuinely useful operational detail: the backing Apify Actor, per-site pricing with no charge when nothing is found, and a $0.5 per-call spend cap. It still omits what a partial/failed crawl looks like, but the cost and execution model are well disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences that lead with what is found and where, then follow with legality and execution economics. Every clause carries information, though the second sentence packs legality, Actor identity, unit pricing, free-miss policy and a cap into one run-on that could be split.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and annotations cover the safety profile. The description supplies the remaining agent-relevant context (legal use, crawl behavior, cost model), leaving only minor gaps around error/partial-result handling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with websites, max_items, max_pages_per_site, require_email and extra_input all self-documented, including defaults, ranges and the cost-scaling note on max_items. The description adds no parameter-level meaning beyond this, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (Finds) plus the exact resources (business emails, phone numbers, addresses, social profiles on named platforms) and mechanism (visits contact and about pages itself). This makes it trivially distinguishable from siblings like search_google_news or get_company_jobs, which are single-source retrieval tools rather than website contact scrapers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a usage constraint ('Use only for lawful business outreach (GDPR / CAN-SPAM)') and cost framing, which implies the appropriate context. However, it never names an alternative or states when a different sibling tool would be the better choice for a related need, so selection guidance is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_alertsGet official weather and disaster warningsA
Read-onlyIdempotent

Official warnings in force from national services in one schema: US National Weather Service, MeteoAlarm (38 European countries), India NDMA (IMD, CWC, state disaster authorities), Brazil INMET, plus worldwide GDACS disasters and USGS earthquakes. Event, hazard type, severity, areas, start and expiry, instructions, issuing service. Most severe first. Runs the Apify Actor tacps126/alerts-radar on your Apify account (about $0.002 per alert; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
areasNoArea names to match: a state, district, county or city, e.g. ["Kerala", "Texas"].
statesNoStates or provinces by name or ISO 3166-2 code, e.g. ["Kerala", "US-TX"].
hazardsNoOnly these hazard types.
countriesNoISO codes or names, e.g. ["IN"], ["US", "DE"], or "EU" for every MeteoAlarm country.
max_itemsNoMaximum results to return (default 30, max 500). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
min_severityNoLowest CAP severity kept.moderate
sent_within_hoursNoOnly alerts issued in the last N hours.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), and the description adds behavior the annotations cannot: it runs the Apify Actor tacps126/alerts-radar on the caller's account, costs about $0.002 per alert with a $0.5 per-call spend cap, and returns results most-severe-first. The billing/spend-cap disclosure is exactly the kind of consequence an agent needs before invoking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core claim, then sources, then returned fields, then ordering and cost – a sensible information hierarchy. The parenthetical source list is dense but each item earns its place by establishing coverage; only the duplicated 'plus worldwide'/'plus' phrasing is slightly loose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 optional params, a full output schema and rich annotations, the definition supplies what structured data cannot (sources, ordering, cost, actor identity). The one substantive gap is filter-combination semantics across the four geographic/hazard arrays, which an agent must guess.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so per-parameter documentation is already handled by the schema and the baseline of 3 applies. The description adds only indirect semantics – 'Most severe first' hints at ordering despite min_severity, and nothing clarifies how areas/states/countries/hazards combine (AND vs OR), which is the real ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Official warnings in force') and pins it down with the exact issuing sources (NWS, MeteoAlarm, NDMA/IMD/CWC, INMET, GDACS, USGS) and the returned fields. An agent can tell this is an authoritative-alerts aggregator and not a generic government-document search like search_gov_updates, without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'in force' and the source list imply the use case (current official hazard warnings), but there is no explicit when-to-use/when-not statement and no named alternative among the siblings (e.g. search_gov_updates). Usage is inferable rather than instructed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_app_reviewsGet App Store and Google Play reviewsA
Read-onlyIdempotent

Reviews from the Apple App Store and Google Play in one dataset: rating, text, author, date, app version, developer reply, sentiment. Mix both stores and several countries. Runs the Apify Actor tacps126/app-reviews on your Apify account (about $0.0002 per review; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
appsYesApp Store / Google Play links, App Store ids ("id324684580") or Android package names ("com.spotify.music").
countriesNoTwo-letter store countries, e.g. ["us","gb"].
max_itemsNoMaximum results to return (default 100, max 2000). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
star_ratingsNoOnly these ratings, e.g. ["1","2"].

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, non-destructive, openWorld), so the description is free to add operational context, which it does: it runs the Apify Actor tacps126/app-reviews on the caller's account, costs ~$0.0002 per review, and caps spend at $0.5 per call. That cost/execution detail is genuinely additive beyond the annotations, though latency and pagination behavior remain unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences that front-load what the dataset contains and then the execution/cost note. The 'Mix both stores and several countries' clause is slightly redundant with the opening clause but overall there is no wasted prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return values, and annotations carry the safety profile; the added cost and Actor-execution context rounds it out well. Minor gap: it doesn't reconcile the max_items ceiling with the $0.5 spend cap or mention result limits in practice.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters are already documented in the schema; baseline is 3. The description's mention of mixing stores and countries loosely maps to the countries parameter but adds no syntax or format detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Reviews from the Apple App Store and Google Play'), names the two data sources, and enumerates the returned fields. This is immediately distinguishable from the sibling get_trustpilot_reviews because the store sources are explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage ('Mix both stores and several countries') but never states when to prefer this tool over the similar sibling get_trustpilot_reviews or any exclusion criteria. Usage is inferable from the resource rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_company_jobsGet all open jobs from company career pagesA
Read-onlyIdempotent

All open jobs from companies in one normalized format (title, company, location with country code, remote/hybrid, seniority, salary, skills, apply URL, posted date). Give career-page URLs (the company's own careers page or its job board) or just company names; 13 job-board systems are supported (Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Rippling, BambooHR, Pinpoint, Breezy, Recruitee, Personio, Teamtailor) and found automatically. Runs the Apify Actor tacps126/jobs-harvester on your Apify account (about $0.001 per job; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
countriesNoKeep jobs in these countries: ISO codes ("US", "DE") or names.
max_itemsNoMaximum results to return (default 50, max 500). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
remote_onlyNoOnly remote jobs.
company_namesNoCompany names, e.g. ["Datadog", "Ramp"]; each is looked up on every supported job-board system.
title_includesNoKeep jobs whose title contains any of these.
career_page_urlsNoCareer page URLs, e.g. "https://www.figma.com/careers" or "https://jobs.lever.co/spotify".
location_includesNoKeep jobs in these locations.
posted_within_daysNoOnly jobs posted in the last N days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/openWorld/idempotent/non-destructive, and the description adds genuinely new context: it runs the Actor tacps126/jobs-harvester on the caller's own Apify account, costs about $0.001 per job, and caps spend at $0.5 per call. The only gap is failure behavior when a company or URL is not resolvable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense paragraph that front-loads the output shape, then inputs, then billing — every clause carries information. The long ATS enumeration is useful but is the one place it could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and rich annotations, the description need not explain returns; it covers scope, input modes, cost, and supported systems. The remaining hole is that with zero required parameters it never says whether at least one of career_page_urls/company_names is mandatory or how the tool behaves otherwise.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description reinforces the two main input modes and notes that cost scales with result count, but adds no syntax detail (ISO vs. name handling, what extra_input overrides) beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (all open jobs from company career pages) and enumerates the normalized output fields and the 13 supported ATS systems, so the agent knows exactly what comes back. It never names a sibling job-search tool (search_indeed_jobs, search_tech_jobs, find_remote_jobs) to differentiate itself, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Give career-page URLs ... or just company names" clarifies the two accepted input modes and the schema's filters imply narrowing use, but there is no explicit when-to-use-vs-alternatives guidance against the many sibling job tools, and no statement about what happens if neither URLs nor names are supplied (0 required params).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_india_district_noticesGet notices from India's district websitesA
Read-onlyIdempotent

Tenders, recruitment and announcements from the official websites of India's 748 districts (collector offices), by state and district: title (often Hindi or the state language), date, district, state, official PDF link. Newest first. Runs the Apify Actor tacps126/india-district-notices on your Apify account (about $0.003 per notice; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
statesNoStates or union territories by name or ISO code, e.g. ["Bihar"], ["IN-UP"]. Up to 120 districts per call.
keywordsNoWhole words matched on titles.
districtsNoDistrict names, e.g. ["Patna", "Lucknow"].
max_itemsNoMaximum results to return (default 30, max 500). Cost scales with this.
categoriesNoNotice lists to read.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
posted_within_daysNoOnly notices dated in the last N days (0 = any).

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive and open-world, so the safety bar is met; the description goes well beyond with the concrete cost model (~$0.003 per notice, $0.5 spend cap per call), the backing Apify Actor, result ordering (newest first), and the language caveat on titles. Cost and spend-cap disclosure is exactly the kind of context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the resource and geographic scope, then cost and provenance. The parenthetical stacking ('about $0.003 per notice; spend per call is capped at $0.5') is dense but every clause carries useful information, so nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Return values are covered by an output schema and safety by annotations, so what remains for the description – source, ordering, cost, language caveat – is present. The only mild gap is that the 120-districts-per-call limit lives in the schema rather than the description, which is acceptable given full schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 and the description repeats rather than extends it – it mentions states/districts and the language of titles but adds no syntax or format guidance beyond the schema (e.g. what to do with extra_input). The schema is doing the heavy lifting here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (get) and resource (tenders, recruitment and announcements from India's 748 district collector-office sites), plus the returned fields and ordering. An agent can tell this apart from generic siblings like search_tenders or search_gov_updates because the source geography and granularity are explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the domain scoping ('India's 748 districts ... by state and district'), and the one-call budget cap hints at cost-conscious use. However, it never names an alternative or an exclusion (e.g. when to prefer search_gov_updates or search_tenders instead), so selection is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_lottery_resultsGet lottery results and number frequencyA
Read-onlyIdempotent

Winning numbers for Powerball (with Double Play), Mega Millions, Millionaire for Life, Cash4Life, NY Lotto, Take 5, Pick 10, Numbers, Win 4, Quick Draw, Lotto Texas, Texas Two Step and Cash Five, with the estimated jackpot and jackpot winners where published; history back to 1980. Or number frequency (hot and cold numbers) for any date range, with what pure chance would give. Runs the Apify Actor tacps126/lottery-results on your Apify account (about $0.003 per draw or number row; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
gamesYesWhich games.
date_toNoYYYY-MM-DD (default today).
data_typeNodraws (one row per draw) or stats (how often and how recently each number was drawn).draws
date_fromNoYYYY-MM-DD; replaces days_back.
days_backNoDefault 30 for draws, 365 for stats.
max_itemsNoMaximum results to return (default 100, max 5000). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, and the description goes further by disclosing the underlying Apify Actor, per-row cost (~$0.003), and a $0.5 per-call spend cap — operationally important context an agent can't get from the annotations. It does not describe pagination or failure behavior, but the cost model is the key disclosure here.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the main capability, but the single dense sentence enumerating thirteen games is redundant with the schema enum and makes the definition longer than needed. The cost information is valuable; the game roll-call is not.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, open-world data-fetch tool with a full output schema, the description supplies what's missing from structured fields: coverage of games, history depth, mode semantics, and the spend cap. Only minor gaps (pagination/row ordering) remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all seven parameters are already documented, including the draws/stats enum and date formats. The description adds a little meaning (frequency stats include what pure chance would produce, history back to 1980) but largely restates the game list already captured by the enum; baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (winning numbers / number frequency) and names the concrete games covered, plus the history window back to 1980. The long enumeration of games partly duplicates the enum in the schema, but the core purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly describes the two modes an agent would choose between — per-draw winning numbers versus hot/cold frequency stats over a date range — and notes the frequency mode includes a pure-chance baseline. No explicit exclusions are stated, but sibling tools are unrelated so there is no real alternative to route against.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_prediction_marketsGet prediction market odds (Kalshi, Polymarket, Manifold, PredictIt)A
Read-onlyIdempotent

Prediction markets from Kalshi, Polymarket, Manifold and PredictIt in one table: the market-implied probability, every outcome price, bid and ask, 24-hour and 7-day change, volume, liquidity, open interest, close date, status and, once settled, the result. Search by keyword or category, or pass market links or tickers; optional daily price history. Use for event forecasting, news context and research. Runs the Apify Actor tacps126/prediction-markets on your Apify account (about $0.003 per market; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
searchNoKeywords, e.g. "fed rate", "bitcoin", "election". Empty = the busiest markets.
statusNoopen, closed (settled, with result) or all.open
marketsNoMarket or event links, Kalshi tickers or Polymarket slugs.
sort_byNoOrder of results.volume24h
max_itemsNoMaximum results to return (default 30, max 1000). Cost scales with this.
platformsNoWhich platforms (default kalshi and polymarket).
categoriesNoOnly markets in these categories.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
history_daysNoAdd a daily price history of this many days (Kalshi and Polymarket). 0 = none.
min_volume_24hNoMinimum 24-hour volume (dollars on Polymarket, contracts on Kalshi).
closes_within_daysNoOnly markets that close within this many days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/openWorld/idempotent/non-destructive, so the description isn't carrying the safety burden. It adds genuinely new operational facts the annotations don't: the tool proxies the Apify Actor tacps126/prediction-markets on the user's own Apify account, costs about $0.003 per market, and hard-caps spend at $0.5 per call. It does not discuss run latency or failure modes for unsupported tickers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Lead sentence is a very long stacked list of every returned field, which is redundant given the tool has an output schema. The cost/execution note is valuable and belongs early, but the enumeration of return columns should have been trimmed in favor of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter, open-world scraping tool with no required params, the description covers cost model, spend cap, platform defaults and history option — enough to call it correctly. Return-value explanation is unnecessary since an output schema exists, so that omission costs nothing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is already documented with enums, defaults and units. The description restates the search-modes and the optional daily price history without adding format or edge-case detail (e.g. what happens when both `search` and `markets` are supplied, or how `markets` interacts with `platforms`). Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get prediction markets') plus the four source platforms and the exact fields returned (implied probability, bid/ask, volume, liquidity, close date, settlement result). No sibling tool covers prediction markets, so the domain is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the retrieval modes ('search by keyword or category, or pass market links or tickers') and the intended use cases ('event forecasting, news context and research'). It lacks any when-not guidance or comparison to an alternative tool, which keeps it below a 5, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_shopify_productsGet products from Shopify storesA
Read-onlyIdempotent

Products from any Shopify store: prices, sale prices, discounts, stock, variants, SKUs, images and descriptions. Whole stores, collections or single products. Useful for price and stock monitoring. Runs the Apify Actor tacps126/shopify-products on your Apify account (about $0.001 per product; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
storesYesStore domains, collection links or product links, e.g. "allbirds.com".
keywordsNoOnly products matching any of these words.
max_itemsNoMaximum results to return (default 100, max 1000). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
only_on_saleNoOnly products with a sale price.
only_availableNoOnly products that are in stock.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/destructive=false, so safety is covered. The description adds genuinely new behavioral context beyond structured data: it runs the external Actor tacps126/shopify-products on the caller's Apify account, at ~$0.001 per product with a $0.5 per-call spend cap. It omits runtime/latency and pagination behavior, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences with the payload front-loaded: what you get, at what scope, what it's for, and what it costs/how it runs. No sentence is filler, and the cost caveat is placed last where it reads as a constraint rather than the headline.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and all six parameters are documented in the schema. The description supplies the missing economics (per-product cost, per-call cap) and execution model (external Apify Actor), which is everything an agent needs to decide whether and how to call it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains stores, keywords, max_items, only_on_sale, only_available, and extra_input. The description restates scope (store/collection/product links) and cost scaling but adds no syntax or format detail beyond what the schema already documents. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb+resource ('Products from any Shopify store') and enumerates the returned data (prices, sale prices, discounts, stock, variants, SKUs, images, descriptions) plus the three scopes it supports (whole stores, collections, single products). None of the sibling tools overlap, so no sibling disambiguation is needed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Useful for price and stock monitoring' names a concrete use case, and the scope sentence tells the agent it can pass store domains, collection links, or product links. There is no explicit when-not guidance or named alternative, but no sibling competes for this task, so the gap is minor.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_sports_dataGet sports scores, box scores, odds and standingsA
Read-onlyIdempotent

Scores and schedules, player box scores, betting odds (opening vs current or closing moneyline, spread and total, line movement, no-vig probability, and how each line settled), standings and rosters for 24 leagues: NFL, NBA, WNBA, MLB, NHL, college football and basketball, Premier League, LaLiga, Bundesliga, Serie A, Ligue 1, Champions League and more, MLS, Liga MX, Formula 1, ATP and WTA tennis (with rankings), PGA golf and UFC. Filter by date, status and team or player. Runs the Apify Actor tacps126/sports-data on your Apify account (about $0.003 per game, odds row, standings row or player; $0.001 per box-score player line; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
teamsNoTeam or player names or abbreviations, e.g. ["Lakers", "KC", "Sinner"].
seasonNoSeason year for standings, e.g. 2026; empty = current.
date_toNoYYYY-MM-DD; replaces days_ahead.
leaguesYesOne or more leagues.
data_typeNogames, boxScores (one row per player per game), odds (one row per game per sportsbook), standings (tennis: rankings), teams or rosters. Box scores, teams and rosters cover team sports.games
date_fromNoYYYY-MM-DD; replaces days_back.
days_backNoDays back from today; 1 = yesterday and today.
max_itemsNoMaximum results to return (default 100, max 5000). Cost scales with this.
days_aheadNoDays ahead for schedules and upcoming lines.
match_typeNoTennis only.any
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
game_statusNofinal for results and closing lines, scheduled for fixtures.any

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/openWorld, and the description adds the material behavior an agent cannot get from them: it runs a specific Apify Actor on the user's own account, itemized per-unit pricing, and a hard $0.5 per-call spend cap. That cost and account-execution disclosure is exactly the kind of context annotations omit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the data types, then the league list, then the filter knobs, then the pricing/cap caveat — a sensible order with no filler sentences. The long league enumeration and odds-detail parenthetical are dense but each clause carries distinct information, so it stays close to appropriately sized for a 12-parameter, 24-league tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-shape explanation isn't needed. The description covers domain scope, filtering, per-unit cost, spend ceiling, and the external Actor dependency — everything an agent needs to decide to call it and to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds meaning the schema doesn't: what an 'odds' row contains (opening vs current/closing moneyline, spread, total, line movement, no-vig probability, settlement) and that tennis rankings come back under 'standings'. It also flags that cost scales with max_items, tying a spend consequence to a parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource set: scores and schedules, box scores, betting odds, standings and rosters, enumerating the 24 leagues covered. No sibling tool in the list touches sports, so an agent can immediately route sports queries here.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Filter by date, status and team or player" plus the data_type breakdown gives clear context on how to scope a call, and the schema's data_type description notes box scores/teams/rosters are team-sports-only. There are no explicit when-not-to-use conditions, but no sibling overlaps this domain, so the exclusion burden is low.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_supplier_contractsList the public contracts a company wonA
Read-onlyIdempotent

Public contracts each company won: US federal (USAspending), every EU/EEA country (TED award notices) and the UK (Contracts Finder). First a summary per company (awards, total value per currency, top buyers, first and last award, legal names the portals used), then every award with buyer, value, date, codes and link. For competitor tracking, sales prospecting and supplier due diligence. Runs the Apify Actor tacps126/tenders-radar on your Apify account (about $0.004 per award (summaries free); spend per call is capped at $0.5).

NameRequiredDescriptionDefault
countriesNoLimit to "US", "GB", "EU" or EU/EEA ISO codes (default: all three portals).
max_itemsNoMaximum results to return (default 50, max 1000). Cost scales with this.
suppliersYesCompany names, e.g. ["Accenture", "Palantir"].
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
awarded_within_daysNoAwards from the last N days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, open-world, idempotent, and non-destructive behavior. The description adds important operational context beyond annotations: it runs an Apify Actor on the caller’s account, costs about $0.004 per award with free summaries, and caps spend at $0.5 per call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the purpose and data sources, then covers output shape, use cases, and cost/account details. Every sentence adds useful information for calling or interpreting the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema, rich annotations, and fully documented input schema, the description supplies the remaining context an agent needs: source coverage, result structure, cost model, and account dependency. Nothing material appears missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already carries parameter-level meaning. The description adds general cost context tied to award volume and the per-call cap, but it does not explain suppliers, countries, or awarded_within_days beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource and scope: public contracts won by named companies across US federal, EU/EEA, and UK sources. It clearly explains the returned structure (company summary followed by individual awards). It does not explicitly contrast with the sibling search_tenders tool, so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names concrete use cases: competitor tracking, sales prospecting, and supplier due diligence. However, it gives no explicit when-not-to-use guidance or direct alternative such as search_tenders, so an agent must infer boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_trade_show_exhibitorsGet trade show exhibitor lists (booths and contacts)A
Read-onlyIdempotent

Exhibitor lists of trade shows as B2B leads: company, booth and hall, email, phone, website, address, socials and categories. 91 built-in shows (e.g. medica, sema-show, nab-show, fabtech, ish, automechanika, wtm-london, orgatec, eurotier, wine-paris, biofach) or any exhibitor-list link or show homepage on Messe Frankfurt, Messe Düsseldorf, Koelnmesse, NürnbergMesse, Newfront/ExpoPlatform, RX, Map Your Show, a2z / A2Z Connect, Swapcard or Corussoft; the link's own show and year are used. Contact coverage depends on what the organiser publishes. Runs the Apify Actor tacps126/exhibition-scraper on your Apify account (about $0.002 per exhibitor; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
urlsNoLinks to any show's exhibitor list or exhibitor search page (or its homepage).
showsNoBuilt-in show ids, e.g. ["medica","sema-show"]. The Actor README lists all ids.
max_itemsNoMaximum results to return (default 50, max 2000). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
changes_onlyNoOnly exhibitors that are new, changed (old and new booth, email, phone, website, address) or removed since the last call with the same shows. Removed ones need the whole list, so it ignores max_items for that.
include_contactsNoOpen each exhibitor profile for email, phone, website, address and socials. Off = names and booths only (faster).

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld/idempotent annotations by disclosing the underlying Apify Actor, per-exhibitor pricing (~$0.002), a hard $0.5 spend cap per call, and the caveat that contact coverage depends on what the organiser publishes. Those are exactly the cost and reliability facts an agent needs before invoking a paid scrape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with what is returned and then the sources. The long enumerations of 11 shows and 9 platform names are dense but earn their place by signalling coverage; slight trimming would still leave room for an explicit alternative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a full output schema, rich annotations and 100% parameter coverage, the description still supplies the cost model, source universe and data-quality caveat, leaving nothing an agent needs in order to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description still adds value by giving concrete show-id examples, explaining that a URL's own show and year are used, and tying cost to result volume. It doesn't add much for extra_input or changes_only beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb+resource (exhibitor lists of trade shows as B2B leads) and immediately enumerates the returned fields (company, booth/hall, email, phone, website, address, socials, categories). This clearly separates it from sibling lead/research tools like find_website_contacts and find_events.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains the two input modes in detail: 91 built-in show ids, or any exhibitor-list URL or show homepage, with the show and year inferred from the link. It does not explicitly say when to choose this over siblings such as find_website_contacts, so the routing guidance is clear but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_trustpilot_reviewsGet Trustpilot reviews and company ratingA
Read-onlyIdempotent

Trustpilot reviews for one or more companies (rating, title, text, reviewer, country, date, company reply) plus the company's TrustScore and review counts. Filter by stars, language, verified and date period. Runs the Apify Actor tacps126/trustpilot-reviews on your Apify account (about $0.0005 per review; company profile free; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
sortNoNewest reviews first (recency) or most relevant first.recency
searchNoOnly reviews containing this text.
companiesYesCompany domains or Trustpilot URLs, e.g. "apify.com".
date_periodNoOnly reviews from this period.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
max_reviewsNoMaximum results to return (default 50, max 500). Cost scales with this.
star_ratingsNoOnly these ratings, e.g. ["1","2"] for complaints.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly/idempotent/openWorld, but the description adds genuinely useful context beyond them: it runs the Apify Actor tacps126/trustpilot-reviews on the caller's own Apify account, costs ~$0.0005 per review, and caps spend at $0.5 per call. It stops short of describing latency or async/polling behavior, so not a full 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences, front-loaded with what is returned before filters and cost. Dense and mostly waste-free, though the parenthetical field list is long and the actor/cost sentence could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and 100% schema description coverage, the description need not explain return values, and it does supply the missing operational context (cost, spend cap, backing actor). The only gap is the absent guidance on choosing this tool over review-related siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3 and the schema already documents every parameter. The description's mention of 'language' and 'verified' filters is slightly out of step with the top-level schema (those would have to go through extra_input), and it only adds marginal semantics such as cost scaling with max_reviews.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (get Trustpilot reviews for one or more companies) and enumerates the returned fields (rating, title, text, reviewer, country, date, company reply) plus TrustScore and review counts. This clearly separates it from siblings like get_app_reviews and search_reddit without needing the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies its domain (Trustpilot company reviews) and lists the available filter dimensions, which hints at when it applies. However, it never names an alternative tool or states when NOT to use it (e.g., app-store reviews belong to get_app_reviews), so routing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_youtube_transcriptsGet YouTube video transcriptsA
Read-onlyIdempotent

Full transcripts of YouTube videos, and of every video in a playlist, a channel (newest first) or a YouTube search, as clean text plus timed caption lines, with title, channel, publish date, length, views, description and keywords. Picks the caption language you prefer (a written transcript over an auto-generated one) and can translate (best effort). Use for summaries, RAG, research and content repurposing. Runs the Apify Actor tacps126/youtube-transcripts on your Apify account (about $0.0025 per transcript (videos without captions are free); spend per call is capped at $0.5).

NameRequiredDescriptionDefault
videosNoVideo links or ids, playlist links, channel @handles or channel links.
searchesNoYouTube searches whose top videos to read, e.g. ["rust async tutorial"].
languagesNoCaption languages in order of preference, e.g. ["en", "de"] (default en).
max_itemsNoMaximum results to return (default 20, max 500). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
translate_toNoLanguage code to translate the captions into (best effort).
include_segmentsNoAdd every caption line with its start time. Off = plain text only.
max_videos_per_sourceNoVideos taken from each playlist, channel or search.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, non-destructive, open-world), and the description adds genuinely new behavior: the upstream Apify Actor, per-transcript pricing (~$0.0025), free videos without captions, and a $0.5 per-call spend cap. It also discloses caption-selection preference (written over auto-generated), best-effort translation, and newest-first channel ordering.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Zero filler — every clause carries payload (sources, output shape, metadata, cost). The opening sentence is a dense multi-clause list that front-loads scope well but is long enough to be parsed in several passes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation. For an 8-parameter, nested, open-world scraping tool, the description supplies the cost model, source coverage, and language behavior an agent needs to call it safely and correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns more by explaining caption-selection logic that the schema only gestures at with "in order of preference" and by flagging that max_items drives cost. It does not clarify extra_input merging or translate_to semantics beyond what the schema says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (fetch full transcripts of YouTube videos) and enumerates supported source types: single videos, playlists, channels (newest first), and searches. No sibling tool covers this domain, and the description makes the resource boundary unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use for summaries, RAG, research and content repurposing" gives clear situational context, and the cost note implicitly steers toward bounded use. It never states when NOT to use it or names an alternative, but the sibling set contains no overlapping transcript tool to route against.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

screen_sanctionsScreen names against official sanctions listsA
Read-onlyIdempotent

Screens people and organisations against the official sanctions lists read from each publisher: US OFAC SDN and consolidated (non-SDN), UN Security Council, EU consolidated financial sanctions, UK Sanctions List, Canada and Switzerland (SECO). Matching handles transliteration (Cyrillic, Arabic), word order, patronymics, initials and company forms. Returns a verdict per name (match, possible-match, no-match) with the matching entries: list, programmes, countries, birth dates, identifiers, listing date and link. A screening aid, not legal advice. Runs the Apify Actor tacps126/sanctions-screener on your Apify account (about $0.003 per name; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
listsNoLists to check (default: all).
namesYesPeople or organisations to screen, e.g. ["Rosneft", "Vladimir Putin"].
countryNoFor a single subject: a nationality or country (name or ISO code).
min_scoreNoName similarity from which an entry is reported.
entity_typeNoPeople only, organisations (with vessels and aircraft) only, or both.any
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
date_of_birthNoFor a single person: a date or year of birth, which lowers matches with a different birth year.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them: it discloses that the call runs the Apify Actor tacps126/sanctions-screener on the user's own Apify account, that cost is roughly $0.003 per name with a hard $0.5 cap per call, that matching applies transliteration and name-normalisation rules, and that output is a verdict plus matched entries. The account-dependency and spend cap are exactly the operational facts an agent needs before calling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The scope and covered lists are front-loaded, followed by matching behaviour, output shape, disclaimer, and finally cost/account mechanics — a sensible order with no filler sentences. Despite being a dense paragraph, every clause carries information an agent would otherwise have to guess.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter tool with a nested object and an output schema, the description covers everything material: data sources, matching logic, result semantics, cost model, spend cap, and account prerequisite. Return-value detail is somewhat redundant given the output schema, but that is a minor surplus rather than a gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns a bump by decoding the opaque `lists` enum values into publisher names (e.g. 'us-ofac-cons' → OFAC consolidated non-SDN, 'ch' → Switzerland SECO). It also explains the fuzzy-matching behaviour that `min_score` controls (transliteration, word order, patronymics, initials, company forms), though it does not directly discuss `country`, `date_of_birth`, or `extra_input`.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Screens people and organisations against the official sanctions lists') and enumerates the exact publishers covered (OFAC SDN/consolidated, UN, EU, UK, Canada, SECO). No sibling tool does anything comparable, so the tool is unambiguously identifiable from the name and first sentence alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description establishes clear usage context (compliance/AML screening of persons and entities) and adds the important caveat 'A screening aid, not legal advice,' which frames when the output should and should not be relied on. It does not explicitly state exclusions or name an alternative tool, but no sanctions-related sibling exists to route away from.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_clinical_trialsSearch clinical trials (ClinicalTrials.gov)A
Read-onlyIdempotent

Clinical trials from ClinicalTrials.gov by condition, drug or device, sponsor, site location, status, phase and sponsor type: dates, enrollment, design, interventions, eligibility, outcomes, central contacts (name, phone, email) and study sites. Use for trial landscapes, site and patient recruitment, competitive intelligence and new-study alerts. Runs the Apify Actor tacps126/clinical-trials on your Apify account (about $0.003 per study; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
phasesNoEmpty = any phase.
sponsorNoSponsor, e.g. "Pfizer".
keywordsNoWords anywhere in the study record.
locationNoCountry, state or city of a site, e.g. "India", "Boston".
statusesNoEmpty = any status.
conditionNoDisease or condition, e.g. "obesity", "breast cancer".
max_itemsNoMaximum results to return (default 50, max 1000). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
interventionNoDrug, device or procedure, e.g. "semaglutide".
sponsor_typesNoEmpty = any sponsor.
first_posted_within_daysNoOnly studies first posted in the last N days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds valuable execution context: it runs the Apify Actor tacps126/clinical-trials on the user's account, costs about $0.003 per study, and caps spend per call at $0.5 — details an agent cannot infer from annotations or schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences are front-loaded with what the tool returns, followed by use cases and cost transparency. The long first sentence packs many fields but every phrase earns its place; no filler or redundancy is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex (11 params, nested extra_input, output schema) but the description covers the key dimensions: data source, filters, returned fields, use cases, execution environment, and cost. With an output schema present, it needn't explain return values in detail, though it could briefly mention pagination or result shape to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every parameter with examples and enum values. The description only restates the filterable dimensions (condition, sponsor, status, phase) without adding syntax or format guidance beyond the schema, which is the expected baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (ClinicalTrials.gov trials) and enumerates the filters and returned fields, so an agent knows exactly what data it retrieves. It does not explicitly contrast with sibling tools like search_research or search_fda_device_clearances, so it stops short of the sibling-differentiation bar for a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides concrete use cases — trial landscapes, site and patient recruitment, competitive intelligence, and new-study alerts — which clearly signal when to reach for this tool. It gives no when-not guidance or named alternatives, but the context is clear enough for most selections.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_fda_device_clearancesSearch FDA medical device clearances (510(k), PMA)A
Read-onlyIdempotent

FDA medical device 510(k) clearances and PMA approvals: applicant, contact person, address, device and generic name, product code, specialty panel, device class, dates received and decided, review days, decision and links. Filter by date, company, device words, product code, specialty and class. Use for medtech competitive intelligence and sales prospecting. Runs the Apify Actor tacps126/fda-device-clearances on your Apify account (about $0.004 per decision; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
typesNoDefault both.
applicantNoApplicant name, e.g. "Medtronic".
max_itemsNoMaximum results to return (default 50, max 1000). Cost scales with this.
device_nameNoWords in the device or trade name, e.g. "catheter".
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
specialtiesNoFDA review panels.
product_codesNoFDA three-letter product codes, e.g. ["QAS"].
device_classesNoEmpty = all.
decided_within_daysNoDecisions in the last N days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the baseline is covered. The description adds genuinely useful behavior beyond that: it names the backing Apify Actor, discloses per-decision cost (~$0.004) and a $0.5 per-call spend cap, and notes that cost scales with max_items — material facts for an agent deciding whether to call it or how to size the request.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the resource and scope before filtering and cost details. The opening field enumeration is long but each item informs what a caller can retrieve; little is wasted, though the list could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the schema plus description together cover filters, cost, and execution model. The main residual gap is that the description doesn't warn that results default to only the last 30 days of decisions, which an agent could easily miss when interpreting an empty or narrow result set.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every one of the 9 parameters is already documented with examples and constraints. The description's filter summary ('date, company, device words, product code, specialty and class') merely restates the schema and does not flag the consequential default of decided_within_days=30, which silently narrows results.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('FDA medical device 510(k) clearances and PMA approvals') and enumerates exactly what data is returned (applicant, product code, panel, class, review days, decision, links). This is unmistakably distinct from siblings like search_clinical_trials or search_recalls, which cover different regulatory datasets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states a clear usage context ('medtech competitive intelligence and sales prospecting') and lists the available filter axes, so an agent knows what this tool is for. It stops short of explicit when-not guidance or naming an alternative sibling (e.g. clinical trials vs. clearances) for overlapping research questions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_german_property_listingsSearch German and Austrian property listings (ImmoScout24)A
Read-onlyIdempotent

Apartments and houses for rent or sale in Germany or Austria: price, rent, area, rooms, address with coordinates, energy class, features, agent, photos and dates. Not Switzerland. Runs the Apify Actor tacps126/immobilienscout24-scraper on your Apify account (about $0.001 per listing; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
countryNode = Germany (immobilienscout24.de), at = Austria (immobilienscout24.at).de
min_areaNoMinimum area in m2.
locationsYesCities, districts or regions in plain words, e.g. ["Berlin","München Schwabing"]; in Austria a city or federal state, e.g. ["Wien","Tirol"].
max_itemsNoMaximum results to return (default 50, max 500). Cost scales with this.
max_priceNoMaximum price in EUR (monthly rent or purchase price).
min_priceNoMinimum price in EUR (monthly rent or purchase price).
min_roomsNoMinimum number of rooms.
offer_typeNoRent or buy listings.rent
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
changes_onlyNoOnly listings that are new, changed (old and new price, rent, size, rooms) or removed since the last call with the same search. For price tracking on a schedule.
property_typeNoApartments or houses.apartment

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnly, openWorld, idempotent, non-destructive), the description discloses substantive behavior: it runs a specific Apify Actor on the caller's account, costs roughly $0.001 per listing, and caps spend at $0.5 per call. That billing and external-dependency detail is exactly the kind of context annotations cannot convey. It stops short of covering failure modes or pagination, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences with no filler; geography scope is front-loaded and cost information follows immediately. The enumeration of returned fields is somewhat wasted effort since an output schema already exists, which slightly dilutes the value-per-sentence ratio.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter, nested, open-world scraping tool with an output schema, the description covers the essentials an agent needs: geographic coverage, cost model, spend cap, and account dependency. Gaps remain around the incremental 'changes_only' mode and the 'extra_input' override, but those are fully documented in the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every one of the 11 parameters is already documented in the schema, making the baseline 3. The description reinforces a few fields (price, area, rooms, country scope via 'Not Switzerland') but adds no syntax, format, or interaction semantics beyond the schema. Notably, neither the nested 'extra_input' escape hatch nor 'changes_only' is mentioned in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource (rental/sale apartments and houses on ImmoScout24 in Germany/Austria) and enumerates the returned fields, so an agent knows exactly what domain of data it gets. It deliberately excludes Switzerland, which sharpens the boundary. The verb 'search' is only implicit from the name rather than stated in the description, which keeps it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the domain ('property listings in Germany or Austria') and one exclusion is given ('Not Switzerland'), but there is no explicit statement of when to call this versus when not to, and no mention of prerequisites such as the Apify account being required. Since no sibling tool covers the same domain, the practical ambiguity is low, but the guidance is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_google_newsSearch Google NewsA
Read-onlyIdempotent

Search Google News (any language and country) and return articles with the publisher's real article URL, publisher, date and related coverage. Supports Google operators ("exact phrase", -exclude, OR, intitle:) and site filters. Runs the Apify Actor tacps126/google-news on your Apify account (about $0.002 per article; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
queryYesSearch query, e.g. "generative AI" or "tesla -musk".
sitesNoLimit to these publisher domains, e.g. ["reuters.com"].
countryNoTwo-letter edition country, e.g. US, GB, DE.US
languageNoLanguage code, e.g. en, de, fr.en
max_itemsNoMaximum results to return (default 20, max 200). Cost scales with this.
timeframeNoOnly articles newer than this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, openWorld), and the description adds genuinely useful operational context: it runs on the user's Apify account, costs ~$0.002/article, and spend per call is capped at $0.5. It stops short of describing failure modes or how the cap is enforced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences that are front-loaded with purpose, then capabilities, then cost. Dense but every clause earns its place; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return details need not be spelled out, and the description covers scope, cost, and account context for a 7-param nested-schema tool. Minor gaps remain around pagination or behavior when a query returns nothing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds real semantic value by enumerating supported Google operators ("exact phrase", -exclude, OR, intitle:) that the plain query schema does not document, and it ties cost scaling to max_items.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Search Google News') plus the exact return payload (article URL, publisher, date, related coverage), which separates it cleanly from sibling search tools like search_indeed_jobs or search_reddit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Conveys how to use it (Google operators, site filters, language/country scope) and flags the cost model, giving clear context for invocation. It does not, however, state when to prefer this over a sibling news/review source or any exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_gov_updatesSearch official government updatesA
Read-onlyIdempotent

Official government updates in one list: US Federal Register rules, proposed rules (with comment deadlines) and notices, SEC press releases, GOV.UK news, guidance and consultations, European Commission press releases, Indian regulators (RBI, SEBI, TRAI, CERC, CDSCO, DGFT) circulars, orders and notifications, plus any RSS feed or official "What's new" list page you name. Filter by sector, keyword, authority and type; every update is tagged with its sectors. Runs the Apify Actor tacps126/gov-radar on your Apify account (about $0.003 per update; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
typesNoUpdate types, e.g. rule, proposed-rule, notice, guidance, consultation, circular, press-release.
sectorsNoOnly updates about these sectors.
keywordsNoWords or phrases matched on title and summary, e.g. "AI", "stablecoin", "battery".
feed_urlsNoExtra RSS/Atom feeds to read with the same filters.
max_itemsNoMaximum results to return (default 30, max 500). Cost scales with this.
page_urlsNoOfficial list pages (circulars, notifications, "What's new") to read like a feed; robots.txt is respected.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
jurisdictionsNoCountries / regions (default: all).
posted_within_daysNoOnly updates from the last N days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/openWorld/idempotent/non-destructive, and the description adds substantial context beyond them: the tool runs a named Apify Actor on the caller's own Apify account, cost is ~$0.003 per update with a $0.5 per-call spend cap, and robots.txt is respected for scraped list pages. Cost/quota and billing-surface disclosure is exactly the kind of behavior an agent needs and that annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the resource and a clear coverage enumeration, then closes with filtering and cost. The long source list is dense but each item earns its place by telling the agent which regulators are actually reachable, though it could be tightened into a shorter source grouping.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return structure need not be explained, and the description covers the remaining gaps an agent would care about: source scope, filter dimensions, jurisdiction reach, cost model, and the external account dependency. Nothing needed to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema itself already documents all nine parameters and their defaults, making 3 the baseline. The description adds only modest value: it hints at feed_urls/page_urls ('any RSS feed or official "What's new" list page you name') and notes results are sector-tagged, but it also names a filter ('authority') that does not exist as a parameter, which can mislead rather than clarify.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (official government updates) and enumerates exactly which sources are covered (Federal Register, SEC, GOV.UK, EC, Indian regulators, custom RSS/list pages). This makes it trivially distinguishable from siblings like search_google_news or search_reddit, which cover general news/social rather than regulator-published documents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes clear what the tool is for (regulatory/news harvesting across named jurisdictions) and the filtering dimensions available, which implicitly steers an agent away from generic news search tools. It stops short of explicit 'use X instead when Y' routing or stated exclusions, so it earns a 4 rather than a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_grantsSearch open public funding callsA
Read-onlyIdempotent

Open and forecast public funding calls in one schema: US Grants.gov (every federal agency), EU Funding & Tenders (Horizon Europe, Digital Europe, LIFE, EU4Health, Erasmus+, cascade calls) and UKRI. Title, funder, programme, grant size (min/max), total budget, expected awards, deadline, eligibility, contacts, link. Soonest deadline first. Runs the Apify Actor tacps126/grants-radar on your Apify account (about $0.003 per call; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
sectorsNoOnly calls about these sectors.
keywordsNoWords matched on title, programme and description, e.g. ["battery", "energy storage"].
countriesNoFunders: US (Grants.gov), EU (Funding & Tenders), GB (UKRI).
max_itemsNoMaximum results to return (default 30, max 500). Cost scales with this.
min_awardNoSmallest grant size wanted (maximum award, in the call currency).
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
include_forecastsNoInclude calls announced but not open yet.
min_days_to_deadlineNoLeave out calls closing sooner than this.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/openWorld, and the description adds genuinely non-obvious behavior: it runs a named Apify Actor on the user's account, costs ~$0.003 per call with a $0.5 per-call cap, and returns results sorted soonest-deadline-first. That cost and billing context is real added value not in the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences, front-loaded with the what and where, then the returned fields, then ordering and billing. The field enumeration (title, funder, programme, grant size...) is slightly redundant with the output schema but stays tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a multi-source aggregator with an output schema present, the description covers sources, geography mapping, sort order, forecast inclusion and cost model — everything an agent needs before calling. Return-value detail is correctly delegated to the output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every one of the 8 parameters is already documented, including the cost-scaling note on max_items. The description adds no parameter-specific syntax or semantics beyond restating that results carry grant size, deadline and eligibility fields, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Open and forecast public funding calls') and enumerates the exact sources (Grants.gov, EU Funding & Tenders, UKRI), so an agent immediately knows the scope. It doesn't explicitly distinguish itself from the sibling search_tenders, which is the closest potential overlap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the search-and-filter shape and the source enumeration, but there is no explicit 'use this instead of X' guidance against search_tenders or search_gov_updates. Deadlines and forecast inclusion are described, which helps framing, but selection criteria are left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_healthcare_providersSearch US healthcare providers (NPI Registry)A
Read-onlyIdempotent

US doctors, dentists, therapists, clinics and hospitals from the official NPI Registry: name, specialty (taxonomy), license, practice address, phone, fax, enumeration date and, for organizations, the authorized official. Search by specialty, state, city, ZIP, name or NPI; can keep only new practices (recently issued NPIs) or providers with a phone. Runs the Apify Actor tacps126/npi-providers on your Apify account (about $0.003 per provider; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
citiesNoPractice cities.
statesNoTwo-letter state codes, e.g. ["TX"].
last_nameNoIndividual last name.
max_itemsNoMaximum results to return (default 100, max 5000). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
npi_numbersNoLook up these NPIs.
specialtiesNoRegistry specialty names, e.g. ["Dentist", "Chiropractor"].
postal_codesNoFive-digit ZIP codes.
provider_typeNoIndividuals, organizations or both.any
with_phone_onlyNoOnly providers with a practice phone.
organization_nameNoOrganization name; * for a prefix, e.g. "smile*".
enumerated_within_daysNoOnly NPIs issued in the last N days (new practices).

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely useful behavior the annotations do not: it runs the Apify Actor tacps126/npi-providers on the caller's Apify account, costs about $0.003 per provider, is capped at $0.5 per call, and cost scales with max_items. It does not describe pagination or what happens when filters combine, so the disclosure is valuable but not complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with the resource and field list before moving to filters and then cost, and almost every clause carries information. The prose is dense and slightly run-on, packing fields, filters and pricing into one long sentence and a half, but there is little true filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return values, and it still covers the non-obvious operational facts an agent needs: account dependency, per-provider pricing and the per-call spend cap. For a 12-parameter, zero-required search tool with full schema coverage, nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is already documented in the schema, including examples for states, specialties, organization_name wildcards and the max_items cost note. The description reinforces the filter categories but adds no syntax or constraint detail beyond what the schema provides, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (US doctors, dentists, therapists, clinics and hospitals from the official NPI Registry), enumerates the returned fields, and is clearly distinct from nearby siblings such as search_clinical_trials and search_fda_device_clearances. An agent can identify the tool's domain without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete selection axes — search by specialty, state, city, ZIP, name or NPI, and optionally restrict to new practices or providers with a phone — which tells the agent when this is the right tool. It stops short of naming an alternative or an explicit when-not-to-use case against sibling search tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_import_recordsLook up US import records (importers, suppliers, bills of lading)A
Read-onlyIdempotent

US customs sea import records for a US importer or an overseas supplier: total and last-12-month shipments with the trend, its suppliers (or a supplier's US customers) with shipments, weight and HS codes, products, source countries, ports and carriers, recent bills of lading, and lookalike importers that buy from the same factories. Use for sourcing, supplier discovery, importer prospecting and supply-chain research. Runs the Apify Actor tacps126/us-import-records on your Apify account (about $0.004 per company profile, $0.001 per supplier or customer; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
companiesNoUS importers by name or importyeti.com link, e.g. ["Allbirds"].
max_itemsNoMaximum results to return (default 100, max 5000). Cost scales with this.
suppliersNoOverseas suppliers (factories) by name or link, to see their US customers.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
find_lookalikesNoAdd other US importers that use the same suppliers.
include_partnersNoAdd one row per supplier (or customer).
include_shipmentsNoAdd the most recent bills of lading.
shipped_within_daysNoOnly shipments in the last N days.
max_partners_per_companyNoMost suppliers or customers per company.
max_lookalikes_per_companyNoMost lookalike importers per company.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open-world), so the description correctly spends its words elsewhere: it discloses that it runs the Apify Actor tacps126/us-import-records on the caller's Apify account (an auth/credential dependency), quotes per-unit pricing, and states a hard $0.5 per-call spend cap. Cost and credential requirements are exactly the kind of behavioral context annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The scope statement is front-loaded and every clause carries information; nothing is filler. The middle sentence is a long comma-chained enumeration that reads as a run-on, which slightly hurts scanability, but no sentence could be deleted without loss.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With ten parameters, nested objects, and a published output schema, the definition covers intent, cost, and credentials well enough to call correctly, and it does not waste space restating return values the output schema defines. The one real omission is that no parameter is marked required, and the description never states that at least one of companies or suppliers must be supplied for a meaningful call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every one of the ten parameters including defaults, ranges, and the cost note on max_items. The description implies the two primary modes (importer lookup vs. supplier lookup) but adds no syntax, format, or interaction detail beyond that. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource pair ("US customs sea import records for a US importer or an overseas supplier") and then enumerates the payload: shipments and 12-month trend, suppliers/customers, weight, HS codes, products, countries, ports, carriers, bills of lading, and lookalikes. That is far more specific than any sibling tool name suggests, and it makes clear this is customs/bill-of-lading data rather than generic company firmographics or news.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names four concrete use cases (sourcing, supplier discovery, importer prospecting, supply-chain research), which gives an agent a clear sense of the situations this tool fits. It does not, however, contrast itself with plausible siblings such as find_companies or get_supplier_contracts, nor does it state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_indeed_jobsSearch Indeed jobsA
Read-onlyIdempotent

Search Indeed job listings by keyword and location in 9 countries (us, uk, ca, au, ie, de, fr, nl, sg): title, company, location, salary, job type, benefits, skills, apply link and (with details) the full job description. Runs the Apify Actor tacps126/indeed-jobs on your Apify account (about $0.003 per job; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
queryYesJob title, skill or company, e.g. "react developer".
countryNoIndeed country site.us
job_typeNoOnly this employment type.
locationNoCity, state, postcode or "Remote". Empty = whole country.
max_itemsNoMaximum results to return (default 30, max 500). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
include_detailsNoAdd each job's full description. Off = search-card summary only.
date_posted_daysNoOnly jobs posted in the last N days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, open-world, idempotent, and non-destructive behavior. The description adds meaningful operational context beyond annotations: it runs the named Apify Actor on the user's account, costs about $0.003 per job, and caps spend at $0.5 per call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core search action and scope, then adds cost details. It is dense but largely free of filler, though the enumerated return fields are somewhat lengthy given the presence of an output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an eight-parameter search tool with full schema coverage, rich annotations, and an output schema, the description supplies the key missing operational context: supported countries, return-field scope, detail behavior, and cost bounds. Nothing essential for correct invocation appears absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters, including enums and defaults. The description reinforces country coverage and the include_details behavior, but mostly repeats or lightly contextualizes what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search Indeed job listings') and scopes it by keyword, location, and nine country sites. The Indeed-specific framing distinguishes it from sibling job-search tools such as search_tech_jobs, search_naukri_jobs, and get_company_jobs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the intended use clear through its keyword/location and country-site scope, but it does not explicitly say when to choose this over sibling job-search tools or when not to use it. Usage is implied rather than guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_legislationSearch new laws, regulations and billsA
Read-onlyIdempotent

New legislation from official publishers in one schema: EU regulations, directives and decisions (EUR-Lex), UK Acts and statutory instruments of all four nations (legislation.gov.uk), US public laws and bill texts with their stage (GovInfo), Australian Acts and legislative instruments (Federal Register of Legislation), Canadian regulations (Canada Gazette Part II). Number, title, date, sectors, official text and PDF links. Newest first. Runs the Apify Actor tacps126/legislation-radar on your Apify account (about $0.003 per law; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
kindsNoKinds of legislation.
keywordsNoWhole words matched on titles, e.g. ["sanctions", "artificial intelligence"].
countriesNoJurisdictions (default: all).
max_itemsNoMaximum results to return (default 30, max 500). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
posted_within_daysNoOnly laws dated in the last N days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/openWorld/idempotent/non-destructive, and the description adds materially more: it runs the external Apify Actor tacps126/legislation-radar on the caller's own Apify account, costs roughly $0.003 per law, and enforces a hard $0.5 spend cap per call. It also discloses result ordering (newest first) and the default recency window — real operational facts an agent cannot get from the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three front-loaded sentences: scope by source first, returned fields second, cost/ordering constraints last. The jurisdiction enumeration is dense but each item disambiguates coverage, and there is no filler or repetition of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-parameter search tool with full schema coverage and an output schema, the description covers everything an agent needs to decide and call correctly: coverage, jurisdiction set, recency default, ordering, external Actor dependency, and spend ceiling. Return fields need not be enumerated given the output schema, yet a brief listing is included without bloat.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so kinds, keywords, countries, max_items, posted_within_days, and extra_input are all documented in the schema itself; the description adds only the ordering behavior and a per-law cost hint that reinforces max_items. The advanced extra_input escape hatch and the interaction between cost and max_items are never mentioned in the description, so it stays at the baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (search) and resource (new legislation) plus the exact source registries (EUR-Lex, legislation.gov.uk, GovInfo, Federal Register of Legislation, Canada Gazette Part II) and the DBpedia-style record fields returned. This clearly separates it from siblings like search_gov_updates, search_tenders, or get_india_district_notices, which cover adjacent but distinct content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description establishes clear usage context: only legislation published by official sources across exactly five jurisdictions, newest first, defaulting to the last 7 days. It stops short of naming an alternative sibling or stating when not to use it (e.g., vs. search_gov_updates for non-legislative government news), so the routing decision is left partly to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_naukri_jobsSearch Naukri.com jobs (India)A
Read-onlyIdempotent

Jobs from Naukri.com, India's largest job board, by keyword and city: title, company, AmbitionBox rating, experience range in years, skills, and (with details) the full description, salary in rupees, industry, department and qualifications. Runs the Apify Actor tacps126/naukri-jobs-scraper on your Apify account (about $0.0015 per job; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
queryYesJob title, skill or company, e.g. "python developer".
locationNoCity in India, e.g. "Bangalore", "Pune", "Delhi NCR". Empty = all of India.
max_itemsNoMaximum results to return (default 30, max 500). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
include_detailsNoOpen each job for the full description, salary, industry and qualifications. Off = faster, search-card fields only.
date_posted_daysNoOnly jobs posted in the last N days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, open-world and non-destructive traits, yet the description adds genuinely new operational context: it runs a specific Apify Actor on the caller's account, costs roughly $0.0015 per job, and enforces a $0.5 per-call spend cap. It also flags the include_details speed/fidelity tradeoff. Rate limits and failure behavior are not covered, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler: the first front-loads what is returned, the second front-loads cost and execution mechanism. Every clause carries information an agent cannot get from structured fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter tool with an output schema and full annotation coverage, the description supplies the missing pieces an agent needs: cost model, spend ceiling, account requirement, and the details-on/off latency tradeoff. It stops short of mapping itself against competing job-search siblings, which is the main remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so every parameter is already documented in the schema and the baseline of 3 applies. The description adds only a light gloss — '(with details)' for include_details and the list of fields that toggle with it — without clarifying formats for query, location, or date_posted_days beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource+scope: job listings from Naukri.com filtered by keyword and city, plus the exact fields returned. The Naukri/India framing implicitly separates it from the other job-board siblings (search_indeed_jobs, get_company_jobs, find_remote_jobs), but it never names or routes against them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is the tool for India-based job searches because the description says 'India's largest job board.' There is no explicit when-to-use vs when-to-use-a-sibling guidance and no stated exclusions (e.g. remote-only roles, company-specific lookups).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_podcastsSearch podcasts and charts (Apple Podcasts)A
Read-onlyIdempotent

Podcasts from Apple Podcasts search, top charts (any country and genre) or links, enriched from each show's RSS feed: owner name and contact email, website, language, categories, episode count, how often it posts and the last episode date; optionally the latest episodes with audio and transcript links. Use for guest booking, sponsorship outreach and podcast research. Runs the Apify Actor tacps126/podcasts on your Apify account (about $0.004 per podcast; $0.001 per episode; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
countryNoStore country for search and charts, e.g. us, gb, in.us
podcastsNoApple Podcasts links or ids, or RSS feed links.
languagesNoFeed language codes, e.g. ["en"].
max_itemsNoMaximum results to return (default 50, max 1000). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
chart_genresNoTop-chart genres (All = the overall chart).
search_termsNoWords to search, e.g. ["startup marketing"].
with_email_onlyNoOnly shows whose feed lists an owner email.
include_episodesNoAdd the latest episodes of each podcast.
active_within_daysNoOnly shows with an episode in the last N days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly/idempotent/non-destructive/openWorld, so the description correctly spends its words elsewhere: it discloses that the tool runs the Apify Actor tacps126/podcasts on the caller's own Apify account and gives a precise cost model ($0.004/podcast, $0.001/episode, $0.5 per-call cap). That is exactly the kind of billing and side-effect context an agent needs before spending money. Missing only failure behavior (e.g., invalid links, empty results).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A dense but well front-loaded two-sentence block: purpose and output fields first, then use cases and cost. Every clause carries information, though the enrichment-field list is long enough to be slightly sing-song; no filler sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 10 optional parameters, zero required fields, and a nested object, the description should state that at least one of search_terms, chart_genres, or podcasts must be supplied, and that mode inputs can be combined or not. It also leaves extra_input ("Advanced: extra Actor input fields") unexplained. The output schema covers return values and annotations cover safety, so the remaining gap is specifically invocation guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns an extra point by explaining the conceptual grouping behind the flat parameter list — search terms, top charts qualified by country and genre, or direct Apple/RSS links — and by linking "the latest episodes with audio and transcript links" to the include_episodes branch. It does not, however, mention the escape-hatch extra_input parameter or the interaction between inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ("Podcasts from Apple Podcasts search, top charts ... or links") and then enumerates exactly what comes back (owner name, contact email, website, language, categories, episode count, cadence, last episode date, optional episodes with audio/transcript links). No sibling tool covers podcasts, and the phrase "search, top charts ... or links" immediately conveys the three operating modes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use for guest booking, sponsorship outreach and podcast research" gives concrete use cases and implicitly frames the audience for the tool. It stops short of when-not-to-use or how to choose among the three modes (search terms vs charts vs direct links), leaving that inference to the agent, so it is a clear 4 rather than a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_recallsSearch product recalls and safety alertsA
Read-onlyIdempotent

Product recalls and safety alerts from regulators in one schema: US FDA enforcement reports (food, drugs, medical devices), US CPSC consumer products, Health Canada / CFIA / Transport Canada, UK Food Standards Agency and OPSS, and the EU Safety Gate. Product, brands, company, hazard, class, date, distribution, remedy and official link. Newest first. Runs the Apify Actor tacps126/recalls-radar on your Apify account (about $0.002 per recall; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
keywordsNoMatched on title, product, brand, company and hazard, e.g. ["peanut", "lithium battery", "Acme"].
countriesNoPublishers by country (default: all).
max_itemsNoMaximum results to return (default 30, max 500). Cost scales with this.
categoriesNoRecall categories (default: all).
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
posted_within_daysNoOnly recalls published in the last N days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety/idempotency, but the description adds real behavioral context the annotations cannot: the call runs the Apify Actor tacps126/recalls-radar on the user's own account, costs roughly $0.002 per recall with a $0.5 cap per call, and results are returned newest-first. Only latency/rate behavior and empty-result handling are left unstated, which keeps this short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and source coverage are front-loaded in the first sentence, with fields, ordering, and cost following in a tight sequence. It is somewhat dense — a long run-on list of publishers — but every clause carries information an agent would otherwise lack.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Since an output schema exists, return values need not be explained, and the description covers the remaining essentials: source coverage, ordering, cost and spend cap, and the platform the call runs on. What is missing is guidance on broadening/narrowing queries or what happens when nothing matches.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with keywords, countries, categories, max_items, posted_within_days and extra_input all documented in-schema, so the schema carries the parameter burden and a 3 is the baseline. The description adds no syntax, defaults, or interaction details beyond restating the field list; even the 'merged over the defaults' note for extra_input is already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (product recalls and safety alerts) and immediately enumerates the exact source regulators (FDA, CPSC, Health Canada/CFIA, UK FSA/OPSS, EU Safety Gate), which tells an agent precisely what corpus it queries. The enumerated result fields (product, brand, company, hazard, class, date, remedy, official link) further pin down scope, distinguishing it from nearby siblings like search_gov_updates and get_alerts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description supplies useful operating context — 'Newest first', the cost model, and the spend cap — but never states when to choose this over search_gov_updates or get_alerts, nor when it is not appropriate. Usage is implied by the source list rather than explicitly guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_redditSearch Reddit posts and commentsA
Read-onlyIdempotent

Reddit posts (and optionally comments) by keyword, subreddit or user: title, text, author, subreddit, score, links and dates. Good for brand and topic monitoring. Runs the Apify Actor tacps126/reddit-monitor on your Apify account (about $0.001 per post or comment; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
sortNoResult order.new
timeNoTime window for keyword searches.week
keywordsNoSearch all of Reddit; "exact phrase" works.
max_itemsNoMaximum results to return (default 50, max 500). Cost scales with this.
subredditsNoSubreddit names, e.g. ["webscraping"].
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
include_commentsNoAlso return comments of the matched posts (more results, higher cost).

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context: it runs the third-party Actor tacps126/reddit-monitor on the caller's Apify account, costs roughly $0.001 per item, and is capped at $0.5 per call. It does not cover auth prerequisites or failure behavior, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences that lead with scope and filters before moving to cost and execution model. The field list (title, text, author, subreddit, score, links, dates) is somewhat redundant given an output schema exists, but the overall density is high.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be explained, and the description correctly spends its words on cost, execution environment, and filter scope instead. The main gap is the absence of any note on authentication or what happens when the spend cap is hit mid-call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter (sort, time, keywords, subreddits, max_items, include_comments, extra_input) is already documented in the schema. The description restates the filter dimensions but adds no format or syntax detail beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (Reddit posts and optionally comments) with the filter dimensions (keyword, subreddit, user) and the fields returned. It is clearly distinguishable from siblings like search_google_news or get_trustpilot_reviews, which target entirely different sources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Good for brand and topic monitoring" implies a use case but gives no when-not guidance, no prerequisites, and does not route to any alternative sibling. The agent can infer intent but gets no decision boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_researchSearch papers, preprints and patentsA
Read-onlyIdempotent

Papers, preprints and patents from OpenAlex, arXiv, PubMed, Europe PMC and the European Patent Office (worldwide patents: EP, WO, US, CN, JP, KR...) in one deduplicated list, newest first or most influential first: title, abstract, authors and affiliations, venue, DOI, PDF link, citations, citations per year, field-normalized impact (top 1% / 10%), open-access status, and for patents the number, applicants, inventors, IPC classes and family id. Retracted papers are left out. Runs the Apify Actor tacps126/research-radar on your Apify account (about $0.003 per result; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
queriesYesTopics, keywords or phrases, e.g. "solid state battery".
sort_byNonewest first, most cited, or highest field-normalized impact (influential work).newest
sourcesNoWhich sources to search. Default: openalex, arxiv, pubmed, europepmc, patents.
max_itemsNoMaximum results to return (default 30, max 500). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
open_access_onlyNoOnly papers that are free to read.
posted_within_daysNoOnly results published in the last N days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/openWorld/idempotent annotations by disclosing that it runs a named third-party Apify Actor on the caller's account, the per-result cost (~$0.003) and a hard $0.5 per-call spend cap. It also documents deduplication across sources and silent exclusion of retracted papers — exactly the non-obvious behaviors an agent would otherwise have to discover empirically.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded and the cost/retraction caveats earn their place, but a large middle span enumerates return fields (title, abstract, affiliations, DOI, citations per year, IPC classes, family id) that the output schema already defines. That list inflates a single run-on sentence without adding decision value, hurting scannability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Cost model, spend cap, deduplication, retraction filtering and actor provenance cover the risky parts of an open-world, paid call, and the output schema plus full param coverage handles the rest. The only real omission is guidance on how query phrasing interacts with results or what happens on zero hits, which is minor here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all seven parameters are already documented, and the description largely restates them (source list, sort orders, cost scaling with volume). It adds only a marginal gloss — 'influential work' for the impact sort and worldwide patent coverage for the patents source — so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource with exhaustive scope: papers, preprints and patents from five named providers plus the EPO, deduplicated, with an explicit ordering rule. No sibling tool covers scholarly literature or patents, so the agent can route to it unambiguously from the name and first clause alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the description of content and sorting: nothing states when to prefer this over a general news search or when a query is out of scope (e.g. non-literature questions). The 'newest first or most influential first' phrasing hints at the sort_by choice but never frames it as a decision rule. Absent alternatives among siblings for academic sources, this is adequate but not directive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_startup_fundingSearch new startup funding rounds (SEC Form D)A
Read-onlyIdempotent

New private fundraises from SEC Form D filings: company, address, phone, industry, amount raised and offered, number of investors, securities, first sale date and the founders, executives and directors named in each filing. Filter by state, industry, amount and company age; pooled investment funds and amendments left out by default. Use for sales prospecting, investor research and deal flow. Runs the Apify Actor tacps126/startup-funding on your Apify account (about $0.005 per filing; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
queryNoWords in the filing, e.g. a company name.
statesNoCompany's state, e.g. ["CA", "NY"].
max_itemsNoMaximum results to return (default 50, max 1000). Cost scales with this.
industriesNoForm D industry groups.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
min_amount_raisedNoOnly raises that sold at least this many dollars.
posted_within_daysNoFilings in the last N days (about 300-500 per weekday).
incorporated_within_five_yearsNoOnly young companies.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond annotations: default filtering of pooled funds/amendments, execution on the Apify Actor tacps126/startup-funding on the user's account, per-filing cost (~$0.005) and a $0.5 per-call spend cap. The cost/rate disclosure is exactly the kind of trait annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the resource definition, then filters, then use cases, then cost/execution notes. The long field enumeration is somewhat redundant given an output schema exists, but the rest is tight and each clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with nested objects and an output schema, the description covers origin, defaults, cost and use cases well. Minor gaps remain around what extra_input can override and typical result volume beyond the parenthetical estimate, but nothing that would cause a mis-call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so every parameter is already documented. The description adds a summary ('filter by state, industry, amount and company age') but leaves query, max_items, posted_within_days and extra_input untouched, so it does not meaningfully enrich semantics beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('New private fundraises from SEC Form D filings') and enumerates the fields returned, so an agent can distinguish it from siblings like find_companies or search_grants. The scope (new Form D filings only) is explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear use contexts ('sales prospecting, investor research and deal flow') and states default exclusions (pooled investment funds and amendments left out), which shapes when the tool is appropriate. It stops short of naming alternatives or when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_startup_jobsSearch startup jobs on Wellfound (AngelList Talent)A
Read-onlyIdempotent

Startup jobs from Wellfound by role and city, or remote: title, startup name, size and pitch, salary and equity range, years of experience, remote or on-site, apply link. Runs the Apify Actor tacps126/wellfound-jobs-scraper on your Apify account (about $0.002 per job; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
cityNoOptional city, e.g. "San Francisco", "New York", "London".
roleYesThe role, e.g. "software engineer", "product manager", "designer".
remoteNoOnly remote jobs (ignores city).
max_itemsNoMaximum results to return (default 50, max 500). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.1/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, open-world, idempotent, and non-destructive behavior. The description adds important context beyond annotations: it runs a named Apify Actor on the user's account, costs about $0.002 per job, and caps spend at $0.5 per call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded in the first clause and the cost disclosure is compact. The long list of returned fields is somewhat redundant because an output schema exists, but the description remains information-dense rather than bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a cost-incurring open-world scraper, the description covers source, cost/cap, and output fields, while the output schema handles return structure. It still omits explicit guidance on choosing this tool over the many sibling job-search tools and says little about extra_input.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents role, city, remote, max_items, and extra_input. The description reinforces role/city/remote semantics but adds no extra constraints or format details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb, resource, and source: startup jobs from Wellfound by role and city or remote. The Wellfound/startup framing distinguishes it from generic job-search siblings, and the listed result fields make the scope concrete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through "by role and city, or remote," but it does not name alternatives such as search_indeed_jobs, search_tech_jobs, or find_remote_jobs. It also gives no explicit when-not-to-use guidance, so sibling routing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_tech_jobsSearch US tech jobs on DiceA
Read-onlyIdempotent

US tech jobs from Dice by keyword and city: title, company, location, salary text, employer type (direct hire or recruiter), Easy Apply, remote / on-site / hybrid, posted and updated dates. Runs the Apify Actor tacps126/dice-jobs-scraper on your Apify account (about $0.00055 per job; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
queryYesWhat to search for, e.g. "data engineer", "java developer".
remoteNoOnly remote jobs.
locationNoOptional US city or state, e.g. "Austin, TX".
max_itemsNoMaximum results to return (default 50, max 300). Cost scales with this.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly/idempotent/non-destructive/openWorld, and the description adds genuinely non-inferable operational facts: it runs the tacps126/dice-jobs-scraper Actor on the caller's own Apify account, costs ~$0.00055 per job, and hard-caps spend at $0.5 per call. The account dependency and the cost ceiling are exactly the behavioral details an agent must know before invoking a paid, open-world scrape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two front-loaded sentences: resource scope first, operational/cost facts second, with no filler. The long enumeration of returned fields (salary text, employer type, Easy Apply, remote/on-site/hybrid, posted/updated dates) is partially redundant given the tool has an output schema, which is the only wasted weight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With rich annotations, full schema coverage, and an output schema, the description only needs to add source, cost, and account context — all present. Minor gaps remain: no guidance on extra_input (the one advanced parameter) and no note on whether results are deduplicated or how paging behaves at the 300-item ceiling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents query, remote, location, max_items (including the cost-scaling note) and extra_input. The description reinforces 'keyword and city' for query/location and hints at result fields, but adds no syntax, format, or edge-case detail beyond what the schema states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise resource and scope: 'US tech jobs from Dice by keyword and city', which pins both the source (Dice vs. Indeed/Naukri) and geography (US vs. Naukri's India) without the agent needing to open the schema. It does not explicitly name which sibling to prefer, so the differentiation is implicit rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'by keyword and city' implies the intended search shape, and 'from Dice' implicitly routes against search_indeed_jobs / search_naukri_jobs / find_remote_jobs. But there is no explicit when-to-use statement, no exclusion ('not for non-US roles'), and no mention of when the sibling job tools are the better choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_tendersSearch public tenders and contract awardsA
Read-onlyIdempotent

Public procurement notices from official portals in one schema: US SAM.gov (federal), EU TED (every EU/EEA country), UK Find a Tender and Contracts Finder, France BOAMP, Spain PLACSP, Germany, Netherlands TenderNed, Canada CanadaBuys, Colombia SECOP II, Brazil PNCP, India GeM, Ukraine Prozorro, EU institutions (Funding & Tenders portal), US contract awards (USAspending), Australia AusTender (awards) and South Africa eTenders. Title, buyer, deadline, value and currency, CPV/UNSPSC/NAICS codes, sectors, buyer contacts, suppliers for awards, notice link. Open tenders by default. Runs the Apify Actor tacps126/tenders-radar on your Apify account (about $0.004 per notice; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
codesNoCPV, UNSPSC, NAICS or PSC code prefixes, e.g. ["72"] for IT services (CPV) or ["5415"] (US NAICS).
statesNoStates or regions by name or ISO 3166-2 code, e.g. ["Texas", "IN-MH"]; where the work is or the buyer sits.
sectorsNoSectors from CPV/UNSPSC/NAICS/PSC codes and multilingual terms (housing = construction and real estate).
keywordsNoWords matched literally on title and description; add translations for non-English portals, e.g. ["software", "logiciel"].
countriesNoISO codes, e.g. ["US", "GB", "FR", "CA"], or "EU" for every EU/EEA country.
max_itemsNoMaximum results to return (default 30, max 500). Cost scales with this.
min_valueNoMinimum estimated value in the notice currency.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
notice_typesNotender = open opportunities; award = who won and for how much.
posted_within_daysNoOnly notices from the last N days.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses the underlying Apify Actor, per-notice cost, and a per-call spend cap of $0.5. It also states the default notice type and enumerates covered portals and fields, which are critical operational details for an open-world search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but front-loads the core purpose, coverage, and returned data before cost details. The long portal list is somewhat expansive, but it earns its place by clarifying geographic and source coverage for a broad procurement search.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complex multi-source nature of the tool, the description supplies the key missing context: portal coverage, returned fields, default notice type, cost model, and spend cap. With annotations and a full output schema present, no essential invocation context is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is already well documented in the input schema. The description reinforces the default of open tenders and mentions returned fields, but it does not add substantial parameter-level meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific resource (public procurement notices/tenders and awards), lists the exact official portals covered, and states the returned fields and default behavior. An agent can immediately distinguish this from generic grant, news, or supplier-contract siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly frames the use case as official public procurement notices and explicitly notes that open tenders are returned by default, with awards available via notice_types. It does not explicitly compare against sibling tools such as search_grants or get_supplier_contracts, but the domain context is strong enough to select it confidently.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_vulnerabilitiesSearch CVE vulnerabilities (NVD, CISA KEV, EPSS)A
Read-onlyIdempotent

New and updated vulnerabilities from the NVD with CVSS score and severity, CWE, affected vendors and products, references, CISA known-exploited status (date added, due date, ransomware use) and the EPSS exploit likelihood. Filter by vendor, product, keyword, severity, CVSS or EPSS, or look up CVE ids. Use for patch triage and security alerts. Runs the Apify Actor tacps126/cve-feed on your Apify account (about $0.003 per CVE; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
sourceNonvd: CVEs published or modified in the window; kev: CVEs CISA added to its known-exploited catalog.nvd
cve_idsNoLook up these CVEs instead, e.g. ["CVE-2024-3400"].
vendorsNoAffected vendors, e.g. ["microsoft", "cisco"].
keywordsNoWords in the description, e.g. "remote code execution".
min_cvssNoMinimum CVSS base score.
min_epssNoMinimum probability of exploitation in the next 30 days (0-1).
productsNoAffected products, e.g. ["exchange server"].
max_itemsNoMaximum results to return (default 100, max 2000). Cost scales with this.
severitiesNoEmpty = all.
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.
within_daysNoLook-back window in days (about 600-900 CVEs a day on NVD).
known_exploited_onlyNoOnly CVEs in the CISA known-exploited catalog.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld), and the description adds information the annotations cannot: the tool runs the Apify Actor tacps126/cve-feed on the caller's own Apify account, costs roughly $0.003 per CVE, and enforces a $0.5 spend cap per call. Those cost/account details are exactly the behavioral context an agent needs before choosing a result limit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences ordered sensibly: what it returns, how to filter, when to use it, then cost/execution model. No filler, though the returned-field enumeration and the filter list overlap slightly and could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and all 12 parameters documented, the description only needs to cover purpose, usage and cost — all of which it does. Minor gaps remain: nothing about result ordering or how the default two-day window behaves, though the schema hints at daily volume.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is already documented with examples, ranges and defaults, and the description largely restates the filter axes (vendor, product, keyword, severity, CVSS, EPSS, CVE ids). It adds no syntax or format detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource ('New and updated vulnerabilities from the NVD') and enumerates the payload dimensions returned: CVSS/severity, CWE, vendors/products, references, CISA KEV status and EPSS. The title and first sentence together make clear this is a CVE search/retrieval tool, and no sibling tool in the list covers vulnerability data, so there is no ambiguity to resolve.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States a concrete use case ('Use for patch triage and security alerts') and enumerates the filter axes, including the CVE-id lookup path. It stops short of explicit when-not-to-use guidance or naming alternatives (e.g. when to prefer the kev source vs nvd), but with no competing sibling the routing risk is low.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_ideaCheck how new or crowded an idea isA
Read-onlyIdempotent

How much research already covers a product or research idea: matching works, works in the last two years, crowdedness (open, early, active, crowded), growth, who is working on it (researchers, institutions, companies), the closest prior work, related patents, the patent trend and possibly free-to-use patents. For a written assessment, use the idea-validation prompt. Runs the Apify Actor tacps126/innovation-radar on your Apify account (about $0.03 per idea; spend per call is capped at $0.5).

NameRequiredDescriptionDefault
ideasYesIdeas in plain words, e.g. "a window that generates solar power with perovskite tandem cells".
extra_inputNoAdvanced: extra Actor input fields, merged over the defaults.

Output Schema

NameRequiredDescription
toolYesName of the tool that produced the result.
countYesNumber of records the Actor returned.
itemsYesThe records. Long text fields are shortened to 600 characters.
shownYesNumber of records included in `items` (can be lower than count when the result is long).
truncatedYesTrue when records were left out to keep the result short; ask for fewer items.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only, idempotent, open-world, non-destructive. The description adds genuinely new behavioral facts: it runs a specific Apify Actor on the caller's own account and incurs per-idea cost with a $0.5 per-call cap. It stops short of disclosing expected runtime or what happens on partial Actor failure, which is the remaining relevant gap for an external paid run.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The metric list is front-loaded and every element corresponds to an actual return field, but the first sentence is a sprawling run-on of twelve comma-separated items. Cost and Actor details sit sensibly at the end, so structure is sound even if the opening could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the enumerated return topics are belt-and-braces rather than required, but cost, account dependency, and the prompt alternative are the missing pieces an agent would otherwise have to guess. Coverage is strong for a two-parameter read tool; only latency and error behavior are left implicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the 'ideas' array is documented with its own plain-language example, so the description's restatement of ideas adds little. The 'extra_input' advanced passthrough parameter is never mentioned, so the description does not compensate where the schema is thin on merging semantics beyond 'merged over the defaults'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific measurement task (how much research covers an idea) and enumerates the concrete outputs: matching works, two-year window, crowdedness states, growth, who is working on it, prior work, patents. This is far more specific than the vague title and clearly separates it from generic search siblings like search_research or search_startup_funding.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names one explicit alternative route — 'For a written assessment, use the idea-validation prompt' — and gives cost context ($0.03/idea, $0.5 cap) that informs whether to call it for many ideas at once. It does not, however, say when to prefer a sibling like search_research over this tool, so the discrimination guidance is only partial.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.16.0
    • Addedfind_local_businesses
    • Addedsearch_clinical_trials
    • Addedsearch_fda_device_clearances
    • Addedsearch_healthcare_providers
    • Addedsearch_import_records
    • Addedsearch_vulnerabilities
  2. 13 tool updatesv0.14.0
    • Addedfind_companies
    • Addedfind_property_auctions
    • Addedget_india_district_notices
    • Addedget_lottery_results
    • Addedget_prediction_markets
    • Addedget_sports_data
    • Addedget_supplier_contracts
    • Addedget_youtube_transcripts
    • Addedscreen_sanctions
    • Addedsearch_legislation
    • Addedsearch_podcasts
    • Addedsearch_recalls
    • Addedsearch_startup_funding
  3. 4 tool updatesv0.12.0
    • Addedget_alerts
    • Addedsearch_gov_updates
    • Addedsearch_grants
    • Addedsearch_tenders
  4. 14 tool updatesv0.10.1
    • Addedanalyze_field
    • Addedanalyze_shopify_stores
    • Changedfind_events2 fields changed
      • changedInput schema / properties / sources / description
        Previous value: -"Sites searched for `searches` (default both). Meetup works through links."New value: +"Sites searched for `searches` (default all three). Meetup knows about 70 big cities by name; others as \"City, CC\" (e.g. \"Lyon, FR\")."
      • changedInput schema / properties / sources / items / enum
        Previous value: -[
        -  "luma",
        -  "eventbrite"
        -]New value: +[
        +  "luma",
        +  "eventbrite",
        +  "meetup"
        +]
    • Addedfind_reddit_leads
    • Addedfind_remote_jobs
    • Changedget_company_jobs6 fields changed
      • changedInput schema / properties / career_page_urls / description
        Previous value: -"Career page URLs, e.g. \"https://jobs.lever.co/spotify\"."New value: +"Career page URLs, e.g. \"https://www.figma.com/careers\" or \"https://jobs.lever.co/spotify\"."
      • removedInput schema / properties / career_page_urls / items / minLength
        Removed value: -1
      • removedInput schema / properties / career_page_urls / minItems
        Removed value: -1
      • addedInput schema / properties / company_names
        Added value: +{
        +  "description": "Company names, e.g. [\"Datadog\", \"Ramp\"]; each is looked up on every supported job-board system.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedInput schema / properties / countries
        Added value: +{
        +  "description": "Keep jobs in these countries: ISO codes (\"US\", \"DE\") or names.",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedInput schema / required
        Removed value: -[
        -  "career_page_urls"
        -]
    • Changedget_trade_show_exhibitors1 field changed
      • addedInput schema / properties / changes_only
        Added value: +{
        +  "default": false,
        +  "description": "Only exhibitors that are new, changed (old and new booth, email, phone, website, address) or removed since the last call with the same shows. Removed ones need the whole list, so it ignores max_items for that.",
        +  "type": "boolean"
        +}
    • Changedsearch_german_property_listings1 field changed
      • addedInput schema / properties / changes_only
        Added value: +{
        +  "default": false,
        +  "description": "Only listings that are new, changed (old and new price, rent, size, rooms) or removed since the last call with the same search. For price tracking on a schedule.",
        +  "type": "boolean"
        +}
    • Changedsearch_indeed_jobs1 field changed
      • addedInput schema / properties / include_details
        Added value: +{
        +  "default": true,
        +  "description": "Add each job's full description. Off = search-card summary only.",
        +  "type": "boolean"
        +}
    • Addedsearch_naukri_jobs
    • Addedsearch_research
    • Addedsearch_startup_jobs
    • Addedsearch_tech_jobs
    • Addedvalidate_idea
  5. 1 tool updatev0.5.0
    • Addedfind_events
  6. 2 tool updatesv0.4.0
    • Addedget_trade_show_exhibitors
    • Changedsearch_german_property_listings2 fields changed
      • addedInput schema / properties / country
        Added value: +{
        +  "default": "de",
        +  "description": "de = Germany (immobilienscout24.de), at = Austria (immobilienscout24.at).",
        +  "enum": [
        +    "de",
        +    "at"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / locations / description
        Previous value: -"Cities, districts or regions in plain words, e.g. [\"Berlin\",\"München Schwabing\"]."New value: +"Cities, districts or regions in plain words, e.g. [\"Berlin\",\"München Schwabing\"]; in Austria a city or federal state, e.g. [\"Wien\",\"Tirol\"]."
  7. 10 tool updatesv0.1.1
    • Changedfind_hiring_companies1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "count": {
        +      "description": "Number of records the Actor returned.",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "items": {
        +      "description": "The records. Long text fields are shortened to 600 characters.",
        +      "items": {
        +        "additionalProperties": {},
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "shown": {
        +      "description": "Number of records included in `items` (can be lower than count when the result is long).",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "tool": {
        +      "description": "Name of the tool that produced the result.",
        +      "type": "string"
        +    },
        +    "truncated": {
        +      "description": "True when records were left out to keep the result short; ask for fewer items.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "tool",
        +    "count",
        +    "shown",
        +    "truncated",
        +    "items"
        +  ],
        +  "type": "object"
        +}
    • Changedfind_website_contacts2 fields changed
      • addedInput schema / properties / max_pages_per_site / description
        Added value: +"Pages read per website; contact, imprint and about pages are picked first."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "count": {
        +      "description": "Number of records the Actor returned.",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "items": {
        +      "description": "The records. Long text fields are shortened to 600 characters.",
        +      "items": {
        +        "additionalProperties": {},
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "shown": {
        +      "description": "Number of records included in `items` (can be lower than count when the result is long).",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "tool": {
        +      "description": "Name of the tool that produced the result.",
        +      "type": "string"
        +    },
        +    "truncated": {
        +      "description": "True when records were left out to keep the result short; ask for fewer items.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "tool",
        +    "count",
        +    "shown",
        +    "truncated",
        +    "items"
        +  ],
        +  "type": "object"
        +}
    • Changedget_app_reviews1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "count": {
        +      "description": "Number of records the Actor returned.",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "items": {
        +      "description": "The records. Long text fields are shortened to 600 characters.",
        +      "items": {
        +        "additionalProperties": {},
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "shown": {
        +      "description": "Number of records included in `items` (can be lower than count when the result is long).",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "tool": {
        +      "description": "Name of the tool that produced the result.",
        +      "type": "string"
        +    },
        +    "truncated": {
        +      "description": "True when records were left out to keep the result short; ask for fewer items.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "tool",
        +    "count",
        +    "shown",
        +    "truncated",
        +    "items"
        +  ],
        +  "type": "object"
        +}
    • Changedget_company_jobs1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "count": {
        +      "description": "Number of records the Actor returned.",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "items": {
        +      "description": "The records. Long text fields are shortened to 600 characters.",
        +      "items": {
        +        "additionalProperties": {},
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "shown": {
        +      "description": "Number of records included in `items` (can be lower than count when the result is long).",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "tool": {
        +      "description": "Name of the tool that produced the result.",
        +      "type": "string"
        +    },
        +    "truncated": {
        +      "description": "True when records were left out to keep the result short; ask for fewer items.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "tool",
        +    "count",
        +    "shown",
        +    "truncated",
        +    "items"
        +  ],
        +  "type": "object"
        +}
    • Changedget_shopify_products3 fields changed
      • addedInput schema / properties / only_available / description
        Added value: +"Only products that are in stock."
      • addedInput schema / properties / only_on_sale / description
        Added value: +"Only products with a sale price."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "count": {
        +      "description": "Number of records the Actor returned.",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "items": {
        +      "description": "The records. Long text fields are shortened to 600 characters.",
        +      "items": {
        +        "additionalProperties": {},
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "shown": {
        +      "description": "Number of records included in `items` (can be lower than count when the result is long).",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "tool": {
        +      "description": "Name of the tool that produced the result.",
        +      "type": "string"
        +    },
        +    "truncated": {
        +      "description": "True when records were left out to keep the result short; ask for fewer items.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "tool",
        +    "count",
        +    "shown",
        +    "truncated",
        +    "items"
        +  ],
        +  "type": "object"
        +}
    • Changedget_trustpilot_reviews3 fields changed
      • addedInput schema / properties / date_period / description
        Added value: +"Only reviews from this period."
      • addedInput schema / properties / sort / description
        Added value: +"Newest reviews first (recency) or most relevant first."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "count": {
        +      "description": "Number of records the Actor returned.",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "items": {
        +      "description": "The records. Long text fields are shortened to 600 characters.",
        +      "items": {
        +        "additionalProperties": {},
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "shown": {
        +      "description": "Number of records included in `items` (can be lower than count when the result is long).",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "tool": {
        +      "description": "Name of the tool that produced the result.",
        +      "type": "string"
        +    },
        +    "truncated": {
        +      "description": "True when records were left out to keep the result short; ask for fewer items.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "tool",
        +    "count",
        +    "shown",
        +    "truncated",
        +    "items"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_german_property_listings6 fields changed
      • addedInput schema / properties / max_price / description
        Added value: +"Maximum price in EUR (monthly rent or purchase price)."
      • addedInput schema / properties / min_price / description
        Added value: +"Minimum price in EUR (monthly rent or purchase price)."
      • addedInput schema / properties / min_rooms / description
        Added value: +"Minimum number of rooms."
      • addedInput schema / properties / offer_type / description
        Added value: +"Rent or buy listings."
      • addedInput schema / properties / property_type / description
        Added value: +"Apartments or houses."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "count": {
        +      "description": "Number of records the Actor returned.",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "items": {
        +      "description": "The records. Long text fields are shortened to 600 characters.",
        +      "items": {
        +        "additionalProperties": {},
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "shown": {
        +      "description": "Number of records included in `items` (can be lower than count when the result is long).",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "tool": {
        +      "description": "Name of the tool that produced the result.",
        +      "type": "string"
        +    },
        +    "truncated": {
        +      "description": "True when records were left out to keep the result short; ask for fewer items.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "tool",
        +    "count",
        +    "shown",
        +    "truncated",
        +    "items"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_google_news1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "count": {
        +      "description": "Number of records the Actor returned.",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "items": {
        +      "description": "The records. Long text fields are shortened to 600 characters.",
        +      "items": {
        +        "additionalProperties": {},
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "shown": {
        +      "description": "Number of records included in `items` (can be lower than count when the result is long).",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "tool": {
        +      "description": "Name of the tool that produced the result.",
        +      "type": "string"
        +    },
        +    "truncated": {
        +      "description": "True when records were left out to keep the result short; ask for fewer items.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "tool",
        +    "count",
        +    "shown",
        +    "truncated",
        +    "items"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_indeed_jobs2 fields changed
      • addedInput schema / properties / job_type / description
        Added value: +"Only this employment type."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "count": {
        +      "description": "Number of records the Actor returned.",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "items": {
        +      "description": "The records. Long text fields are shortened to 600 characters.",
        +      "items": {
        +        "additionalProperties": {},
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "shown": {
        +      "description": "Number of records included in `items` (can be lower than count when the result is long).",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "tool": {
        +      "description": "Name of the tool that produced the result.",
        +      "type": "string"
        +    },
        +    "truncated": {
        +      "description": "True when records were left out to keep the result short; ask for fewer items.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "tool",
        +    "count",
        +    "shown",
        +    "truncated",
        +    "items"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch_reddit4 fields changed
      • addedInput schema / properties / include_comments / description
        Added value: +"Also return comments of the matched posts (more results, higher cost)."
      • addedInput schema / properties / sort / description
        Added value: +"Result order."
      • addedInput schema / properties / time / description
        Added value: +"Time window for keyword searches."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "$schema": "http://json-schema.org/draft-07/schema#",
        +  "additionalProperties": false,
        +  "properties": {
        +    "count": {
        +      "description": "Number of records the Actor returned.",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "items": {
        +      "description": "The records. Long text fields are shortened to 600 characters.",
        +      "items": {
        +        "additionalProperties": {},
        +        "propertyNames": {
        +          "type": "string"
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "shown": {
        +      "description": "Number of records included in `items` (can be lower than count when the result is long).",
        +      "maximum": 9007199254740991,
        +      "minimum": -9007199254740991,
        +      "type": "integer"
        +    },
        +    "tool": {
        +      "description": "Name of the tool that produced the result.",
        +      "type": "string"
        +    },
        +    "truncated": {
        +      "description": "True when records were left out to keep the result short; ask for fewer items.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "tool",
        +    "count",
        +    "shown",
        +    "truncated",
        +    "items"
        +  ],
        +  "type": "object"
        +}
  8. 10 tool updatesv0.1.0
    • First observedfind_hiring_companies
    • First observedfind_website_contacts
    • First observedget_app_reviews
    • First observedget_company_jobs
    • First observedget_shopify_products
    • First observedget_trustpilot_reviews
    • First observedsearch_german_property_listings
    • First observedsearch_google_news
    • First observedsearch_indeed_jobs
    • First observedsearch_reddit

TDQS

A3.6/5.0

Scored across 44 tools

Disambiguation2/5

Seven job-related tools (find_hiring_companies, get_company_jobs, find_remote_jobs, search_startup_jobs, search_tech_jobs, search_indeed_jobs, search_naukri_jobs) overlap heavily, and contact-finding is scattered across find_local_businesses, find_website_contacts, analyze_shopify_stores, get_trade_show_exhibitors and search_podcasts. Research (analyze_field, validate_idea, search_research) and company data (find_companies, search_import_records, search_startup_funding) also blur together. Descriptions help, but an agent must read the full text to pick correctly.

Naming Consistency4/5

All 44 names use snake_case with a verb_noun structure, which is predictable and readable. The only weakness is inconsistent verb choice for similar retrieval operations (find_ vs search_ vs get_ used interchangeably across job, company and contact tools).

Tool Count2/5

44 tools is far too many for a single server and reflects a grab-bag of unrelated domains (jobs, property, biotech, sports, lottery, sanctions). Each tool is a thin wrapper over one Apify actor rather than part of a coherent, scoped surface.

Completeness3/5

Coverage is broad across many verticals, but each domain gets only one or two read-only scrapers with no lifecycle operations, and there is no tool for run management, spend/budget inspection, actor listing or a generic fallback runner. Agents can work around gaps but may hit dead ends when a needed source is absent.

Maintenance

ActivityNo data
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI agents with real-time web capabilities including live search results, markdown web scraping, business lead generation, and detailed company information. It enables agents to bypass knowledge cutoffs by accessing current web data through a monetized Apify Actor.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables agents to access 30 pay-per-event Apify actors for ad, video, reel, and audio transcripts; Google Trends and keyword demand; job boards; Amazon product data; and Instagram data, charging only per delivered item.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to access fourteen web-data tools for scraping, SEO and site auditing, extraction, validation, enrichment, and screenshots through Apify actors. It runs those tools on the user's own Apify account via an API token.
    MIT