Apify is different from the scraping APIs we review. Instead of one endpoint that fetches a page, it's a cloud platform for running programs it calls Actors. Some are ready-made scrapers from Apify Store, built by Apify or by community developers who earn from them. Others are your own code, deployed to Apify and run with its storage, scheduling, proxies and API.
That makes it a different choice from single-endpoint APIs such as ScraperAPI or ScrapingBee. With those, you write the scraper and the API fetches pages. With Apify, you can often skip writing the scraper at all.
How Apify Works
- Apify Store. A marketplace of thousands of Actors for particular sites and jobs: search results, social networks, maps, e-commerce and general website crawling. You give an Actor its input, such as search terms or URLs, and it returns a dataset you can download as JSON, CSV, Excel, XML or HTML.
- Your own Actors. You can deploy your own scrapers, written with Apify's SDK or with Crawlee, and Apify runs them on its cloud. Apify publishes code templates on GitHub to start from.
- Platform services. Runs get storage for results, schedules to start them automatically, proxies, and a REST API with official JavaScript and Python clients.
Two Store Examples
Apify's own Actors show the two main pricing models:
| Actor | Pricing model | Price, per its Store page | Output |
|---|---|---|---|
| Google Search Results Scraper | Pay per event | From $1.80 per 1,000 result pages, platform usage included | One record per results page |
| Website Content Crawler | Pay per usage | No Actor fee; Apify estimates $0.20 per 1,000 pages with a plain HTTP crawler, and about $0.50 to $5 with a headless browser | Text, Markdown or HTML for AI and LLM use |
Store pages also show usage figures and ratings. As of 31 Oct 2026, Google Search Results Scraper listed 26,095 monthly users and a 4.65/5 rating, and Website Content Crawler listed 14,074 monthly users and 4.61/5. These are Apify's figures.
If you scrape Google results through a single endpoint instead, compare Scrape.do and ScrapingBee, or see our guide to scraping Google search results.
Browse ready-made scrapers in Apify Store →
How Store Actors Are Priced
Apify's docs describe the pricing models:
- Pay per event. The developer sets a fixed price for events such as each result or each run started. Most of these Actors include platform usage in that price, but some charge it separately, so check the Actor's page. You can set a maximum charge per run, and the Actor stops when it reaches it.
- Pay per usage. The developer adds no fee. You pay only for the platform resources the run uses: compute units, storage operations and residential or SERP proxies. Apify's docs note that these costs are hard to estimate in advance and suggest testing on a small scope first.
- Pay per event plus usage. Some Actors charge both. Apify's example is Google Trends Scraper at $1 per 1,000 results plus the run's platform usage.
Pricing
| Plan | Monthly | Included usage | Per compute unit | Max RAM | Concurrent runs |
|---|---|---|---|---|---|
| Free | $0 | $5 | $0.20 | 16 GB | 5 |
| Starter | $19 | $19 | $0.20 | 64 GB | 32 |
| Scale | $199 | $199 | $0.16 | 256 GB | 128 |
| Business | $999 | $999 | $0.13 | 512 GB | 256 |
Support is community-based on Free, by chat on Starter, by priority chat on Scale, and through an account manager on Business.
A compute unit (CU) is 1 GB of RAM running for 1 hour. A scraper that runs with 4 GB of memory for 15 minutes uses 1 CU.
Included usage is prepaid credit. Each paid plan includes usage equal to its price, spent on compute, proxies, storage and pay-per-event Actors. On paid plans you can keep running past it, and the overage is billed on your next invoice, up to a limit you set (at most $100 on Starter). On the free plan, runs are blocked once the $5 is used until the next billing cycle. Unused credit doesn't roll over.
Discounts. Yearly billing saves 10%: Starter is $17 a month, Scale $179 and Business $899 when billed yearly. Apify lists a 30% Scale-plan discount for startups, 50% off paid plans for universities, and discounts for nonprofits.
Proxies
| Free and Starter | Scale | Business | |
|---|---|---|---|
| Residential | $8/GB | $7.50/GB | $7/GB |
| Datacenter IPs included | 5 (Free), 30 (Starter) | 200 | 500 |
| Extra datacenter IPs | $1/IP | $0.80/IP | $0.60/IP |
| Google SERP proxy | $2.50 per 1,000 | $2 per 1,000 | $1.70 per 1,000 |
Apify's proxies are for runs on its platform. If you mainly need residential IPs for your own scrapers, dedicated providers such as IPRoyal, DataImpulse and Webshare publish lower per-GB prices.
Quick Start
Apify's official clients wrap its REST API. These examples run Website Content Crawler on one page and print each result's URL and the start of its Markdown. Create an API token in the Apify Console and set it as the APIFY_TOKEN environment variable first. Runs spend your plan's usage credit.
JavaScript (npm i apify-client):
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
// Start the Actor and wait for the run to finish
const run = await client.actor('apify/website-content-crawler').call({
startUrls: [{ url: 'https://docs.apify.com/academy/scraping-basics-javascript' }],
maxCrawlPages: 1,
});
// Fetch the results from the run's default dataset
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) console.log(item.url, item.markdown.slice(0, 200));
Save it as an .mjs file, since it uses import and top-level await.
Python (pip install apify-client, Python 3.11 or later):
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
# Start the Actor and wait for the run to finish
run = client.actor("apify/website-content-crawler").call(
run_input={
"startUrls": [{"url": "https://docs.apify.com/academy/scraping-basics-javascript"}],
"maxCrawlPages": 1,
}
)
if run is None:
raise RuntimeError("The Actor run could not be started")
# Fetch the results from the run's default dataset
for item in client.dataset(run.default_dataset_id).list_items().items:
print(item["url"], item["markdown"][:200])
Both examples follow Apify's JavaScript and Python client docs, checked against apify-client 2.25.0 (JavaScript) and 3.4.0 (Python), and the Actor's published input schema. We haven't run them against a live account.
Crawlee: The Open-Source Library
Crawlee is Apify's open-source crawling library, licensed under Apache 2.0, with versions for JavaScript and TypeScript and for Python. Per its GitHub repositories, the JavaScript version works with Puppeteer, Playwright, Cheerio, JSDOM and raw HTTP, and the Python version with Parsel, BeautifulSoup, Playwright and raw HTTP. Both handle proxy rotation.
You don't need an Apify account to use Crawlee. You can run Crawlee scrapers on your own servers and deploy them to Apify when you want its hosting. Our guides to web scraping with Node.js and Playwright in Python cover the libraries Crawlee builds on.
Apify for AI
Apify runs a hosted MCP server at mcp.apify.com that lets AI assistants such as Claude, ChatGPT and Cursor search for and run Actors. Website Content Crawler outputs Markdown for language models and lists integrations with LangChain, LlamaIndex, Haystack, Pinecone and Qdrant. See MCP servers for web scraping for how other providers' MCP servers compare.
Apify's Own Claims
Apify describes itself as the world's largest platform for web data and tools for AI builders, and says it can extract data reliably even from sites with advanced anti-scraping protection. These are Apify's claims, and we haven't measured them. Because Store Actors are built and maintained by different developers, results depend on the Actor you pick. Check its rating, usage figures and run success rate on the Store page, and use the free plan to try it on your own targets.
Who It's For
Apify fits teams who'd rather run a ready-made scraper than build one, especially for popular sites where a well-used Actor already exists. It also suits developers who want to host their own crawlers with storage, scheduling and an API, without running servers, and AI builders who want web content as Markdown or through MCP.
It's a weaker fit if you want one scraping endpoint with a flat price per request, or a bill you can predict exactly before running anything. For that, see our ScrapingBee review, ScraperAPI review and ZenRows review. Non-developers comparing point-and-click options can start with our guide to no-code web scraping. For a head-to-head with a single-endpoint API, see Apify vs ScrapingBee.
Our Score: 4.6/5
This score is based on Apify's published pricing, Store listings and documentation, not on hands-on testing. Against the criteria on our how we test page:
- Breadth: strong. Ready-made scrapers for thousands of sites and jobs, hosting for your own code, proxies, storage, scheduling, an API and an MCP server, in one account.
- Developer experience: strong on paper. Official JavaScript and Python clients, code templates, and Crawlee, an open-source library you can use without Apify. The quick start examples are checked against the client docs, not run. We haven't tried the setup ourselves.
- Transparency: good. Plan prices, compute and proxy rates are published, and each Store Actor shows its price. Costs for pay-per-usage Actors are still hard to predict before a run.
- Value: good. A free plan with $5 of monthly usage, and per-result prices on many Actors. Residential proxies at $7 to $8 per GB cost more than budget providers.
- Effectiveness and support: not assessed. We haven't run Apify against real targets or contacted its support, so these don't raise or lower the score.
It ranks second in our scraping API rankings, after Bright Data (4.7) and ahead of Oxylabs (4.5).
FAQ
Is Apify free?
Apify has a free plan that includes $5 of platform usage a month, with no credit card required. When that credit runs out, runs are blocked until the next billing cycle. Paid plans start at $19 a month.
How does Apify pricing work?
Each plan includes prepaid usage credit equal to its price: $19 on Starter, $199 on Scale and $999 on Business. Runs spend that credit on compute units (1 GB of RAM for 1 hour, $0.13 to $0.20 depending on plan), proxies and storage, or on per-result prices set by the Actor's developer.
What is an Apify Actor?
An Actor is a program that runs on Apify's cloud, usually a scraper or automation tool. Apify Store lists thousands of them, built by Apify and by community developers, and you can deploy your own.
Is Crawlee the same as Apify?
No. Crawlee is Apify's open-source crawling library for JavaScript, TypeScript and Python, licensed under Apache 2.0. You can run Crawlee scrapers anywhere, and Apify is one place to deploy them.