Apify
Authentication Type: API Key Description: Search the Apify Store for actors (web scrapers, data extractors, automation tools), inspect their input schemas, run them, and retrieve results.
Authentication
To authenticate with Apify, you'll need an API token from your Apify account:
- Sign up or log in at Apify Console
- Navigate to Settings > Integrations in your account
- Copy your API token (or create a new one with a descriptive name)
You'll need to provide:
- apiKey
string: Your Apify API token
Security tip: Never reuse the same token across multiple services. You can create multiple tokens and set expiration dates for temporary access. If a token is compromised, rotate it in the Console (there is a 24-hour grace period for the old token).
Search Actors
Search the Apify Store for actors (web scrapers, data extractors, automation tools, and more). Actors using the rental pricing model (flat monthly fee) are automatically excluded from results.
Operation Type: Query (Read)
Parameters:
- query
string(required): Search query for finding Apify actors - limit
number(nullable): Maximum number of results to return (default 10)
Returns:
- actors
array of objects: List of matching actors- actorId
string: The actor ID inowner/nameformat (use this to get details or run the actor) - name
string: The actor name inowner/nameformat - title
string: Human-readable title - description
string: Short description of what the actor does - pricingModel
string: Pricing model (FREE,PAY_PER_EVENT, orPRICE_PER_DATASET_ITEM) - url
string: URL to the actor in Apify Store
- actorId
Example Usage:
{
"query": "amazon product scraper",
"limit": 5
}
Get Actor Details
Get detailed information about an Apify actor including its full input schema, description, example input, and usage stats. Use this before running an actor to understand exactly what input fields it expects.
Operation Type: Query (Read)
Parameters:
- actorId
string(required): The actor ID or name (e.g.,apify/web-scraper). Use Search Actors to find actors first.
Returns:
- id
string: The actor ID - name
string: The actor name - username
string: The actor owner username - title
string: Human-readable title - description
string: Short description - readmeSummary
string(nullable): LLM-generated summary of the actor readme, including what input the actor expects - pricingModel
string: Pricing model (FREE,PAY_PER_EVENT,PRICE_PER_DATASET_ITEM, orFLAT_PRICE_PER_MONTH). Do not run actors withFLAT_PRICE_PER_MONTH(rental model). - isPublic
boolean: Whether the actor is public - isDeprecated
boolean: Whether the actor is deprecated - url
string: URL to the actor in Apify Store - inputSchema
object(nullable): JSON schema defining the actor's input properties, their types, descriptions, and defaults. Use this to construct the correct input for Run Actor. - exampleRunInput
object(nullable): Example input for running this actor- body
string: Example JSON input body - contentType
string: Content type of the example input
- body
- defaultRunOptions
object(nullable): Default run configuration- build
string(nullable): Default build tag - timeoutSecs
number(nullable): Default timeout in seconds - memoryMbytes
number(nullable): Default memory in MB
- build
- stats
object(nullable): Actor usage statistics- totalRuns
number: Total number of runs - totalUsers
number: Total number of users
- totalRuns
Example Usage:
{
"actorId": "apify/web-scraper"
}
Run Actor
Run an Apify actor with the specified input. The tool waits briefly for the run to complete and returns results if available. If the run does not finish in time, use Get Run to poll for completion.
Operation Type: Mutation (Write)
Parameters:
- actorId
string(required): The actor ID or name (e.g.,apify/web-scraper) - input
object(nullable): JSON input to pass to the actor. Use Get Actor Details to check theinputSchemafor available fields. - maxWaitSeconds
number(nullable): Maximum time in seconds to wait for the run to finish (default 25, max 300). If the run does not complete in time, use Get Run to poll for results.
Returns:
- runId
string: The unique ID of the actor run - status
string: Run status (SUCCEEDED,RUNNING,FAILED, etc.) - datasetId
string(nullable): ID of the default dataset for this run - keyValueStoreId
string(nullable): ID of the default key-value store for this run - output
array: Dataset items if the run completed, otherwise empty array
Example Usage:
{
"actorId": "apify/web-scraper",
"input": {
"startUrls": [{ "url": "https://example.com" }],
"maxPagesPerCrawl": 10
},
"maxWaitSeconds": 30
}
Important: Always use Get Actor Details first to check the
inputSchemafor available limit fields (e.g.,maxResults,maxPages,resultsLimit,maxItems). Setting appropriate limits avoids unexpectedly large or expensive runs.
Get Run
Check the status of an Apify actor run and retrieve results. Use this to poll for completion when a run does not finish within the initial wait time.
Operation Type: Query (Read)
Parameters:
- runId
string(required): The run ID returned from Run Actor - waitForFinish
number(nullable): Maximum time in seconds to wait for the run to finish (default 25, max 300). The API returns immediately if the run has already completed.
Returns:
- runId
string: The run ID - actorId
string: The actor that was run - status
string: Run status (SUCCEEDED,RUNNING,FAILED,ABORTED,TIMED-OUT, etc.) - datasetId
string(nullable): ID of the default dataset - keyValueStoreId
string(nullable): ID of the default key-value store - output
array: Dataset items if the run completed, otherwise empty array - startedAt
string: When the run started - finishedAt
string(nullable): When the run finished (null if still running)
Example Usage:
{
"runId": "abc123xyz",
"waitForFinish": 25
}
Common Use Cases
Web Scraping & Data Extraction:
- Search for specialized scrapers in the Apify Store (e.g., Amazon product scrapers, Google Maps extractors)
- Inspect the actor's input schema to understand required fields and limits
- Run the scraper with appropriate parameters and retrieve structured data
Competitive Intelligence:
- Scrape competitor websites, product listings, and pricing data
- Monitor review sites for brand mentions and sentiment
- Extract social media data for market research
Lead Generation:
- Extract business listings from directories and maps
- Scrape job postings to identify growing companies
- Collect contact information from public profiles and websites
Content Monitoring:
- Set up periodic scrapes of news sites and blogs
- Monitor product availability and price changes
- Track social media mentions and engagement metrics
Long-Running Jobs:
- For actors that take longer than 25 seconds, Run Actor returns with status
RUNNING - Use Get Run to poll for completion, passing
waitForFinishto long-poll up to 300 seconds per request - Once status is
SUCCEEDED, the output array contains the dataset items