Apify Ultimate Scraper
ApifyOfficialPublished by Apify
- Skill
- Tool integration
- Automation and integrations
- Apache-2.0
- Low risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The apify-ultimate-scraper skill provides a structured, AI-assisted approach to web data extraction. It leverages the Apify CLI to interact with a wide range of platform-specific Actors, ensuring consistent telemetry, machine-readable output, and cost-conscious execution. The skill includes a comprehensive index for selecting the right tool for tasks ranging from social media analytics to e-commerce price monitoring, while enforcing safety protocols for cost estimation and error handling.
What it does
- Provides a standardized CLI workflow for searching, configuring, and running web scrapers.
- Ensures machine-readable output by enforcing JSON formatting and stderr redirection.
- Includes a cost estimation protocol for pay-per-event (PPE) Actors to prevent unexpected billing.
- Facilitates dynamic retrieval of Actor input schemas and documentation.
- Supports both synchronous execution for quick lookups and asynchronous polling for large-scale scrapes.
- Integrates with a library of workflow guides for specific use cases like lead generation and SEO.
When to use it
- When you need to extract structured data from social media, e-commerce, or search engine platforms.
- When performing competitive intelligence, brand monitoring, or market research.
- When you require a repeatable, automated pipeline for data collection.
- When you need to verify the cost implications of a scraping task before execution.
Advantages
- Reduces manual configuration errors through standardized CLI usage patterns.
- Prevents budget overruns with built-in cost estimation and warning thresholds.
- Provides a unified interface for interacting with over 100 different scraping tools.
- Ensures stable, parseable output for downstream data processing.
Usage examples
- “Find a scraper for Instagram follower counts.”
- The agent searches the Actor index, identifies 'apify/instagram-followers-count-scraper', and provides the command to fetch its input schema.
- “Scrape the top 50 results for 'AI tools' on Google Search.”
- The agent selects the appropriate Google Search Actor, estimates the cost if applicable, runs the scrape, and presents the results as a formatted JSON list.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/apify/apify-ultimate-scraper/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip apify-ultimate-scraper.zip -d .agents/skills
Documentation by Apify
Universal web scraper
AI-driven data extraction from ~100 Actors across 15+ platforms via the Apify CLI.
Rules for every apify command:
Pass
--jsonfor machine-readable output (stable across CLI versions).Pass
--user-agent apify-agent-skills/apify-ultimate-scraperfor telemetry attribution.Redirect stderr with
2>/dev/null(stderr contains progress messages that break JSON parsers).
Prerequisites
Apify CLI v1.5.0+ (
npm install -g apify-cli)Authenticated session (see below)
Authentication
If a CLI command fails with an auth error, authenticate using one of these methods:
OAuth (interactive):
apify login(opens browser)Environment variable:
export APIFY_TOKEN=your_token_hereFrom .env file:
source .env(if the file containsAPIFY_TOKEN=...)
Generate token: https://console.apify.com/settings/integrations
Workflow
Step 1: Understand goal and select Actor
Identify the target platform and use case. Read references/actor-index.md to find the right Actor.
If the task involves a multi-step pipeline, also read the matching workflow guide:
| Task involves... | Read |
|---|---|
| leads, contacts, emails, B2B | references/workflows/lead-generation.md |
| competitor, ads, pricing | references/workflows/competitive-intel.md |
| influencer, creator | references/workflows/influencer-vetting.md |
| brand, mentions, sentiment | references/workflows/brand-monitoring.md |
| reviews, ratings, reputation | references/workflows/review-analysis.md |
| SEO, SERP, crawl, content, RAG | references/workflows/content-and-seo.md |
| analytics, engagement, performance | references/workflows/social-media-analytics.md |
| trends, keywords, hashtags | references/workflows/trend-research.md |
| jobs, recruiting, candidates | references/workflows/job-market-and-recruitment.md |
| real estate, listings, hotels | references/workflows/real-estate-and-hospitality.md |
| price monitoring, e-commerce, products | references/workflows/ecommerce-price-monitoring.md |
| contact enrichment, email extraction | references/workflows/contact-enrichment.md |
| knowledge base, RAG, LLM data feed | references/workflows/knowledge-base-and-rag.md |
| company research, due diligence | references/workflows/company-research.md |
If no Actor matches in the index, search dynamically:
apify actors search "KEYWORDS" --user-agent apify-agent-skills/apify-ultimate-scraper --json --limit 10 2>/dev/nullFrom results: items[].username/items[].name (Actor ID), items[].title, items[].stats.totalUsers30Days, items[].currentPricingInfo.pricingModel.
Step 2: Fetch Actor schema and check gotchas
Fetch the input schema dynamically:
apify actors info "ACTOR_ID" --user-agent apify-agent-skills/apify-ultimate-scraper --input --json 2>/dev/nullAlso read references/gotchas.md to check for common pitfalls for the selected Actor.
For Actor documentation: apify actors info "ACTOR_ID" --user-agent apify-agent-skills/apify-ultimate-scraper --readme
Step 3: Configure and run
Skip user preferences for simple lookups (e.g., "Nike's follower count"). Go straight to running with quick answer mode.
For larger tasks, confirm output format (quick answer / CSV / JSON) and result count.
Standard run (blocking):
apify actors call "ACTOR_ID" --input-file input.json --user-agent apify-agent-skills/apify-ultimate-scraper --json 2>/dev/nullPrefer --input-file input.json for large or complex inputs. For tiny inputs, inline JSON is acceptable with shell quoting: --input '{"maxItems":10}'.
From output: .id (run ID), .status, .defaultDatasetId, .stats.durationMillis
Fetch results:
apify datasets get-items DATASET_ID --user-agent apify-agent-skills/apify-ultimate-scraper --format jsonFor CSV: apify datasets get-items DATASET_ID --user-agent apify-agent-skills/apify-ultimate-scraper --format csv
Quick answer mode: Fetch results as JSON, pick top 5, present formatted in chat.
Save to file: Fetch results, use Write tool to save as YYYY-MM-DD_descriptive-name.csv or .json.
Large/long-running scrapes:
apify actors start "ACTOR_ID" --input-file input.json --user-agent apify-agent-skills/apify-ultimate-scraper --json 2>/dev/nullPoll: apify runs info RUN_ID --user-agent apify-agent-skills/apify-ultimate-scraper --json 2>/dev/null (check .status for SUCCEEDED).
Step 4: Deliver results
Report: result count, file location (if saved), key data fields, and links:
Dataset:
https://console.apify.com/storage/datasets/DATASET_IDRun:
https://console.apify.com/actors/runs/RUN_ID
For multi-step workflows: suggest the next pipeline step from the workflow guide.
Troubleshooting
Common errors and pitfalls are documented in references/gotchas.md. Read it before running PPE (pay-per-event) Actors.
Files
- ATTRIBUTION.mdAdded by AutoGineer967 B
- LICENSEAdded by AutoGineer10.0 KiB
- SKILL.md5.3 KiB
- references/actor-index.md9.7 KiB
- references/gotchas.md7.3 KiB
- references/workflows/brand-monitoring.md3.7 KiB
- references/workflows/company-research.md4.6 KiB
- references/workflows/competitive-intel.md3.5 KiB
- references/workflows/contact-enrichment.md3.6 KiB
- references/workflows/content-and-seo.md5.1 KiB
- references/workflows/ecommerce-price-monitoring.md4.4 KiB
- references/workflows/influencer-vetting.md3.9 KiB
- references/workflows/job-market-and-recruitment.md3.5 KiB
- references/workflows/knowledge-base-and-rag.md3.7 KiB
- references/workflows/lead-generation.md5.2 KiB
- references/workflows/real-estate-and-hospitality.md3.7 KiB
- references/workflows/review-analysis.md4.1 KiB
- references/workflows/social-media-analytics.md3.3 KiB
- references/workflows/trend-research.md3.3 KiB
references/gotchas.md
Gotchas and cost guardrails
Pricing models
| Model | How it works | Action before running |
|---|---|---|
| FREE | No per-result cost, only platform compute | None needed |
| PAY_PER_EVENT (PPE) | Charged per result item | MUST estimate cost first |
| FLAT_PRICE_PER_MONTH | Monthly subscription | Verify user has active subscription |
To check an Actor's pricing:
apify actors info "ACTOR_ID" --user-agent apify-agent-skills/apify-ultimate-scraper --jsonRead .currentPricingInfo.pricingModel and .currentPricingInfo.pricePerEvent.
Cost estimation protocol
Before running any PPE Actor:
Get the per-event price from Actor info (
.currentPricingInfo.pricePerEvent)Multiply by the requested result count
Present the estimate to the user with this disclaimer:
Estimated cost: ~$X for Y results. This is a rough estimate only - actual costs can vary significantly depending on the Actor, data complexity, retries, and platform changes. Always check your Apify billing dashboard for actual charges.
If estimate > $5: warn explicitly
If estimate > $20: require explicit user confirmation before proceeding
Important: Cost estimates in the workflow guides are approximate and may be inaccurate. Always present them as rough guidance with the disclaimer above, never as exact amounts.
Common pitfalls
Cookie-dependent Actors Some social media scrapers require cookies or login sessions. If an Actor returns auth errors or empty results unexpectedly, check its README:
apify actors info "ACTOR_ID" --user-agent apify-agent-skills/apify-ultimate-scraper --readmeLook for mentions of "cookies", "login", "session", or "proxy".
Input mechanics
Actor input is one JSON object, not an array. --input accepts inline JSON object input only; wrap inline JSON in quotes to avoid shell parsing issues. For JSON files or complex inputs, use --input-file input.json. If the CLI reports parse, path, or object-shape input errors, inspect the schema again with apify actors info "ACTOR_ID" --user-agent apify-agent-skills/apify-ultimate-scraper --input --json.
apify actors call "ACTOR_ID" --input '{"maxItems":10}' --user-agent apify-agent-skills/apify-ultimate-scraper --jsonPrefer this for larger inputs:
apify actors call "ACTOR_ID" --input-file input.json --user-agent apify-agent-skills/apify-ultimate-scraper --jsonRate limiting on large scrapes Platforms throttle or block large-volume scraping. Mitigations:
Use proxy configuration when available:
"proxyConfiguration": {"useApifyProxy": true}Set reasonable concurrency limits (check the Actor's
maxConcurrencyinput)For 1,000+ results, suggest splitting into smaller batches
Empty results Common causes:
Too-narrow search query or geo-restriction (try broader terms)
Platform blocking without proxy (enable Apify Proxy)
Actor requires cookies/login but none provided
Wrong input field name (always verify with
--input --json)
maxResults vs maxCrawledPages Different Actors use different limit field names. Common variants:
maxResults,resultsLimit,maxItems- limit output itemsmaxCrawledPages,maxRequestsPerCrawl- limit pages visited Always fetch the input schema to find the correct field for the specific Actor.
Deprecated Actors
Check .isDeprecated in apify actors info "ACTOR_ID" --user-agent apify-agent-skills/apify-ultimate-scraper --json. If true:
Search for alternatives:
apify actors search "SIMILAR_KEYWORDS" --user-agent apify-agent-skills/apify-ultimate-scraper --jsonPrefer
apifytier replacements overcommunityalternatives
LinkedIn pricing LinkedIn Actors are all PPE and vary significantly:
harvestapi/Actors: generally cheaper ($0.001-0.01/result)apimaestro/Actors: generally more expensive ($0.005-0.02/result)dev_fusion/Actors: mid-range, useful for mass scraping with email enrichment Always compare pricing before selecting a LinkedIn Actor.
SEO tool pricing
radeance/ SEO scrapers (SimilarWeb, Ahrefs, SEMrush, Moz) have the highest per-result costs ($0.005-0.0275/result). For large-scale SEO analysis, estimate costs carefully and suggest batching.
Error recovery
| Symptom | Likely cause | Fix |
|---|---|---|
status: FAILED in run output | Actor crashed or input invalid | Read .statusMessage in JSON; check run log at https://console.apify.com/actors/runs/RUN_ID/log |
isDeprecated: true in Actor info | Actor is end-of-life | Search for replacement: apify actors search "KEYWORDS" --user-agent apify-agent-skills/apify-ultimate-scraper --json |
| Empty dataset (0 items) | Query too narrow, geo-restriction, or anti-bot block | Broaden search terms; enable Apify Proxy; check Actor README with apify actors info ACTOR_ID --user-agent apify-agent-skills/apify-ultimate-scraper --readme |
| Run takes >10 minutes | Large scrape or slow target site | Switch to fire-and-forget: apify actors start --user-agent apify-agent-skills/apify-ultimate-scraper --json, poll with apify runs info RUN_ID --user-agent apify-agent-skills/apify-ultimate-scraper --json |
Why Apify Actors vs raw HTTP scraping
Many n8n and automation workflows use raw HTTP Request nodes or self-hosted Puppeteer for web scraping. These hit common walls that Apify Actors handle transparently:
Cloudflare and WAF bypass
Raw HTTP requests fail on sites with Cloudflare Turnstile, DataDome, or other WAFs. Apify Actors use residential proxies and browser fingerprint rotation automatically. For the toughest sites, use apify/camoufox-scraper.
JavaScript-rendered pages (SPAs)
React, Vue, and Angular sites return empty HTML to plain HTTP requests. Apify's apify/playwright-scraper and apify/camoufox-scraper fully render JavaScript before extracting data.
Anti-bot fingerprinting Even headless browsers get detected via TLS fingerprints (JA3 hashes). Apify's browser pool rotates fingerprints across requests automatically.
Session and cookie management Social media platforms (LinkedIn, Instagram) require persistent sessions. Social media Actors handle cookie management and session rotation internally.
Scaling without infrastructure Self-hosted Puppeteer at scale requires 4-8 GB RAM per browser instance. Apify Actors run on serverless infrastructure - no browser pool management, no RAM provisioning, no Docker orchestration.
Platform-specific rate limits
Instagram: Aggressive rate limiting. Keep maxResults under 200 per run for profile/post scrapers. Use delays between runs. Instagram API scrapers (apify/instagram-api-scraper) have higher limits than browser-based ones.
LinkedIn: All LinkedIn Actors are community-maintained and PPE. LinkedIn actively blocks scraping at scale. Keep batch sizes under 100 profiles. Space runs at least 5 minutes apart. Expect occasional empty results.
TikTok: Anti-bot measures increasing. clockworks/tiktok-scraper handles most cases. For blocked regions, enable Apify Proxy with residential IPs.
Google Maps: Generally stable. Set language: "en" explicitly for consistent results. Large-area searches may return different results depending on zoom level - use specific location queries over broad city names.
Amazon/E-commerce: Heavy anti-bot. The apify/e-commerce-scraping-tool handles this via built-in proxy rotation. Raw HTTP requests will fail.
Requirements and compatibility
Written for: Claude Code
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Names Claude Code tools, Needs Node.js
Security
What our scanner noticed· Low risk
- Instructions that use the network
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Apify
- Publisher
- Apify (Official)
- Source
- apify/agent-skills · skills/apify-ultimate-scraper · commit f22557f
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (written by AutoGineer)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Apify or Apify.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download apify-ultimate-scraper.zip