ARActor Router
Back to catalog

Actor Router Examples and FAQ

10 agent scenarios covering the full loop: user request, follow-up questions, Actor discovery, dry-run, real run, polling, and normalized result retrieval. Each example shows platform coverage and the advantage over direct Apify API calls.

Agent sequence
GET /v1/models?q=linkedin GET /v1/actors/{id}/schema POST /v1/runs GET /v1/runs/{run_id}/result
1

LinkedIn lead and profile enrichment

Available linkedin · 143 actors

A sales or research agent has LinkedIn profile URLs and needs names, titles, companies, summaries, and public profile data.

Recommended Actor
harvestapi/linkedin-profile-scraper
Agent full workflow
  1. User request. User: Enrich these 30 LinkedIn profile URLs into a sales lead table.
  2. Discover options. GET /v1/models?q=linkedin&limit=3 returns 143 matching Actors, including harvestapi/linkedin-profile-scraper apimaestro/linkedin-profile-detail dev_fusion/Linkedin-Profile-Scraper.
  3. Inspect inputs. GET /v1/actors/harvestapi~linkedin-profile-scraper/schema shows example input, default memory/timeout, pricing hints, and normalized output schema.
  4. Clarify missing constraints. If the user only provides company names, the agent asks for profile URLs, target region, required fields, and budget cap.
  5. Validate without spending. POST /v1/runs with dry_run:true and body {"actor":"harvestapi/linkedin-profile-scraper","input":{"profileUrls":["https://www.linkedin.com/in/example/"],"maxItems":25},"max_total_charge_usd":1,"wait_for_finish":0,"dry_run":true}.
  6. Start the real run. Remove dry_run. The gateway returns job_id, status_url, result_url, Actor metadata, and cost estimate.
  7. Poll status. Call GET /v1/runs/{run_id} until status is SUCCEEDED, FAILED, ABORTED, or TIMED-OUT.
  8. Read results. Call GET /v1/runs/{run_id}/result?limit=100 to receive normalized items plus raw upstream records.
  9. Continue the conversation. Deliver a deduplicated lead table with missing fields, low-confidence profiles, and suggested companies for the next pass.
Run request
{
  "actor": "harvestapi/linkedin-profile-scraper",
  "input": {
    "profileUrls": [
      "https://www.linkedin.com/in/example/"
    ],
    "maxItems": 25
  },
  "max_total_charge_usd": 1,
  "wait_for_finish": 0
}
Returned result
{
  "object": "job_result",
  "schema": "social_profile.v1",
  "items": [
    {
      "url": "https://www.linkedin.com/in/example/",
      "title": "Example Person",
      "text": "Founder, AI tools",
      "raw": "{upstream actor item}"
    }
  ]
}
Advantage over direct Apify
Direct Apify calls require the agent to know the exact Actor, input fields, run flow, and dataset read path. Here it can search /v1/models?q=linkedin, run through /v1/runs, and receive normalized social_profile.v1 items.
Alternative Actors
harvestapi/linkedin-profile-scraper apimaestro/linkedin-profile-detail dev_fusion/Linkedin-Profile-Scraper
2

YouTube video, channel, and transcript research

Available youtube · 52 actors

A content agent needs titles, text, transcript-like data, and metadata from YouTube videos or channels for summaries, competitor tracking, or RAG ingestion.

Recommended Actor
pintostudio/youtube-transcript-scraper
Agent full workflow
  1. User request. User: Analyze these 5 YouTube videos, extract transcript points, and turn them into competitor insights.
  2. Discover options. GET /v1/models?q=youtube&limit=3 returns 52 matching Actors, including streamers/youtube-scraper pintostudio/youtube-transcript-scraper streamers/youtube-channel-scraper.
  3. Inspect inputs. GET /v1/actors/pintostudio~youtube-transcript-scraper/schema shows example input, default memory/timeout, pricing hints, and normalized output schema.
  4. Clarify missing constraints. The agent asks whether the input is video URLs or channel URLs, desired output language, transcript retention, and max items per video.
  5. Validate without spending. POST /v1/runs with dry_run:true and body {"actor":"pintostudio/youtube-transcript-scraper","input":{"urls":["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"maxItems":10},"max_total_charge_usd":1,"wait_for_finish":0,"dry_run":true}.
  6. Start the real run. Remove dry_run. The gateway returns job_id, status_url, result_url, Actor metadata, and cost estimate.
  7. Poll status. Call GET /v1/runs/{run_id} until status is SUCCEEDED, FAILED, ABORTED, or TIMED-OUT.
  8. Read results. Call GET /v1/runs/{run_id}/result?limit=100 to receive normalized items plus raw upstream records.
  9. Continue the conversation. Deliver summaries, topic clusters, citeable snippets, and normalized text/url/title records for ingestion.
Run request
{
  "actor": "pintostudio/youtube-transcript-scraper",
  "input": {
    "urls": [
      "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
    ],
    "maxItems": 10
  },
  "max_total_charge_usd": 1,
  "wait_for_finish": 0
}
Returned result
{
  "object": "job_result",
  "schema": "social_profile.v1",
  "items": [
    {
      "url": "https://www.youtube.com/watch?v=...",
      "title": "Video title",
      "text": "Transcript text...",
      "raw": "{upstream actor item}"
    }
  ]
}
Advantage over direct Apify
YouTube becomes a capability entry point instead of a hard-coded Actor dependency. The agent can inspect available Actors, quality signals, and cost controls before running.
Alternative Actors
streamers/youtube-scraper pintostudio/youtube-transcript-scraper streamers/youtube-channel-scraper
3

Twitter/X monitoring and post collection

Available twitter · 41 actors

A market or investment agent needs public posts by keyword, account, or topic for trend, sentiment, or event tracking.

Recommended Actor
apidojo/tweet-scraper
Agent full workflow
  1. User request. User: Monitor recent X/Twitter discussion about AI agents and find high-engagement opinions.
  2. Discover options. GET /v1/models?q=twitter&limit=3 returns 41 matching Actors, including apidojo/tweet-scraper kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest xquik/x-tweet-scraper.
  3. Inspect inputs. GET /v1/actors/apidojo~tweet-scraper/schema shows example input, default memory/timeout, pricing hints, and normalized output schema.
  4. Clarify missing constraints. The agent asks for keywords, time range, language, exclusions, and whether to focus on verified or high-follower accounts.
  5. Validate without spending. POST /v1/runs with dry_run:true and body {"actor":"apidojo/tweet-scraper","input":{"searchTerms":["AI agent"],"maxItems":100},"max_total_charge_usd":2,"wait_for_finish":0,"dry_run":true}.
  6. Start the real run. Remove dry_run. The gateway returns job_id, status_url, result_url, Actor metadata, and cost estimate.
  7. Poll status. Call GET /v1/runs/{run_id} until status is SUCCEEDED, FAILED, ABORTED, or TIMED-OUT.
  8. Read results. Call GET /v1/runs/{run_id}/result?limit=100 to receive normalized items plus raw upstream records.
  9. Continue the conversation. Deliver high-engagement posts, opinion clusters, trend judgment, and accounts worth tracking.
Run request
{
  "actor": "apidojo/tweet-scraper",
  "input": {
    "searchTerms": [
      "AI agent"
    ],
    "maxItems": 100
  },
  "max_total_charge_usd": 2,
  "wait_for_finish": 0
}
Returned result
{
  "object": "job_result",
  "schema": "social_profile.v1",
  "items": [
    {
      "url": "https://x.com/user/status/...",
      "title": "@user",
      "text": "Post text...",
      "raw": "{upstream actor item}"
    }
  ]
}
Advantage over direct Apify
Results are normalized into stable url/title/text/raw fields, so the agent does not need a custom parser for every Twitter/X Actor.
Alternative Actors
apidojo/tweet-scraper kaitoeasyapi/twitter-x-data-tweet-scraper-pay-per-result-cheapest xquik/x-tweet-scraper
4

Google Maps local business leads

Available google · 71 actors

A sales agent wants local businesses in a city and category, including address, website, phone, ratings, review count, and category.

Recommended Actor
compass/crawler-google-places
Agent full workflow
  1. User request. User: Find coffee shops near Austin for outbound sales, preferring websites and high ratings.
  2. Discover options. GET /v1/models?q=google&limit=3 returns 71 matching Actors, including apify/google-search-scraper compass/crawler-google-places compass/Google-Maps-Reviews-Scraper.
  3. Inspect inputs. GET /v1/actors/compass~crawler-google-places/schema shows example input, default memory/timeout, pricing hints, and normalized output schema.
  4. Clarify missing constraints. The agent asks for radius, category keywords, max businesses, and whether phone, website, or rating thresholds are required.
  5. Validate without spending. POST /v1/runs with dry_run:true and body {"actor":"compass/crawler-google-places","input":{"searchString":"coffee near Austin","maxCrawledPlaces":5,"proxyConfig":{"useApifyProxy":true}},"max_total_charge_usd":1,"wait_for_finish":0,"dry_run":true}.
  6. Start the real run. Remove dry_run. The gateway returns job_id, status_url, result_url, Actor metadata, and cost estimate.
  7. Poll status. Call GET /v1/runs/{run_id} until status is SUCCEEDED, FAILED, ABORTED, or TIMED-OUT.
  8. Read results. Call GET /v1/runs/{run_id}/result?limit=100 to receive normalized items plus raw upstream records.
  9. Continue the conversation. Deliver a business_lead.v1 table ranked by rating, review count, and website availability, plus next search terms.
Run request
{
  "actor": "compass/crawler-google-places",
  "input": {
    "searchString": "coffee near Austin",
    "maxCrawledPlaces": 5,
    "proxyConfig": {
      "useApifyProxy": true
    }
  },
  "max_total_charge_usd": 1,
  "wait_for_finish": 0
}
Returned result
{
  "object": "job_result",
  "schema": "business_lead.v1",
  "items": [
    {
      "title": "Trippy Buck Coffee",
      "website": "https://linktr.ee/TrippyBuckCoffee",
      "address": "720 Brazos St, Austin, TX 78701",
      "reviews_count": 36
    }
  ]
}
Advantage over direct Apify
This path has been verified live: /v1/runs produced a SUCCEEDED job and /v1/runs/{run_id}/result returned business_lead.v1 items.
Alternative Actors
apify/google-search-scraper compass/crawler-google-places compass/Google-Maps-Reviews-Scraper
5

Instagram profile and post collection

Available instagram · 95 actors

A brand agent needs public posts, bios, engagement hints, and content links by account or hashtag.

Recommended Actor
apify/instagram-scraper
Agent full workflow
  1. User request. User: Collect recent OpenAI Instagram content and summarize themes and engagement direction.
  2. Discover options. GET /v1/models?q=instagram&limit=3 returns 95 matching Actors, including apify/instagram-scraper apify/instagram-profile-scraper apify/instagram-post-scraper.
  3. Inspect inputs. GET /v1/actors/apify~instagram-scraper/schema shows example input, default memory/timeout, pricing hints, and normalized output schema.
  4. Clarify missing constraints. The agent asks for accounts or hashtags, time range, post count, and whether image links and full captions are needed.
  5. Validate without spending. POST /v1/runs with dry_run:true and body {"actor":"apify/instagram-scraper","input":{"directUrls":["https://www.instagram.com/openai/"],"resultsLimit":30},"max_total_charge_usd":2,"wait_for_finish":0,"dry_run":true}.
  6. Start the real run. Remove dry_run. The gateway returns job_id, status_url, result_url, Actor metadata, and cost estimate.
  7. Poll status. Call GET /v1/runs/{run_id} until status is SUCCEEDED, FAILED, ABORTED, or TIMED-OUT.
  8. Read results. Call GET /v1/runs/{run_id}/result?limit=100 to receive normalized items plus raw upstream records.
  9. Continue the conversation. Deliver post records, themes, engagement signals, and a reusable content strategy summary.
Run request
{
  "actor": "apify/instagram-scraper",
  "input": {
    "directUrls": [
      "https://www.instagram.com/openai/"
    ],
    "resultsLimit": 30
  },
  "max_total_charge_usd": 2,
  "wait_for_finish": 0
}
Returned result
{
  "object": "job_result",
  "schema": "social_profile.v1",
  "items": [
    {
      "url": "https://www.instagram.com/p/...",
      "title": "openai",
      "text": "Caption text...",
      "raw": "{upstream actor item}"
    }
  ]
}
Advantage over direct Apify
The directory exposes routing signals like users, runs, revenue, failure rate, and agentic support, so the agent can choose a higher-quality Actor before running.
Alternative Actors
apify/instagram-scraper apify/instagram-profile-scraper apify/instagram-post-scraper
6

TikTok creator and video data

Available tiktok · 77 actors

A growth agent needs creator profiles, videos, captions, play counts, or engagement signals from TikTok.

Recommended Actor
clockworks/tiktok-scraper
Agent full workflow
  1. User request. User: Find popular TikTok videos from a creator category and summarize what makes them work.
  2. Discover options. GET /v1/models?q=tiktok&limit=3 returns 77 matching Actors, including clockworks/tiktok-scraper clockworks/free-tiktok-scraper clockworks/tiktok-profile-scraper.
  3. Inspect inputs. GET /v1/actors/clockworks~tiktok-scraper/schema shows example input, default memory/timeout, pricing hints, and normalized output schema.
  4. Clarify missing constraints. The agent asks for creator list or keywords, region/language, video count, and whether play/like metrics are required.
  5. Validate without spending. POST /v1/runs with dry_run:true and body {"actor":"clockworks/tiktok-scraper","input":{"profiles":["tiktok"],"resultsPerPage":20},"max_total_charge_usd":2,"wait_for_finish":0,"dry_run":true}.
  6. Start the real run. Remove dry_run. The gateway returns job_id, status_url, result_url, Actor metadata, and cost estimate.
  7. Poll status. Call GET /v1/runs/{run_id} until status is SUCCEEDED, FAILED, ABORTED, or TIMED-OUT.
  8. Read results. Call GET /v1/runs/{run_id}/result?limit=100 to receive normalized items plus raw upstream records.
  9. Continue the conversation. Deliver a video table, caption themes, engagement ranking, and reusable script or topic patterns.
Run request
{
  "actor": "clockworks/tiktok-scraper",
  "input": {
    "profiles": [
      "tiktok"
    ],
    "resultsPerPage": 20
  },
  "max_total_charge_usd": 2,
  "wait_for_finish": 0
}
Returned result
{
  "object": "job_result",
  "schema": "social_profile.v1",
  "items": [
    {
      "url": "https://www.tiktok.com/@...",
      "title": "Creator",
      "text": "Video caption...",
      "raw": "{upstream actor item}"
    }
  ]
}
Advantage over direct Apify
The same /v1/runs protocol covers Instagram, TikTok, YouTube, and Twitter/X, so agents do not need four separate Apify workflows.
Alternative Actors
clockworks/tiktok-scraper clockworks/free-tiktok-scraper clockworks/tiktok-profile-scraper
7

Amazon product and price monitoring

Available amazon · 26 actors

An ecommerce agent needs prices, availability, images, ratings, and competing listings from search terms or product URLs.

Recommended Actor
junglee/Amazon-crawler
Agent full workflow
  1. User request. User: Monitor Amazon competitor prices and availability for wireless headphones.
  2. Discover options. GET /v1/models?q=amazon&limit=3 returns 26 matching Actors, including junglee/Amazon-crawler axesso_data/amazon-reviews-scraper junglee/free-amazon-product-scraper.
  3. Inspect inputs. GET /v1/actors/junglee~Amazon-crawler/schema shows example input, default memory/timeout, pricing hints, and normalized output schema.
  4. Clarify missing constraints. The agent asks for marketplace country, keywords or ASINs, price range, max products, and whether recurring comparison is needed.
  5. Validate without spending. POST /v1/runs with dry_run:true and body {"actor":"junglee/Amazon-crawler","input":{"search":"wireless headphones","maxItems":50},"max_total_charge_usd":2,"wait_for_finish":0,"dry_run":true}.
  6. Start the real run. Remove dry_run. The gateway returns job_id, status_url, result_url, Actor metadata, and cost estimate.
  7. Poll status. Call GET /v1/runs/{run_id} until status is SUCCEEDED, FAILED, ABORTED, or TIMED-OUT.
  8. Read results. Call GET /v1/runs/{run_id}/result?limit=100 to receive normalized items plus raw upstream records.
  9. Continue the conversation. Deliver product_price.v1 results as a competitor table sorted by price, rating, availability, and image links.
Run request
{
  "actor": "junglee/Amazon-crawler",
  "input": {
    "search": "wireless headphones",
    "maxItems": 50
  },
  "max_total_charge_usd": 2,
  "wait_for_finish": 0
}
Returned result
{
  "object": "job_result",
  "schema": "product_price.v1",
  "items": [
    {
      "title": "Wireless headphones",
      "price": "$59.99",
      "availability": "In stock",
      "image": "https://..."
    }
  ]
}
Advantage over direct Apify
Results enter product_price.v1, which makes price comparison, alerting, and spreadsheet export simpler than handling each Actor schema separately.
Alternative Actors
junglee/Amazon-crawler axesso_data/amazon-reviews-scraper junglee/free-amazon-product-scraper
8

Job postings and hiring signals

Available jobs · 111 actors

A recruiting or research agent wants public jobs, companies, locations, salary hints, and posting dates.

Recommended Actor
apimaestro/linkedin-profile-batch-scraper-no-cookies-required
Agent full workflow
  1. User request. User: Find remote AI engineer jobs and summarize company and salary signals.
  2. Discover options. GET /v1/models?q=jobs&limit=3 returns 111 matching Actors, including apimaestro/linkedin-profile-batch-scraper-no-cookies-required curious_coder/linkedin-jobs-scraper misceres/indeed-scraper.
  3. Inspect inputs. GET /v1/actors/apimaestro~linkedin-profile-batch-scraper-no-cookies-required/schema shows example input, default memory/timeout, pricing hints, and normalized output schema.
  4. Clarify missing constraints. The agent asks for region, role keywords, seniority, whether salary is required, and max postings.
  5. Validate without spending. POST /v1/runs with dry_run:true and body {"capability":"job_posting_extraction","input":{"query":"AI engineer remote","maxItems":100},"max_total_charge_usd":2,"wait_for_finish":0,"dry_run":true}.
  6. Start the real run. Remove dry_run. The gateway returns job_id, status_url, result_url, Actor metadata, and cost estimate.
  7. Poll status. Call GET /v1/runs/{run_id} until status is SUCCEEDED, FAILED, ABORTED, or TIMED-OUT.
  8. Read results. Call GET /v1/runs/{run_id}/result?limit=100 to receive normalized items plus raw upstream records.
  9. Continue the conversation. Deliver a job_posting.v1 table sorted by company, location, salary, posting date, and apply URL.
Run request
{
  "capability": "job_posting_extraction",
  "input": {
    "query": "AI engineer remote",
    "maxItems": 100
  },
  "max_total_charge_usd": 2,
  "wait_for_finish": 0
}
Returned result
{
  "object": "job_result",
  "schema": "job_posting.v1",
  "items": [
    {
      "title": "AI Engineer",
      "company": "Example Inc.",
      "location": "Remote",
      "salary": "$150k-$220k"
    }
  ]
}
Advantage over direct Apify
The agent can call by capability and let the router pick a matching Actor. Direct Apify use usually requires knowing the exact Actor first.
Alternative Actors
apimaestro/linkedin-profile-batch-scraper-no-cookies-required curious_coder/linkedin-jobs-scraper misceres/indeed-scraper
9

Review and reputation scraping

Available reviews · 37 actors

A support or brand agent needs public reviews from places like Google Maps, Tripadvisor, or Trustpilot to summarize themes and root causes.

Recommended Actor
compass/Google-Maps-Reviews-Scraper
Agent full workflow
  1. User request. User: Scrape public reviews for this business and tell me what negative reviews focus on.
  2. Discover options. GET /v1/models?q=reviews&limit=3 returns 37 matching Actors, including compass/Google-Maps-Reviews-Scraper maxcopell/tripadvisor-reviews apify/facebook-reviews-scraper.
  3. Inspect inputs. GET /v1/actors/compass~Google-Maps-Reviews-Scraper/schema shows example input, default memory/timeout, pricing hints, and normalized output schema.
  4. Clarify missing constraints. The agent asks for business URL, platform, review count, whether to focus on low ratings, and desired dimensions.
  5. Validate without spending. POST /v1/runs with dry_run:true and body {"capability":"review_scraping","input":{"url":"https://www.google.com/maps/place/example","maxItems":100},"max_total_charge_usd":2,"wait_for_finish":0,"dry_run":true}.
  6. Start the real run. Remove dry_run. The gateway returns job_id, status_url, result_url, Actor metadata, and cost estimate.
  7. Poll status. Call GET /v1/runs/{run_id} until status is SUCCEEDED, FAILED, ABORTED, or TIMED-OUT.
  8. Read results. Call GET /v1/runs/{run_id}/result?limit=100 to receive normalized items plus raw upstream records.
  9. Continue the conversation. Deliver review.v1 items, negative themes, representative quotes, and improvement priorities.
Run request
{
  "capability": "review_scraping",
  "input": {
    "url": "https://www.google.com/maps/place/example",
    "maxItems": 100
  },
  "max_total_charge_usd": 2,
  "wait_for_finish": 0
}
Returned result
{
  "object": "job_result",
  "schema": "review.v1",
  "items": [
    {
      "rating": 5,
      "author": "Reviewer",
      "date": "2026-07-03",
      "text": "Great service..."
    }
  ]
}
Advantage over direct Apify
The agent can route through review_scraping and retrieve review.v1, avoiding per-platform polling and parsing code.
Alternative Actors
compass/Google-Maps-Reviews-Scraper maxcopell/tripadvisor-reviews apify/facebook-reviews-scraper
10

Company, domain, and contact enrichment

Available company · 611 actors

A B2B agent has a company name or domain and needs public website, industry, employee, contact, or LinkedIn company data.

Recommended Actor
harvestapi/linkedin-company
Agent full workflow
  1. User request. User: Enrich these company names with websites, LinkedIn company pages, and contact signals.
  2. Discover options. GET /v1/models?q=company&limit=3 returns 611 matching Actors, including apify/google-search-scraper apify/instagram-profile-scraper compass/crawler-google-places.
  3. Inspect inputs. GET /v1/actors/harvestapi~linkedin-company/schema shows example input, default memory/timeout, pricing hints, and normalized output schema.
  4. Clarify missing constraints. The agent asks for company list, target country, whether emails, employee count, or industry are needed, and budget cap.
  5. Validate without spending. POST /v1/runs with dry_run:true and body {"actor":"harvestapi/linkedin-company","input":{"companies":["OpenAI"],"maxItems":25},"max_total_charge_usd":2,"wait_for_finish":0,"dry_run":true}.
  6. Start the real run. Remove dry_run. The gateway returns job_id, status_url, result_url, Actor metadata, and cost estimate.
  7. Poll status. Call GET /v1/runs/{run_id} until status is SUCCEEDED, FAILED, ABORTED, or TIMED-OUT.
  8. Read results. Call GET /v1/runs/{run_id}/result?limit=100 to receive normalized items plus raw upstream records.
  9. Continue the conversation. Deliver a company_profile.v1 table with raw data for review and companies that deserve a deeper second pass.
Run request
{
  "actor": "harvestapi/linkedin-company",
  "input": {
    "companies": [
      "OpenAI"
    ],
    "maxItems": 25
  },
  "max_total_charge_usd": 2,
  "wait_for_finish": 0
}
Returned result
{
  "object": "job_result",
  "schema": "company_profile.v1",
  "items": [
    {
      "company": "OpenAI",
      "domain": "openai.com",
      "contacts": [
        "public contact item"
      ],
      "raw": "{upstream actor item}"
    }
  ]
}
Advantage over direct Apify
The gateway keeps raw upstream data while exposing company_profile.v1 summary fields, giving the agent both stable fields and full fallback detail.
Alternative Actors
apify/google-search-scraper apify/instagram-profile-scraper compass/crawler-google-places

FAQ

Is this just an Apify search page?

No. Search is only the first step. The gateway also provides unified execution, dry-run, cost caps, polling, normalized results, and OpenRouter-style /v1/models discovery.

Why should an agent not call Apify directly?

Direct Apify use requires exposing an Apify token, selecting a specific Actor, understanding every Actor input schema, reading runs and datasets, and normalizing incompatible output fields. Actor Router wraps that into one protocol.

How do I avoid spending too much on one run?

Set max_total_charge_usd on POST /v1/runs, and use dry_run:true first to inspect the upstream path and input before spending.

Can I call a capability without choosing an Actor?

Yes. Pass capability or use /v1/capabilities/{capability_id}/runs. The router chooses a matching Actor from the catalog.

Will normalized results drop original Apify fields?

No. Each normalized item keeps raw. Common fields like url, title, text, price, rating, and website are lifted into stable schemas.

Which platforms are covered?

The current catalog covers LinkedIn, Instagram, TikTok, YouTube, Twitter/X, Google, Amazon, Facebook, Reddit, Tripadvisor, and more. Query /v1/models?q=platform for exact coverage.

What does allowsAgenticUsers mean?

It is one routing signal in the catalog. Agents can filter with /v1/actors?agentic=true to focus on Actors that allow agentic users.

Is this compatible with OpenRouter model discovery?

The discovery layer is similar: /v1/models returns callable resources. Execution is a long-running Actor protocol, so runs use /v1/runs instead of chat completions.

How do I continue a job that already started?

Store job_id, then call GET /v1/runs/{run_id} for status and GET /v1/runs/{run_id}/result?limit=100 for results. The legacy /v1/jobs paths still work.

What if an Actor schema is incomplete?

The gateway uses Apify metadata, exampleRunInput, pricing, and catalog signals where possible, then exposes normalized result schemas. Agents can inspect /v1/actors/{id}/upstream when needed.