Generated banner for Apify Ultimate Scraper
Generated logo for Apify Ultimate Scraper

Apify Ultimate Scraper

ApifyOfficialPublished by Apify

  • Skill
  • Tool integration
  • Automation and integrations
  • Apache-2.0
  • Low risk

From the author

Universal AI-powered web scraper for any platform. Scrape data from Instagram, Facebook, TikTok, YouTube, LinkedIn, X/Twitter, Google Maps, Google Search, Google Trends, Reddit, Airbnb, Yelp, and 15+ more platforms. Use for lead generation, brand monitoring, competitor analysis, influencer discovery, trend research, content analytics, audience analysis, review analysis, SEO intelligence, recruitment, or any data extraction task.
— the description by Apify

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

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/apify/apify-ultimate-scraper/download
  2. Unzip 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:

  1. Pass --json for machine-readable output (stable across CLI versions).

  2. Pass --user-agent apify-agent-skills/apify-ultimate-scraper for telemetry attribution.

  3. 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:

  1. OAuth (interactive): apify login (opens browser)

  2. Environment variable: export APIFY_TOKEN=your_token_here

  3. From .env file: source .env (if the file contains APIFY_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, B2Breferences/workflows/lead-generation.md
competitor, ads, pricingreferences/workflows/competitive-intel.md
influencer, creatorreferences/workflows/influencer-vetting.md
brand, mentions, sentimentreferences/workflows/brand-monitoring.md
reviews, ratings, reputationreferences/workflows/review-analysis.md
SEO, SERP, crawl, content, RAGreferences/workflows/content-and-seo.md
analytics, engagement, performancereferences/workflows/social-media-analytics.md
trends, keywords, hashtagsreferences/workflows/trend-research.md
jobs, recruiting, candidatesreferences/workflows/job-market-and-recruitment.md
real estate, listings, hotelsreferences/workflows/real-estate-and-hospitality.md
price monitoring, e-commerce, productsreferences/workflows/ecommerce-price-monitoring.md
contact enrichment, email extractionreferences/workflows/contact-enrichment.md
knowledge base, RAG, LLM data feedreferences/workflows/knowledge-base-and-rag.md
company research, due diligencereferences/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/null

From 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/null

Also 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/null

Prefer --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 json

For 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/null

Poll: 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_ID

  • Run: 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

references/workflows/content-and-seo.md

Content and SEO workflows

Website content extraction for RAG

When: User wants to crawl a website and extract clean text for AI/LLM pipelines or knowledge bases.

Pipeline
  1. Crawl website -> apify/website-content-crawler

    • Key input: startUrls, maxCrawlPages, crawlerType ("cheerio" for speed, "playwright" for JS sites)

Output fields

Step 1: url, title, text, markdown, metadata, links[]

Gotcha

For JS-heavy sites (SPAs), set crawlerType: "playwright". For static sites, use "cheerio" (10x faster). For anti-bot sites, use apify/camoufox-scraper instead.

SERP-based SEO content brief generation

When: User wants to generate a content brief for a target keyword by analyzing competitor SERP results and heading structures.

Pipeline
  1. SERP scrape -> apify/google-search-scraper

    • Key input: queries, countryCode, maxResultsPerPage

  2. Extract heading structure -> apify/cheerio-scraper

    • Pipe: results[].organicResults[].url -> startUrls (filter non-article URLs first)

    • Key input: startUrls, pageFunction (extract h1/h2/h3 nodes)

Output fields

Step 1: organicResults[].url, organicResults[].title, organicResults[].snippet Step 2: heading structure (h1/h2/h3 text), word count per page

Gotcha

Use apify/cheerio-scraper for heading extraction - it's 10x faster than website-content-crawler for HTML-only pages. Only escalate to website-content-crawler when you need full body text for AI synthesis.

Sitemap content audit

When: User wants to crawl all URLs on a competitor's site from the sitemap and build a keyword and topic inventory.

Pipeline
  1. Extract sitemap URLs -> apify/sitemap-extractor

    • Key input: startUrls (sitemap.xml URL)

  2. Crawl each URL -> apify/website-content-crawler

    • Pipe: results[].urls[] -> startUrls

    • Key input: startUrls, maxCrawlPages, htmlTransformer (readableText)

Output fields

Step 1: urls[] (all discovered page URLs) Step 2: text, metadata, url

Gotcha

Large sitemaps (1,000+ URLs) can be expensive. Filter step 1 results to a specific path prefix (e.g., /blog/) before passing to step 2 to avoid crawling low-value pages like tag archives and pagination.

Keyword rank tracking with alerts

When: User wants weekly tracking of keyword positions for own domain and competitors, with Slack alerts on drops over 5 positions.

Pipeline
  1. SERP scrape -> apify/google-search-scraper

    • Key input: queries (tracked keywords array), countryCode, device (desktop/mobile), maxResultsPerPage (set to 100)

Output fields

Step 1: organicResults[].position, organicResults[].url, organicResults[].domain

Cost estimate

apify/google-search-scraper is a fixed-cost Actor. 100 keywords weekly ≈ $1-3/month depending on query volume.

Gotcha

Set maxResultsPerPage: 100 to capture positions 11-100. Default is 10 results, which misses any keyword ranking outside page 1 - making it impossible to detect rank drops from position 12 to 18.

SERP analysis

When: User wants to analyze search engine results for specific keywords.

Pipeline
  1. Google SERP -> apify/google-search-scraper

    • Key input: queries, maxPagesPerQuery, countryCode, languageCode

Output fields

Step 1: organicResults[] (title, url, description, position), paidResults[], peopleAlsoAsk[], relatedSearches[]

Deep research agent

When: User wants an AI agent that takes a research question, generates search queries, crawls top results, and synthesizes findings into a structured report.

Pipeline
  1. Generate search queries (LLM node - 3 queries per research question)

  2. SERP scrape -> apify/google-search-scraper

    • Pipe: generated queries -> queries

    • Key input: queries, maxResultsPerPage

  3. Extract content -> apify/rag-web-browser

    • Pipe: results[].organicResults[].url (AI-selected relevant URLs) -> query

    • Key input: query, maxResults, requestTimeoutSecs

  4. Synthesize (LLM node - final report generation)

Output fields

Step 2: organicResults[].url, organicResults[].snippet Step 3: text, url, metadata.title

Gotcha

Use apify/rag-web-browser at step 3 rather than website-content-crawler - it's optimized for agent-based single-URL retrieval and returns clean markdown with lower latency. Reserve website-content-crawler for bulk batch crawls.

When: User wants SEO metrics for specific domains.

Pipeline
  1. Traffic overview -> radeance/similarweb-scraper

    • Key input: urls

  2. Backlink profile -> radeance/ahrefs-scraper

    • Key input: urls

  3. Domain authority -> radeance/semrush-scraper

    • Key input: urls

Output fields

Step 1: globalRank, monthlyVisits, bounceRate, trafficSources Step 2: domainRating, backlinks, referringDomains, organicKeywords Step 3: authorityScore, organicSearchTraffic, paidSearchTraffic

Cost estimate

All radeance/ SEO Actors are PPE at $0.005-0.0275/result. Running all 3 for one domain costs ~$0.05-0.08. For 50 domains, estimate $2.50-$4.00.

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.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download apify-ultimate-scraper.zip