An AI agent that can discover and run Apify Actors still needs a rule for deciding whether it should run one. Discovery is not selection. A popular Actor can be the wrong tool for a specific output contract, and a successful public run history does not prove that the next run will return the fields a user asked for.
I tested a no-credit selection gate on 12 August 2026 using public Apify metadata only. The test covered three common jobs: Google Maps lead collection, LinkedIn profile discovery, and documentation crawling for a RAG index. No Store Actor was executed, and no paid run was started.
The result was useful because it was not a clean "yes." The metadata gate selected one Actor directly and told the agent to clarify two tasks before spending credits.
Key takeaways
- A metadata gate can prevent obvious bad Actor runs before credits are spent.
- The best pre-run decision is sometimes
clarify, notselect.- Popularity and public success rate are useful trust signals, but they do not prove task-specific output fit.
- Pricing events and add-on fields should be treated as selection criteria, especially when a task asks for emails or enrichment.
- A small bounded run is still required before trusting output quality.
Why Actor selection can waste credits
Credits are wasted when an agent runs an Actor that is popular but mismatched to the user's actual source, input constraints, output fields, or pricing assumptions.
That can happen in several quiet ways. A Google Maps Actor may collect place records but require a paid contact or lead-enrichment event for email fields. A LinkedIn profile Actor may extract known profile URLs, while the user actually needs search by role and location. A website crawler may produce clean Markdown for RAG, but not structured product records from a pricing page.
Apify's own docs make the selection problem important for agent workflows. The Apify MCP server lets AI agents discover and run Actors, then access storages and results. The Store API can search public Actors by title, name, description, username, and README. The Actor detail endpoint can retrieve a specific Actor's metadata.
That is enough information to build a pre-run gate. It is not enough information to guarantee final data quality.
What metadata should an agent inspect first?
The minimum no-run inspection set is: Store search result, Actor detail, description, README, input schema, output schema, pricing model, pricing events, public run stats, rating, review count, publisher, and modification date.
The schema checks matter because task fit lives in details. Apify's input schema specification defines the accepted input object and UI-facing fields. Its output schema documentation explains how an Actor describes where results are stored and displayed. If an agent cannot map the user's requested fields to those metadata surfaces, it should not pretend the Actor is a safe fit.
For this test, I used three task prompts:
| Task | User asks for | Pre-run risk |
|---|---|---|
| Google Maps leads | Casablanca businesses with website, email, phone, rating, and review count | Email/contact data can change pricing and completeness |
| LinkedIn profile discovery | Profiles by role/location, plus email when available | Search and profile extraction are different jobs |
| Documentation crawling | Clean Markdown content with title, URL, headings, and text | A crawler can fit well if the output is content, not structured business data |
The agent's allowed actions were select, clarify, or reject. That matters. A selection system that only allows "pick one" will choose too aggressively.
The 100-point no-credit rubric
Task-source fit and output contract fit should outweigh popularity because the agent's job is to solve the user's task, not pick the most-used listing.
The rubric used a pass threshold of 80 out of 100, with one extra rule: a score above 80 is not enough when pricing or output fields contain a critical unknown. In that case, the correct action is clarify.
| Category | Points | What the agent checks |
|---|---|---|
| Task-source fit | 20 | Does the Actor target the requested website, platform, or data source? |
| Output contract fit | 20 | Are the requested fields documented in the description, README, schema, or sample? |
| Input compatibility | 15 | Can the user request be expressed through known input fields and limits? |
| Pricing predictability | 15 | Can the agent identify start, result, add-on, or event charges before run time? |
| Reliability signal | 10 | Are public run stats, reviews, rating, and usage reasonable? |
| Ambiguity handling | 10 | Does the agent ask a clarification question instead of forcing a risky run? |
| Trust and maintenance | 10 | Is the Actor maintained, clearly described, and published by a credible owner? |
This rubric is intentionally conservative. It does not try to maximize automation. It tries to avoid bad first runs.
What the metadata sample showed
The initial sample showed that public metadata can separate similar-looking Actors before execution, especially when pricing events and task scope differ.
The saved API sample from 12 August 2026 included five named Actors:
| Query | Actor | 30-day users | Public runs in 30 days | Success rate | Rating |
|---|---|---|---|---|---|
google maps | compass/crawler-google-places | 35,902 | 3,652,988 | 90.28% | 4.71 |
google maps | compass/google-maps-extractor | 3,882 | 510,659 | 98.81% | 4.88 |
linkedin profile | harvestapi/linkedin-profile-search | 5,542 | 513,314 | 98.77% | 4.80 |
linkedin profile | harvestapi/linkedin-profile-scraper | 10,687 | 4,797,278 | 98.37% | 4.77 |
website content crawler | apify/website-content-crawler | 9,312 | 2,203,316 | 96.42% | 4.52 |
The current public detail fetch also showed the named Actors had recent modification dates on or near 12 August 2026 for several candidates. The current broad Store search response returned a different opaque-ID top-five surface for the same queries, so the article treats the table above as a dated snapshot rather than a permanent ranking.
The test produced one direct selection and two clarification decisions:
| Task | Action | Likely Actor | Score | Decision |
|---|---|---|---|---|
| Google Maps leads with email | clarify | compass/crawler-google-places if contact/email events are approved | 84 | Ask whether email enrichment should be paid for, or run a capped sample |
| LinkedIn profiles by role/location with email | clarify | harvestapi/linkedin-profile-search if email add-on is approved | 88 | Search fits better than profile-only scraping, but email changes risk |
| Documentation crawl to Markdown | select | apify/website-content-crawler | 91 | The task and Actor description align cleanly for RAG-style content |
The average score was 87.7. That number is less important than the action distribution. Two of three cases cleared the numeric threshold but still should not run immediately because the requested email fields could affect pricing, completeness, or user expectations.
Where an agent would still choose wrong
The hardest failures are not search failures. They are overconfident selections when the title looks right but the output contract is narrower than the user's request.
The Google Maps task is a good example. The user asked for businesses in Casablanca with websites, email, phone, rating, and review count. A broad Google Maps scraper can look like the obvious answer. But email and contact enrichment may be priced differently from base place records, and not every business will expose email data. A careful agent should ask: "Do you want to pay for contact enrichment when available, and should records without email be kept or discarded?"
The LinkedIn task has a different trap. harvestapi/linkedin-profile-scraper had more 30-day users in the saved sample, but the user did not provide profile URLs. They asked to find matching profiles by role and location. That makes harvestapi/linkedin-profile-search the better pre-run fit, even before considering email add-ons.
The website crawler case was cleaner. The requested output was content for a RAG index: title, URL, headings, and text. The current apify/website-content-crawler detail response describes website crawling, text extraction, Markdown formatting, and LLM/RAG use cases. In that case, the rubric supported a direct no-run selection.
How to reproduce the no-credit check
Start with Store search, then inspect detail metadata for the plausible candidates. These commands do not run Actors:
curl -fsS 'https://api.apify.com/v2/store?search=google%20maps&limit=5'
curl -fsS 'https://api.apify.com/v2/store?search=linkedin%20profile&limit=5'
curl -fsS 'https://api.apify.com/v2/store?search=website%20content%20crawler&limit=5'
Then fetch details for candidates you might select:
curl -fsS 'https://api.apify.com/v2/actors/compass~crawler-google-places'
curl -fsS 'https://api.apify.com/v2/actors/harvestapi~linkedin-profile-search'
curl -fsS 'https://api.apify.com/v2/actors/apify~website-content-crawler'
Score each candidate against the rubric before executing anything. If the task includes paid add-ons, unclear required fields, authentication, protected targets, or missing output evidence, the correct action is usually clarify.
This is the same kind of metadata-first inspection used in our earlier Apify Store demand snapshot, but at the individual Actor-selection layer. If you want a faster first pass on a specific listing, the free Apify Actor audit checks public metadata without running the Actor.
What this test proves, and what it does not
This test supports a narrow claim: an AI agent can use public metadata to avoid several bad first runs and to identify when a user must approve cost or output tradeoffs before execution.
It does not prove that the selected Actor will return correct records. Public success rate is a reliability signal, not a field-level quality guarantee. A successful public run can still omit email, return stale profiles, miss headings, hit rate limits, or produce duplicates for a particular job.
The responsible workflow is therefore:
- Search public Store metadata.
- Retrieve Actor detail metadata.
- Score task fit and output fit.
- Clarify critical unknowns.
- Run a small bounded sample.
- Validate the dataset against source pages.
- Scale only after the output contract holds.
Cosnify is built around that final handoff from selected workflow to tested Actor. You can start a guided Actor build, review Cosnify credit packs, or keep reading the Cosnify field notes before running a larger experiment.
Limitations
This is a metadata-only test from 12 August 2026, not a live execution benchmark. No paid Store Actor was run, so the post measures pre-run selection quality rather than final dataset quality.
The public API response shape can change. Store rankings can change. Ratings, public runs, and usage numbers are time-sensitive. The saved table should be read as a snapshot, not a permanent leaderboard.
The test also avoids protected or authenticated targets. It does not say LinkedIn or Google Maps collection is appropriate for every use case, account, jurisdiction, or target policy. It only evaluates whether a pre-run agent should select, clarify, or reject based on public metadata.
Final take
An AI agent should not run the first Apify Actor it finds. It should inspect metadata, score the fit, ask clarification questions when pricing or output fields are unclear, and only then start a bounded run.
The practical win is not full autonomy. It is a cheaper first decision. In this test, metadata was enough to select the website crawler for a RAG-style documentation task and enough to slow down the Google Maps and LinkedIn tasks before possible email-related spend.
That is a good default for agentic web automation: metadata first, credits later.