# Apify Documentation > Apify is the largest marketplace of tools for AI. Thousands of ready-made Actors to automate your business. Get real-time web data, track competitors, generate leads, analyze sentiment, and orchestrate your apps. Actors are created by a global community of builders earning over $1M every month. Apify takes care of infrastructure, billing, and distribution. The entire content of Apify documentation is available in a single Markdown file at https://docs.apify.com/llms-full.txt For pricing details, see https://apify.com/pricing.md ## Platform documentation - [Apify platform documentation](https://pr-2561.preview.docs.apify.com/platform.md): Apify is a cloud platform for web scraping, data extraction, and automation. Run pre-built Actors or develop your own tools on the Apify platform. - [Actors](https://pr-2561.preview.docs.apify.com/platform/actors.md): Learn how to develop, run and share serverless cloud programs. Create your own web scraping and automation tools and publish them on the Apify platform. - [Actor development](https://pr-2561.preview.docs.apify.com/platform/actors/development.md): Read about the technical part of building Apify Actors. Learn to define Actor inputs, build new versions, persist Actor state, and choose base Docker images. - [Actor definition](https://pr-2561.preview.docs.apify.com/platform/actors/development/actor-definition.md): Learn how to define an Actor by adding a .actor directory with actor.json, a Dockerfile, README, and input schema files to your source code. - [Actor definition file (actor.json)](https://pr-2561.preview.docs.apify.com/platform/actors/development/actor-definition/actor-json.md): Configure your Actor using the .actor/actor.json file to define its name, version number, build tag, and links to input and output schema files. - [Dataset schema specification](https://pr-2561.preview.docs.apify.com/platform/actors/development/actor-definition/dataset-schema.md): Define a dataset schema to control how your Actor output data is structured, validated, and displayed in Apify Console UI and API responses. - [Multiple datasets](https://pr-2561.preview.docs.apify.com/platform/actors/development/actor-definition/dataset-schema/multiple-datasets.md): Learn how to use multiple datasets within your Actors to organize and store different types of data separately. - [Dataset validation](https://pr-2561.preview.docs.apify.com/platform/actors/development/actor-definition/dataset-schema/validation.md): Specify the dataset schema within your Actors to add monitoring and validation at the field level, ensuring data quality and consistency across runs. - [Dockerfile](https://pr-2561.preview.docs.apify.com/platform/actors/development/actor-definition/dockerfile.md): Learn about Docker base images for Apify Actors and how to choose the right image based on your Actor's requirements and programming language. - [Dynamic Actor memory](https://pr-2561.preview.docs.apify.com/platform/actors/development/actor-definition/dynamic-actor-memory.md): Automatically adjust your Actor memory allocation based on input size and run options to optimize performance and reduce costs on every run. - [Actor input schema](https://pr-2561.preview.docs.apify.com/platform/actors/development/actor-definition/input-schema.md): Learn how to define and validate a schema for your Actor's input with code examples. Provide an autogenerated input UI for your Actor's users. - [Custom error messages](https://pr-2561.preview.docs.apify.com/platform/actors/development/actor-definition/input-schema/custom-error-messages.md): Learn how to define custom error messages for input validation in your Actor's input schema. Make validation feedback clearer and more user-friendly. - [Secret input](https://pr-2561.preview.docs.apify.com/platform/actors/development/actor-definition/input-schema/secret-input.md): Mark Actor input fields as secret so their values are encrypted at rest and only decrypted inside the Actor run, protecting passwords and API tokens. - [Actor input schema specification](https://pr-2561.preview.docs.apify.com/platform/actors/development/actor-definition/input-schema/specification/v1.md): Learn how to define and validate a schema for your Actor's input with code examples. Provide an autogenerated input UI for your Actor's users. - [Key-value store schema specification](https://pr-2561.preview.docs.apify.com/platform/actors/development/actor-definition/key-value-store-schema.md): Define a key-value store schema to organize records into named collections with content type validation, making Actor output easier to navigate and browse. - [Actor output schema](https://pr-2561.preview.docs.apify.com/platform/actors/development/actor-definition/output-schema.md): Define an output schema to specify where your Actor stores its results and how Apify Console and the Actor run API endpoint display them to users. - [Source code](https://pr-2561.preview.docs.apify.com/platform/actors/development/actor-definition/source-code.md): Learn how to organize and structure your Actor source code, including directory placement conventions, programming language choice, and Dockerfile setup. - [Web server schema](https://pr-2561.preview.docs.apify.com/platform/actors/development/actor-definition/web-server-schema.md): Attach an OpenAPI specification to your Actor to enable the interactive Standby tab in Apify Console and Apify Store, where you can browse and test endpoints. - [Automated tests for Actors](https://pr-2561.preview.docs.apify.com/platform/actors/development/automated-tests.md): Learn how to automate ongoing testing and make sure your Actors perform over time. See code examples for configuring the Actor Testing Actor. - [Builds and runs](https://pr-2561.preview.docs.apify.com/platform/actors/development/builds-and-runs.md): Learn about Actor builds and runs, including how Docker images are created, how runs are executed, and their lifecycle on the Apify platform. - [Builds](https://pr-2561.preview.docs.apify.com/platform/actors/development/builds-and-runs/builds.md): Learn about Actor build numbers, versioning, and how to use specific Actor version in runs. Understand an Actor's lifecycle and manage its cache. - [Runs](https://pr-2561.preview.docs.apify.com/platform/actors/development/builds-and-runs/runs.md): Learn about Actor runs, how to start them via the console, API, or scheduler, and how to configure input, timeouts, and manage their lifecycle. - [State persistence](https://pr-2561.preview.docs.apify.com/platform/actors/development/builds-and-runs/state-persistence.md): Learn how to maintain an Actor's state to prevent data loss during unexpected restarts. Includes code examples for handling server migrations. - [Deployment](https://pr-2561.preview.docs.apify.com/platform/actors/development/deployment.md): Learn how to deploy your Actor to the Apify platform using the Apify CLI or the console, and how to trigger new builds from a Git repository. - [Continuous integration for Actors](https://pr-2561.preview.docs.apify.com/platform/actors/development/deployment/continuous-integration.md): Set up automated builds, deploys, and tests for your Actors using GitHub Actions, Bitbucket Pipelines, webhooks, or direct calls to the Apify API. - [Source types](https://pr-2561.preview.docs.apify.com/platform/actors/development/deployment/source-types.md): Learn about Actor source types - Web IDE, Git repository, Zip file, and GitHub Gist - and how to configure each one as your deployment method. - [Performance](https://pr-2561.preview.docs.apify.com/platform/actors/development/performance.md): Learn how to maximize Actor performance by running batch jobs, leveraging Docker layer caching, and optimizing resource usage to reduce costs. - [Permissions](https://pr-2561.preview.docs.apify.com/platform/actors/development/permissions.md): Learn how to declare and manage permissions for your Actor, what access levels mean, and how to build secure, trusted Actors for Apify users. - [Migration guide](https://pr-2561.preview.docs.apify.com/platform/actors/development/permissions/migration-guide.md): Migrate your Actor to limited permissions using the latest Apify SDK, with step-by-step migration paths, code examples, and fixes for common issues. - [Programming interface](https://pr-2561.preview.docs.apify.com/platform/actors/development/programming-interface.md): Learn about the programming interface of Apify Actors, important commands and features provided by the Apify SDK, and how to use them in your Actors. - [Basic commands](https://pr-2561.preview.docs.apify.com/platform/actors/development/programming-interface/basic-commands.md): Use the core Apify SDK commands in JavaScript and Python to initialize your Actor, read and write storage, and exit cleanly after execution. - [Container web server](https://pr-2561.preview.docs.apify.com/platform/actors/development/programming-interface/container-web-server.md): Run a web server inside your Actor to expose a unique URL for external HTTP access, enabling both UI interaction and programmatic API calls. - [Actor environment variables](https://pr-2561.preview.docs.apify.com/platform/actors/development/programming-interface/environment-variables.md): Learn how to provide your Actor with context that determines its behavior through a plethora of pre-defined environment variables offered by the Apify SDK. - [Metamorph](https://pr-2561.preview.docs.apify.com/platform/actors/development/programming-interface/metamorph.md): Use metamorph to transform an Actor run into another Actor with new input, preserving default storages and enabling seamless Actor chaining. - [Standby mode](https://pr-2561.preview.docs.apify.com/platform/actors/development/programming-interface/standby.md): Develop Actors that run a persistent HTTP server in Standby mode, enabling fast real-time API responses without restarting the Actor each time. - [Status messages](https://pr-2561.preview.docs.apify.com/platform/actors/development/programming-interface/status-messages.md): Learn how to set custom status messages in your Actor to clearly inform users about its current progress and activity during an ongoing run. - [System events in Apify Actors](https://pr-2561.preview.docs.apify.com/platform/actors/development/programming-interface/system-events.md): Learn how the Apify platform notifies Actors about system events such as migration, abort, and CPU overload, and how to handle them in your code. - [Actor development quick start](https://pr-2561.preview.docs.apify.com/platform/actors/development/quick-start.md): Create your first Apify Actor using the web IDE in Apify Console or locally with the Apify CLI, then choose from a library of ready-made code templates. - [Build Actors with AI](https://pr-2561.preview.docs.apify.com/platform/actors/development/quick-start/build-with-ai.md): Build new Actors or improve existing ones using AI coding tools by providing the right context, prompts, Agent Skills, and the Apify MCP server. - [Develop AI agents on Apify](https://pr-2561.preview.docs.apify.com/platform/actors/development/quick-start/develop-ai-agents.md): Build and deploy AI agents on Apify with framework templates, sandboxes, OpenRouter for LLM access, and pay-per-event pricing. - [Local Actor development](https://pr-2561.preview.docs.apify.com/platform/actors/development/quick-start/locally.md): Create your first Actor locally using the Apify CLI, configure its input and storage, then deploy it to the Apify platform to run in the cloud. - [Web IDE](https://pr-2561.preview.docs.apify.com/platform/actors/development/quick-start/web-ide.md): Create and run your first Actor using the web IDE in Apify Console, from writing your first lines of code to deploying it live in the cloud. - [Publishing and monetization](https://pr-2561.preview.docs.apify.com/platform/actors/publishing.md): Learn the stages involved in publishing and monetizing Actors on the Apify platform, from development and testing to promotion in Apify Store. - [Monetize your Actor](https://pr-2561.preview.docs.apify.com/platform/actors/publishing/monetize.md): Monetize your Actors on Apify Store by choosing a pricing model such as pay per event or a flat monthly rental fee for users. - [Pay per event](https://pr-2561.preview.docs.apify.com/platform/actors/publishing/monetize/pay-per-event.md): Learn how to monetize your Actor with pay-per-event (PPE) pricing, charging users for specific actions like Actor starts, dataset items, or API calls. - [Pricing and costs](https://pr-2561.preview.docs.apify.com/platform/actors/publishing/monetize/pricing-and-costs.md): Learn how to set Actor pricing and calculate your costs, including platform usage rates, discount tiers, and profit formulas for the PPE model. - [Rental pricing model](https://pr-2561.preview.docs.apify.com/platform/actors/publishing/monetize/rental.md): Learn how to monetize your Actor with the rental pricing model, offering a free trial and a flat monthly fee, and understand how profit is calculated. - [Publish your Actor](https://pr-2561.preview.docs.apify.com/platform/actors/publishing/publish.md): Prepare your Actor for Apify Store by completing the description, README, and display fields, then publish it to make it available to the public. - [Actor quality score](https://pr-2561.preview.docs.apify.com/platform/actors/publishing/quality-score.md): The Actor quality score reflects reliability, ease of use, and popularity on a scale of 0 to 100, and directly influences your visibility in Apify Store. - [Actor status badge](https://pr-2561.preview.docs.apify.com/platform/actors/publishing/status-badge.md): Learn how to use the Actor status badge to show users the current status and usage information of your Actor on the Apify platform. - [Automated testing](https://pr-2561.preview.docs.apify.com/platform/actors/publishing/test.md): Learn how the Apify QA system tests Actors, what causes an Actor to be flagged as under maintenance or deprecated, and how to restore a healthy status. - [Running Actors](https://pr-2561.preview.docs.apify.com/platform/actors/running.md): Start an Actor from Apify Console or via API. Learn about Actor lifecycles, how to specify settings and version, provide input, and resurrect finished runs. - [Actors in Store](https://pr-2561.preview.docs.apify.com/platform/actors/running/actors-in-store.md): Browse Apify Store to discover thousands of public Actors, understand their pricing models, and choose the right one for your automation needs. - [Input and output](https://pr-2561.preview.docs.apify.com/platform/actors/running/input-and-output.md): Configure your Actor's input parameters using Apify Console, locally or via API. Access parameters in key-value stores from your Actor's code. - [Permissions](https://pr-2561.preview.docs.apify.com/platform/actors/running/permissions.md): Learn how Actor permissions work for running and building Actors: available permission levels, requesting and granting permissions, and security best practices. - [Runs and builds](https://pr-2561.preview.docs.apify.com/platform/actors/running/runs-and-builds.md): Learn about Actor builds and runs, including their lifecycle, version tagging, storage assignment, sharing options, and data retention policy. - [Standby mode](https://pr-2561.preview.docs.apify.com/platform/actors/running/standby.md): Use Actor Standby mode to keep an Actor ready in the background and serve real-time HTTP requests without waiting for a cold start each time. - [Actor tasks](https://pr-2561.preview.docs.apify.com/platform/actors/running/tasks.md): Create and save reusable configurations of Apify Actors for specific use cases, then run them on a schedule, via the API, or from the console. - [Usage and resources](https://pr-2561.preview.docs.apify.com/platform/actors/running/usage-and-resources.md): Learn about memory and processing power requirements for Apify Actors, their relationship with Docker resources, and how resource allocation affects cost. - [Collaboration](https://pr-2561.preview.docs.apify.com/platform/collaboration.md): Learn how to collaborate with other users and manage permissions for organizations or private resources such as Actors, Actor runs, and storages. - [Access rights](https://pr-2561.preview.docs.apify.com/platform/collaboration/access-rights.md): Manage permissions for your private resources such as Actors, Actor runs, and storages. Allow other users to read, run, modify, or build new versions. - [General resource access](https://pr-2561.preview.docs.apify.com/platform/collaboration/general-resource-access.md): Control how Apify resources are shared. Set default access to open ID-based access or restricted, and manage link sharing and pre-signed URLs. - [List of permissions](https://pr-2561.preview.docs.apify.com/platform/collaboration/list-of-permissions.md): Learn about the access rights you can grant to other users. See a list of all access options for Apify resources such as Actors, Actor runs/tasks and storage. - [Organization account](https://pr-2561.preview.docs.apify.com/platform/collaboration/organization-account.md): Create a specialized account for your organization to encourage collaboration and manage permissions. Convert an existing account, or create one from scratch. - [Using the organization account](https://pr-2561.preview.docs.apify.com/platform/collaboration/organization-account/how-to-use.md): Learn to use and manage your organization account using Apify Console or the Apify API. View the organizations you are in and manage your memberships. - [Setup](https://pr-2561.preview.docs.apify.com/platform/collaboration/organization-account/setup.md): Configure your organization account by inviting new members and assigning their roles. Manage team members' access permissions to the organization's resources. - [Apify Console](https://pr-2561.preview.docs.apify.com/platform/console.md): Get started with Apify Console: create an account, sign in with email, Google, or GitHub, and manage your web scraping projects from one place. - [Billing](https://pr-2561.preview.docs.apify.com/platform/console/billing.md): View invoices, track current billing cycle usage, manage subscriptions and limits, and review historical usage from the Billings page in Console. - [Account settings](https://pr-2561.preview.docs.apify.com/platform/console/settings.md): Learn how to manage your Apify account, configure integrations, create and manage organizations, and set notification preferences in the Settings tab. - [Apify Store](https://pr-2561.preview.docs.apify.com/platform/console/store.md): Browse thousands of pre-built Actors in Apify Store, filter by category or pricing, and run them immediately or save settings for later use. - [Two-factor authentication setup](https://pr-2561.preview.docs.apify.com/platform/console/two-factor-authentication.md): Enable two-factor authentication on your Apify Console account using an authenticator app to add a second layer of security against unauthorized access. - [Integrations](https://pr-2561.preview.docs.apify.com/platform/integrations.md): Connect the Apify platform to external services, data pipelines, and automation workflows using APIs, webhooks, and third-party integrations. - [Activepieces integration](https://pr-2561.preview.docs.apify.com/platform/integrations/activepieces.md): Connect Apify Actors with Activepieces to build automated flows that trigger on run events, retrieve data from storage, and start Actors from any trigger. - [What are Actor integrations?](https://pr-2561.preview.docs.apify.com/platform/integrations/actors.md): Learn how to connect Actors together and trigger tasks from other Actors, enabling you to build automated multi-step workflows on the Apify platform. - [Integrating Actors via API](https://pr-2561.preview.docs.apify.com/platform/integrations/actors/integrating-actors-via-api.md): Use the Apify API to integrate Actors and tasks together using webhooks. Configure the required fields to display integrations in Apify Console. - [Creating integration Actors](https://pr-2561.preview.docs.apify.com/platform/integrations/actors/integration-ready-actors.md): Build Actors designed to work as integrations with other Actors and tasks. Handle dynamic input, payload fields, and large datasets efficiently. - [Apify for AI agents](https://pr-2561.preview.docs.apify.com/platform/integrations/agent-onboarding.md): Connect your AI agent to the Apify platform - scrape the web, run Actors, and retrieve structured data via MCP, Agent Skills, client libraries, or the REST API. - [Agno Integration](https://pr-2561.preview.docs.apify.com/platform/integrations/agno.md): Learn how to integrate Apify with Agno to power your AI agents with real-time web scraping and automation tools available in Apify Store. - [Airbyte integration](https://pr-2561.preview.docs.apify.com/platform/integrations/airbyte.md): Use the Airbyte Apify Dataset connector to move data from Apify datasets to any Airbyte-supported destination using pre-built open-source connectors. - [Airtable integration](https://pr-2561.preview.docs.apify.com/platform/integrations/airtable.md): Connect Apify with Airtable to automatically upload Actor run results to your base. Use the Apify extension on Airtable or the Console integration. - [Airtable integration on Apify Console](https://pr-2561.preview.docs.apify.com/platform/integrations/airtable/console.md): Set up the Airtable integration in Apify Console to automatically upload Actor run results to your Airtable base after each successful Actor run. - [API integration](https://pr-2561.preview.docs.apify.com/platform/integrations/api.md): Use the Apify REST API to control all platform features from your code. Authenticate with an API token and use official JavaScript or Python clients. - [Amazon Bedrock integrations](https://pr-2561.preview.docs.apify.com/platform/integrations/aws_bedrock.md): Learn how to integrate Apify with Amazon Bedrock Agents to supply your AI agents with real-time web data using the RAG Web Browser Actor easily. - [Bubble integration](https://pr-2561.preview.docs.apify.com/platform/integrations/bubble.md): Connect Apify Actors to your Bubble application using the Apify plugin to run web scraping jobs and display extracted data in your no-code app. - [ChatGPT integration](https://pr-2561.preview.docs.apify.com/platform/integrations/chatgpt.md): Learn how to connect ChatGPT to the Apify MCP server to give your conversations access to real-time web data and Actor-powered automation tasks. - [Claude Desktop integration](https://pr-2561.preview.docs.apify.com/platform/integrations/claude-desktop.md): Learn how to set up the Apify MCP server in Claude Desktop using the remote server or one-click connector install, and troubleshoot common issues. - [🤖🚀 CrewAI integration](https://pr-2561.preview.docs.apify.com/platform/integrations/crewai.md): Learn how to integrate Apify Actors with CrewAI to equip multi-agent AI crews with real-time web scraping and data extraction capabilities now. - [Dify integration](https://pr-2561.preview.docs.apify.com/platform/integrations/dify.md): Connect Apify with Dify to automate workflows by running Actors, extracting data, and responding to Apify events. - [Google Drive integration](https://pr-2561.preview.docs.apify.com/platform/integrations/drive.md): Automatically save Apify Actor run results to Google Drive. Set up the integration on your task to upload files to your Drive after each successful run. - [Flowise integration](https://pr-2561.preview.docs.apify.com/platform/integrations/flowise.md): Learn how to integrate Apify with Flowise to use Actors as data sources in customized LLM flows built with the open-source Flowise visual tool. - [GitHub integration](https://pr-2561.preview.docs.apify.com/platform/integrations/github.md): Learn how to integrate your Apify Actors with GitHub. This article shows you how to automatically create an issue in your repo when an Actor run fails. - [Gmail integration](https://pr-2561.preview.docs.apify.com/platform/integrations/gmail.md): Learn how to integrate Apify Actors with Gmail to send automated email notifications with Actor run results to any Gmail address you choose. - [Google ADK integration](https://pr-2561.preview.docs.apify.com/platform/integrations/google-adk.md): Learn how to integrate Apify Actors as tools for AI agents built with Google Agent Development Kit to access real-time web scraping data and automation. - [Gumloop integration](https://pr-2561.preview.docs.apify.com/platform/integrations/gumloop.md): Connect Apify Actors to Gumloop to retrieve data for AI-powered workflows using native MCP nodes for Instagram, Google Maps, TikTok, and YouTube. - [Gumloop - Instagram Actor integration](https://pr-2561.preview.docs.apify.com/platform/integrations/gumloop/instagram.md): Use the Gumloop Instagram node powered by Apify to extract posts, comments, reels, stories, and profile data without managing API tokens or tasks. - [Gumloop - Google maps Actor integration](https://pr-2561.preview.docs.apify.com/platform/integrations/gumloop/maps.md): Use the Gumloop Google Maps node powered by Apify to search places, get reviews, and extract business details without managing API keys or tasks. - [Gumloop - TikTok Actor integration](https://pr-2561.preview.docs.apify.com/platform/integrations/gumloop/tiktok.md): Use the Gumloop TikTok node powered by Apify to extract videos, profile data, followers, and search results without managing API tokens or tasks. - [Gumloop - YouTube Actor integration](https://pr-2561.preview.docs.apify.com/platform/integrations/gumloop/youtube.md): Use the Gumloop YouTube node powered by Apify to extract video details, channel data, playlists, and search results without managing API keys or tasks. - [Haystack integration](https://pr-2561.preview.docs.apify.com/platform/integrations/haystack.md): Learn how to integrate Apify with Haystack to crawl websites, compute text embeddings, and build retrieval-augmented generation pipelines with ease. - [IFTTT integration](https://pr-2561.preview.docs.apify.com/platform/integrations/ifttt.md): Connect Apify Actors with IFTTT to build Applets that trigger on Actor run events, retrieve data from datasets, and start runs from any IFTTT trigger. - [Integrate with Apify](https://pr-2561.preview.docs.apify.com/platform/integrations/integrate.md): Partner with Apify to build general or Actor-specific integrations that bring web scraping and automation data into your platform or service. - [Keboola integration](https://pr-2561.preview.docs.apify.com/platform/integrations/keboola.md): Integrate Apify Actors with Keboola to extract data from various sources and load it into Keboola for processing, transformation, and further integration. - [Kestra integration](https://pr-2561.preview.docs.apify.com/platform/integrations/kestra.md): Connect Apify with Kestra to orchestrate workflows declaratively in YAML - run Actors, extract structured data, and react to Actor or task events. - [🦜🔗 LangChain integration](https://pr-2561.preview.docs.apify.com/platform/integrations/langchain.md): Learn how to integrate Apify with LangChain to feed vector databases and large language models with web data crawled from the web using Actors. - [Langflow integration](https://pr-2561.preview.docs.apify.com/platform/integrations/langflow.md): Learn how to integrate Apify with Langflow low-code tool to build powerful AI agents and workflows that can use any API, model, or database. - [🦜🔘➡️ LangGraph integration](https://pr-2561.preview.docs.apify.com/platform/integrations/langgraph.md): Learn how to build stateful multi-agent AI workflows with LangGraph and Apify Actors to search, extract, and analyze real-time web data at scale. - [Lindy integration](https://pr-2561.preview.docs.apify.com/platform/integrations/lindy.md): Learn how to integrate Apify with Lindy to run Actors inside AI-powered automation workflows and extract real-time web data without writing code. - [LlamaIndex integration](https://pr-2561.preview.docs.apify.com/platform/integrations/llama-index.md): Learn how to integrate Apify with LlamaIndex to feed vector databases and large language models with web data crawled from the web using Actors. - [Make integration](https://pr-2561.preview.docs.apify.com/platform/integrations/make.md): Connect Apify Actors to Make scenarios to run Actors, monitor run statuses, and receive Actor results directly inside your automated workflows. - [Make - AI crawling Actor integration](https://pr-2561.preview.docs.apify.com/platform/integrations/make/ai-crawling.md): Use Apify Scraper for AI Crawling in Make to extract clean Markdown from websites and feed AI models, RAG pipelines, or LLM frameworks at scale. - [Make - LLMs Actor integration](https://pr-2561.preview.docs.apify.com/platform/integrations/make/llm.md): Use Apify Scraper for LLMs in Make to query Google Search, scrape top results, and return clean Markdown for AI assistants and RAG pipelines. - [Manus integration](https://pr-2561.preview.docs.apify.com/platform/integrations/manus.md): Learn how to connect Manus to the Apify MCP server to give your agent sessions access to real-time web data and thousands of Actor-powered automation tools. - [Mastra MCP integration](https://pr-2561.preview.docs.apify.com/platform/integrations/mastra.md): Learn how to build AI agents with Mastra and the Apify Actors MCP server to access web scraping and automation tools from any LLM you choose. - [Apify MCP server](https://pr-2561.preview.docs.apify.com/platform/integrations/mcp.md): Learn how to use the Apify MCP server to integrate Apify's library of Actors into your AI agents or large language model-based applications. - [Milvus integration](https://pr-2561.preview.docs.apify.com/platform/integrations/milvus.md): Learn how to integrate Apify with Milvus to export Actor results and dataset items into a Milvus vector database collection for semantic search. - [n8n integration](https://pr-2561.preview.docs.apify.com/platform/integrations/n8n.md): Connect Apify with n8n to automate workflows by running Actors, extracting structured data, and reacting to Actor or task run events in real time. - [n8n - Website Content Crawler by Apify](https://pr-2561.preview.docs.apify.com/platform/integrations/n8n/website-content-crawler.md): Use the Website Content Crawler node in n8n to extract clean text and Markdown from websites and feed AI models, RAG pipelines, or LLM frameworks. - [OpenAI Agents SDK integration](https://pr-2561.preview.docs.apify.com/platform/integrations/openai-agents.md): Learn how to integrate Apify with the OpenAI Agents SDK via the Apify MCP server to give your AI agents real-time web data and Actor access. - [OpenAI Assistants integration](https://pr-2561.preview.docs.apify.com/platform/integrations/openai-assistants.md): Learn how to integrate Apify with OpenAI Assistants to provide real-time web search data and store scraped Actor results in OpenAI Vector Store. - [OpenClaw integration](https://pr-2561.preview.docs.apify.com/platform/integrations/openclaw.md): Learn how to integrate Apify with OpenClaw to give your AI agents access to web scraping, data extraction, and automation using pre-built Actors. - [Pinecone integration](https://pr-2561.preview.docs.apify.com/platform/integrations/pinecone.md): Learn how to integrate Apify with Pinecone to export Actor results and dataset items into a Pinecone vector index for AI-powered similarity search. - [Pipedream integration](https://pr-2561.preview.docs.apify.com/platform/integrations/pipedream.md): Connect Apify with Pipedream to automate workflows by running Actors, managing storage, and reacting to Actor or task run events. - [Qdrant integration](https://pr-2561.preview.docs.apify.com/platform/integrations/qdrant.md): Learn how to integrate Apify with Qdrant to export Actor results and dataset items into a Qdrant vector database collection for AI-powered search. - [Agentic payments with Skyfire](https://pr-2561.preview.docs.apify.com/platform/integrations/skyfire.md): Learn how to use agentic payments with Skyfire to enable AI agents to autonomously discover and run Apify Actors without an Apify user account. - [Slack integration](https://pr-2561.preview.docs.apify.com/platform/integrations/slack.md): Learn how to integrate your Apify Actors with Slack. This article guides you from installation through to automating your whole workflow in Slack. - [Snowflake integration](https://pr-2561.preview.docs.apify.com/platform/integrations/snowflake.md): Use the Apify Snowflake Native App to run Actors and import dataset results directly into your Snowflake tables from within the Snowflake UI. - [Telegram integration through Zapier](https://pr-2561.preview.docs.apify.com/platform/integrations/telegram.md): Learn how to integrate Apify Actors with Telegram through Zapier to automatically send Telegram messages with Actor run results and notifications. - [Upsonic integration](https://pr-2561.preview.docs.apify.com/platform/integrations/upsonic.md): Learn how to integrate Apify Actors with Upsonic to give your AI agents real-time web scraping, data extraction, and automation capabilities from the Apify Store. - [🔺 Vercel AI SDK integration](https://pr-2561.preview.docs.apify.com/platform/integrations/vercel-ai-sdk.md): Learn how to integrate Apify Actors as tools for AI agents built with Vercel AI SDK to access real-time web data in your TypeScript applications. - [viaSocket integration](https://pr-2561.preview.docs.apify.com/platform/integrations/viasocket.md): Learn how to connect Apify with viaSocket, configure triggers, authenticate with API tokens, and build automation workflows across your apps. - [Webhook integration](https://pr-2561.preview.docs.apify.com/platform/integrations/webhooks.md): Learn how to integrate multiple Apify Actors or external systems with your Actor or task run. Send alerts when your Actor run succeeds or fails. - [Webhook actions](https://pr-2561.preview.docs.apify.com/platform/integrations/webhooks/actions.md): Configure webhook actions to send HTTP POST requests when Actor or task runs complete. Use payload templates to inject dynamic run data into the request. - [Ad-hoc webhooks](https://pr-2561.preview.docs.apify.com/platform/integrations/webhooks/ad-hoc-webhooks.md): Set up one-time webhooks for Actor runs initiated through the Apify API or from the Actor's code. Trigger events when the run reaches a specific state. - [Events types for webhooks](https://pr-2561.preview.docs.apify.com/platform/integrations/webhooks/events.md): Configure which event types trigger a webhook in an Actor or task run. Trigger actions on run creation, success, failure, termination, or timeout. - [Windmill integration](https://pr-2561.preview.docs.apify.com/platform/integrations/windmill.md): Use Windmill to run Apify Actors and tasks, react to events via webhooks or polling, and move data between Apify and other services using scripts. - [Workato integration](https://pr-2561.preview.docs.apify.com/platform/integrations/workato.md): Connect Apify Actors to Workato recipes to run web scraping jobs, monitor run events, and process results in automated workflows. - [Agentic payments with x402 protocol](https://pr-2561.preview.docs.apify.com/platform/integrations/x402.md): Use the x402 protocol to enable AI agents to autonomously pay for Apify Actor runs using USDC on the Base blockchain - no Apify account required. - [Zapier integration](https://pr-2561.preview.docs.apify.com/platform/integrations/zapier.md): Connect Apify Actors to Slack, Google Sheets, Salesforce, and more with Zapier. Trigger workflows when Actor or task runs finish and retrieve results. - [Limits](https://pr-2561.preview.docs.apify.com/platform/limits.md): View default resource limits for the Apify platform, including max memory, disk size, and number of Actors and tasks per user per plan tier. - [Monitoring](https://pr-2561.preview.docs.apify.com/platform/monitoring.md): Learn how to make sure your Actors and tasks perform as expected and retrieve correct results. Get alerts when jobs or their metrics fall short. - [Proxy](https://pr-2561.preview.docs.apify.com/platform/proxy.md): Learn to anonymously access websites in scraping/automation jobs. Improve data outputs and efficiency of bots, and access websites from various geographies. - [Datacenter proxy](https://pr-2561.preview.docs.apify.com/platform/proxy/datacenter-proxy.md): Learn how to reduce blocking when web scraping using IP address rotation. See proxy parameters and learn to implement Apify Proxy in an application. - [Google SERP proxy](https://pr-2561.preview.docs.apify.com/platform/proxy/google-serp-proxy.md): Learn how to collect search results from Google Search-powered tools. Get search results from localized domains in multiple countries, e.g. the US and Germany. - [Residential proxy](https://pr-2561.preview.docs.apify.com/platform/proxy/residential-proxy.md): Achieve a higher level of anonymity using IP addresses from human users. Access a wider pool of proxies and reduce blocking by websites' anti-scraping measures. - [Proxy usage](https://pr-2561.preview.docs.apify.com/platform/proxy/usage.md): Configure Apify Proxy connections using HTTP proxy protocol. Find the correct username, password, hostname, and port parameters for your setup. - [Using your own proxies](https://pr-2561.preview.docs.apify.com/platform/proxy/using-your-own-proxies.md): Add your own proxy URLs to Actor runs in Apify Console or configure them in the Apify SDK using the proxy configuration API for JavaScript and Python. - [Schedules](https://pr-2561.preview.docs.apify.com/platform/schedules.md): Learn how to automatically start your Actor and task runs and the basics of cron expressions. Set up and manage your schedules from Apify Console or via API. - [Security](https://pr-2561.preview.docs.apify.com/platform/security.md): Learn more about Apify's security practices and data protection measures that are used to protect your Actors, their data, and the Apify platform in general. - [Storage](https://pr-2561.preview.docs.apify.com/platform/storage.md): Store anything from images and key-value pairs to structured output data. Learn how to access and manage your stored data from the Apify platform or via API. - [Dataset](https://pr-2561.preview.docs.apify.com/platform/storage/dataset.md): Store and export web scraping, crawling or data processing job results. Learn how to access and manage datasets in Apify Console or via API. - [Key-value store](https://pr-2561.preview.docs.apify.com/platform/storage/key-value-store.md): Store anything from Actor or task run results, JSON documents, or images. Learn how to access and manage key-value stores from Apify Console or via API. - [Request queue](https://pr-2561.preview.docs.apify.com/platform/storage/request-queue.md): Queue URLs for an Actor to visit in its run. Learn how to share your queues between Actor runs. Access and manage request queues from Apify Console or via API. - [Storage usage](https://pr-2561.preview.docs.apify.com/platform/storage/usage.md): Learn how to use Apify storage options: datasets, key-value stores, and request queues. Covers data retention, rate limiting, and secure sharing. ## Apify API - [Apify API documentation](https://pr-2561.preview.docs.apify.com/api.md) - [Apify API](https://pr-2561.preview.docs.apify.com/api/v2.md): The Apify API (version 2) provides programmatic access to the [Apify - [Actor builds - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/actor-builds.md): Actor builds - Introduction - [Actor runs - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/actor-runs.md): Actor runs - Introduction - [Actor tasks - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/actor-tasks.md): Actor tasks - Introduction - [Actors - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/actors.md): Actors - Introduction - [Actor builds - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/actors-actor-builds.md): Actor builds - Introduction - [Actor runs - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/actors-actor-runs.md): Actor runs - Introduction - [Actor versions - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/actors-actor-versions.md): Actor versions - Introduction - [Webhook collection - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/actors-webhook-collection.md): Webhook collection - Introduction - [Default dataset - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/default-dataset.md): Default dataset - Introduction - [Default key-value store - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/default-key-value-store.md): Default key-value store - Introduction - [Default request queue - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/default-request-queue.md): Default request queue - Introduction - [Getting started with Apify API](https://pr-2561.preview.docs.apify.com/api/v2/getting-started.md): The Apify API provides programmatic access to the [Apify platform](https://docs.apify.com). - [Last Actor run's abort - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/last-actor-runs-abort.md): Last Actor run's abort - Introduction - [Last Actor run's default dataset - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/last-actor-runs-default-dataset.md): Last Actor run's default dataset - Introduction - [Last Actor run's default key-value store - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/last-actor-runs-default-key-value-store.md): Last Actor run's default key-value store - Introduction - [Last Actor run's default request queue - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/last-actor-runs-default-request-queue.md): Last Actor run's default request queue - Introduction - [Last Actor run's log - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/last-actor-runs-log.md): Last Actor run's log - Introduction - [Last Actor run's metamorph - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/last-actor-runs-metamorph.md): Last Actor run's metamorph - Introduction - [Last Actor run's reboot - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/last-actor-runs-reboot.md): Last Actor run's reboot - Introduction - [Last Actor task run's abort - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/last-actor-task-runs-abort.md): Last Actor task run's abort - Introduction - [Last Actor task run's default dataset - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/last-actor-task-runs-default-dataset.md): Last Actor task run's default dataset - Introduction - [Last Actor task run's default key-value store - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/last-actor-task-runs-default-key-value-store.md): Last Actor task run's default key-value store - Introduction - [Last Actor task run's default request queue - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/last-actor-task-runs-default-request-queue.md): Last Actor task run's default request queue - Introduction - [Last Actor task run's log - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/last-actor-task-runs-log.md): Last Actor task run's log - Introduction - [Last Actor task run's metamorph - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/last-actor-task-runs-metamorph.md): Last Actor task run's metamorph - Introduction - [Last Actor task run's reboot - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/last-actor-task-runs-reboot.md): Last Actor task run's reboot - Introduction - [Logs - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/logs.md): Logs - Introduction - [Schedules - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/schedules.md): Schedules - Introduction - [Datasets - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/storage-datasets.md): Datasets - Introduction - [Key-value stores - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/storage-key-value-stores.md): Key-value stores - Introduction - [Request queues - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/storage-request-queues.md): Request queues - Introduction - [Requests - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/storage-request-queues-requests.md): Requests - Introduction - [Requests locks - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/storage-request-queues-requests-locks.md): Requests locks - Introduction - [Store - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/store.md): Store - Introduction - [Tools - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/tools.md): Tools - Introduction - [Users - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/users.md): Users - Introduction - [Webhook dispatches - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/webhooks-webhook-dispatches.md): Webhook dispatches - Introduction - [Webhooks - Introduction](https://pr-2561.preview.docs.apify.com/api/v2/webhooks-webhooks.md): Webhooks - Introduction ## Apify API client for JavaScript - [Overview](https://docs.apify.com/api/client/js/docs.md): The official JavaScript library to access the Apify API, with automatic retries, TypeScript support, and cross-platform compatibility. - [Quick start](https://docs.apify.com/api/client/js/docs/introduction/quick-start.md): Get started with the Apify API client for JavaScript by running an Actor and retrieving results from its dataset. - [Usage patterns](https://docs.apify.com/api/client/js/docs/concepts/usage-patterns.md): Learn the resource client and collection client patterns used by the Apify API client for JavaScript. - [Convenience functions](https://docs.apify.com/api/client/js/docs/concepts/convenience-functions.md): Use call(), waitForFinish(), and other convenience functions in the Apify API client for JavaScript. - [Error handling and retries](https://docs.apify.com/api/client/js/docs/concepts/error-handling.md): Handle API errors and configure automatic retries with exponential backoff in the Apify API client for JavaScript. - [Pagination](https://docs.apify.com/api/client/js/docs/concepts/pagination.md): Paginate through large result sets and use async iteration with the Apify API client for JavaScript. - [Use in bundled environments](https://docs.apify.com/api/client/js/docs/concepts/bundled-environments.md): Use the Apify API client for JavaScript in browsers, Cloudflare Workers, and other edge runtimes. - [Code examples](https://docs.apify.com/api/client/js/docs/guides/examples.md): Practical code examples for common tasks with the Apify API client for JavaScript, including webhooks and datasets. - [Changelog](https://docs.apify.com/api/client/js/docs/changelog.md) - [apify-client reference](https://docs.apify.com/api/client/js/reference.md) ## Apify API client for Python - [Overview](https://docs.apify.com/api/client/python/docs.md): The official Python library to access the Apify API, with automatic retries, async support, and comprehensive API coverage. - [Quick start](https://docs.apify.com/api/client/python/docs/introduction/quick-start.md): Get started with the Apify API client for Python by running an Actor and retrieving results from its dataset. - [Single and collection clients](https://docs.apify.com/api/client/python/docs/concepts/single-and-collection-clients.md): Understand the two main types of clients for managing API resources. - [Convenience methods](https://docs.apify.com/api/client/python/docs/concepts/convenience-methods.md): Convenience methods to handle actions that the API alone cannot perform efficiently. - [Error handling](https://docs.apify.com/api/client/python/docs/concepts/error-handling.md): The client automatically extracts data, converts date strings to datetime objects, and raises ApifyApiError on errors. - [Pagination](https://docs.apify.com/api/client/python/docs/concepts/pagination.md): Work with paginated data using the ListPage object returned by list methods. - [Asyncio support](https://docs.apify.com/api/client/python/docs/concepts/asyncio-support.md): Use the asynchronous ApifyClientAsync to interact with the Apify API using Python's async/await syntax. - [Retries](https://docs.apify.com/api/client/python/docs/concepts/retries.md): Automatic retries for requests that fail due to network issues or rate limiting. - [Nested clients](https://docs.apify.com/api/client/python/docs/concepts/nested-clients.md): Use nested clients to simplify working with related collections like Actor runs. - [Streaming resources](https://docs.apify.com/api/client/python/docs/concepts/streaming-resources.md): Stream dataset items, key-value store records, and logs incrementally without downloading entirely into memory. - [Logging](https://docs.apify.com/api/client/python/docs/concepts/logging.md): Configure the apify_client logger to print debug information about API requests. - [Passing input to Actor](https://docs.apify.com/api/client/python/docs/guides/passing-input-to-actor.md): Run an Actor and retrieve results by passing input data directly to the call method. - [Retrieve Actor data](https://docs.apify.com/api/client/python/docs/guides/retrieve-actor-data.md): Retrieve, paginate, merge, and export Actor output data from datasets. - [Manage tasks for reusable input](https://docs.apify.com/api/client/python/docs/guides/manage-tasks-for-reusable-input.md): Create multiple tasks with different input configurations for the same Actor. - [Integration with data libraries](https://docs.apify.com/api/client/python/docs/guides/integration-with-data-libraries.md): Load dataset items directly into a Pandas DataFrame for efficient manipulation and analysis. - [Upgrading to v2](https://docs.apify.com/api/client/python/docs/upgrading/upgrading-to-v2.md): Breaking changes between Apify Python API Client v1.x and v2.0. - [Changelog](https://docs.apify.com/api/client/python/docs/changelog.md) - [apify-client reference](https://docs.apify.com/api/client/python/reference.md) ## Apify SDK for JavaScript - [Apify SDK for JavaScript](https://docs.apify.com/sdk/js/docs/overview.md): The official library for creating Apify Actors in JavaScript, providing tools for web crawling, scraping, and automation at scale. - [Quick start](https://docs.apify.com/sdk/js/docs/introduction/quick-start.md): Get started with the Apify SDK for JavaScript by creating your first Actor. - [Actor lifecycle](https://docs.apify.com/sdk/js/docs/concepts/actor-lifecycle.md): Understanding Actor lifecycle, initialization, and the Apify platform. - [Environment Variables](https://docs.apify.com/sdk/js/docs/concepts/environment-variables.md): Environment variables used by Apify SDK. - [Proxy Management](https://docs.apify.com/sdk/js/docs/concepts/proxy-management.md): IP address rotation and proxy configuration. - [Request Storage](https://docs.apify.com/sdk/js/docs/concepts/request-storage.md): Request storage types for managing crawl queues. - [Result Storage](https://docs.apify.com/sdk/js/docs/concepts/result-storage.md): Result storage types for saving crawl output. - [Session Management](https://docs.apify.com/sdk/js/docs/concepts/session-management.md): SessionPool for managing browser sessions and cookies. - [Running in Docker](https://docs.apify.com/sdk/js/docs/concepts/docker-images.md): Example Docker images to run your crawlers. - [Pay-per-event Monetization](https://docs.apify.com/sdk/js/docs/concepts/pay-per-event.md): Monetize your Actors using the pay-per-event pricing model. - [Basic crawler](https://docs.apify.com/sdk/js/docs/guides/basic-crawler.md): Bare-bones example using BasicCrawler. - [Cheerio crawler](https://docs.apify.com/sdk/js/docs/guides/cheerio-crawler.md): Crawl URLs using plain HTTP requests and parse HTML with Cheerio. - [Playwright crawler](https://docs.apify.com/sdk/js/docs/guides/playwright-crawler.md): Use PlaywrightCrawler for browser-based crawling. - [Puppeteer crawler](https://docs.apify.com/sdk/js/docs/guides/puppeteer-crawler.md): Use PuppeteerCrawler for browser-based crawling. - [Crawl all links on a website](https://docs.apify.com/sdk/js/docs/guides/crawl-all-links.md): Use enqueueLinks() to crawl entire websites. - [Crawl a sitemap](https://docs.apify.com/sdk/js/docs/guides/crawl-sitemap.md): Download and crawl URLs from a sitemap. - [Accept user input](https://docs.apify.com/sdk/js/docs/guides/accept-user-input.md): Accept and log user input in your Actor. - [Add data to dataset](https://docs.apify.com/sdk/js/docs/guides/add-data-to-dataset.md): Save data to the default dataset. - [Call actor](https://docs.apify.com/sdk/js/docs/guides/call-actor.md): Start an Apify Actor programmatically. - [Setting up a TypeScript project](https://docs.apify.com/sdk/js/docs/guides/type-script-actor.md): TypeScript support in Apify SDK. - [Upgrading to v3](https://docs.apify.com/sdk/js/docs/upgrading/upgrading-to-v3.md): Breaking changes between Crawlee (v3) and Apify SDK (v2). - [Changelog](https://docs.apify.com/sdk/js/docs/changelog.md) - [apify reference](https://docs.apify.com/sdk/js/reference.md) ## Apify SDK for Python - [Overview](https://docs.apify.com/sdk/python/docs/overview.md): The official library for creating Apify Actors in Python, providing tools for web scraping, automation, and data storage integration. - [Quick start](https://docs.apify.com/sdk/python/docs/introduction/quick-start.md): Get started with the Apify SDK for Python by creating your first Actor. - [Actor lifecycle](https://docs.apify.com/sdk/python/docs/concepts/actor-lifecycle.md): How an Apify Actor starts, runs, and shuts down. - [Actor input](https://docs.apify.com/sdk/python/docs/concepts/actor-input.md): Read Actor input from the default key-value store. - [Actor configuration](https://docs.apify.com/sdk/python/docs/concepts/actor-configuration.md): Configure the Actor class using the Configuration class and environment variables. - [Actor events & state persistence](https://docs.apify.com/sdk/python/docs/concepts/actor-events.md): Handle Actor events sent by the Apify platform during runtime. - [Working with storages](https://docs.apify.com/sdk/python/docs/concepts/storages.md): Work with default or named storages for datasets, key-value stores, and request queues. - [Proxy management](https://docs.apify.com/sdk/python/docs/concepts/proxy-management.md): Work around IP blocking using proxy servers. - [Interacting with other Actors](https://docs.apify.com/sdk/python/docs/concepts/interacting-with-other-actors.md): Methods to interact with other Actors and tasks on the platform. - [Accessing Apify API](https://docs.apify.com/sdk/python/docs/concepts/access-apify-api.md): Access Apify API features not covered by the SDK. - [Creating webhooks](https://docs.apify.com/sdk/python/docs/concepts/webhooks.md): Configure webhooks to trigger actions on Actor events. - [Logging](https://docs.apify.com/sdk/python/docs/concepts/logging.md): Logging through Python's standard logging module. - [Pay-per-event monetization](https://docs.apify.com/sdk/python/docs/concepts/pay-per-event.md): Monetize your Actors using the pay-per-event pricing model. - [Using Crawlee](https://docs.apify.com/sdk/python/docs/guides/crawlee.md): Use the Crawlee library in your Actors. - [Using BeautifulSoup with HTTPX](https://docs.apify.com/sdk/python/docs/guides/beautifulsoup-httpx.md): Use BeautifulSoup with HTTPX in your Actors. - [Using Playwright](https://docs.apify.com/sdk/python/docs/guides/playwright.md): Use Playwright for web scraping in your Actors. - [Using Scrapy](https://docs.apify.com/sdk/python/docs/guides/scrapy.md): Use the Scrapy framework in your Actors. - [Using Selenium](https://docs.apify.com/sdk/python/docs/guides/selenium.md): Use Selenium for web scraping in your Actors. - [Using Parsel with Impit](https://docs.apify.com/sdk/python/docs/guides/parsel-impit.md): Combine Parsel and Impit libraries for scraping. - [Running webserver](https://docs.apify.com/sdk/python/docs/guides/running-webserver.md): Run a web server inside your Actor. - [Upgrading to v3](https://docs.apify.com/sdk/python/docs/upgrading/upgrading-to-v3.md): Breaking changes between Apify Python SDK v2.x and v3.0. - [Changelog](https://docs.apify.com/sdk/python/docs/changelog.md) - [apify-sdk-python reference](https://docs.apify.com/sdk/python/reference.md) ## Apify CLI - [Apify CLI overview](https://docs.apify.com/cli/docs.md): An introduction to Apify CLI, a command-line interface for creating, developing, building, and running Apify Actors and managing the Apify cloud platform. - [Quick start](https://docs.apify.com/cli/docs/quick-start.md): Learn how to create, run, and manage Actors using Apify CLI. - [Installation](https://docs.apify.com/cli/docs/installation.md): Learn how to install Apify CLI using installation scripts, Homebrew, or NPM. - [Command reference](https://docs.apify.com/cli/docs/reference.md): The Apify CLI provides tools for managing your Apify projects and resources from the command line. - [Integrating Scrapy projects](https://docs.apify.com/cli/docs/integrating-scrapy.md): Learn how to run Scrapy projects as Apify Actors and deploy them on the Apify platform. - [Telemetry](https://docs.apify.com/cli/docs/telemetry.md): Apify collects telemetry data about the general usage of the CLI. - [Changelog](https://docs.apify.com/cli/docs/changelog.md) ## Apify Academy - [Apify Academy](https://pr-2561.preview.docs.apify.com/academy.md): Learn everything about web scraping and automation with our free courses that will turn you into an expert scraper developer. - [Wrap open-source as an Actor](https://pr-2561.preview.docs.apify.com/academy/actorization.md): A guide to converting your applications, scripts, and open-source projects into monetizable, cloud-based tools on the Apify platform. - [Advanced web scraping](https://pr-2561.preview.docs.apify.com/academy/advanced-web-scraping.md): Take your scrapers to a production-ready level by learning various advanced concepts and techniques that will help you build highly scalable and reliable crawlers. - [Crawling sitemaps](https://pr-2561.preview.docs.apify.com/academy/advanced-web-scraping/crawling/crawling-sitemaps.md): Learn how to extract all of a website's listings even if they limit the number of results pages. See code examples for setting up your scraper. - [Crawling with search](https://pr-2561.preview.docs.apify.com/academy/advanced-web-scraping/crawling/crawling-with-search.md): Learn how to extract all of a website's listings even if they limit the number of results pages. See code examples for setting up your scraper. - [Sitemaps vs search](https://pr-2561.preview.docs.apify.com/academy/advanced-web-scraping/crawling/sitemaps-vs-search.md): Learn how to extract all of a website's listings even if they limit the number of results pages. - [Tips and tricks for robustness](https://pr-2561.preview.docs.apify.com/academy/advanced-web-scraping/tips-and-tricks-robustness.md): Learn how to make your automated processes more effective. Avoid common pitfalls, future-proof your programs and improve your processes. - [AI agent tutorial](https://pr-2561.preview.docs.apify.com/academy/ai/ai-agents.md): In this section of the Apify Academy, we show you how to build an AI agent with the CrewAI Python framework. You’ll learn how to create an agent for Instagram analysis and integrate it with LLMs and Apify Actors. - [Anti-scraping protections](https://pr-2561.preview.docs.apify.com/academy/anti-scraping.md): Understand the various anti-scraping measures different sites use to prevent bots from accessing them, and how to appear more human to fix these issues. - [Anti-scraping mitigation](https://pr-2561.preview.docs.apify.com/academy/anti-scraping/mitigation.md): After learning about the various different anti-scraping techniques websites use, learn how to mitigate them with a few different techniques. - [Bypassing Cloudflare browser check](https://pr-2561.preview.docs.apify.com/academy/anti-scraping/mitigation/cloudflare-challenge.md.md): Learn how to bypass Cloudflare browser challenge with Crawlee. - [Generating fingerprints](https://pr-2561.preview.docs.apify.com/academy/anti-scraping/mitigation/generating-fingerprints.md): Learn how to use two super handy npm libraries to generate fingerprints and inject them into a Playwright or Puppeteer page. - [Proxies](https://pr-2561.preview.docs.apify.com/academy/anti-scraping/mitigation/proxies.md): Learn all about proxies, how they work, and how they can be leveraged in a scraper to avoid blocking and other anti-scraping tactics. - [Using proxies](https://pr-2561.preview.docs.apify.com/academy/anti-scraping/mitigation/using-proxies.md): Learn how to use and automagically rotate proxies in your scrapers by using Crawlee, and a bit about how to obtain pools of proxies. - [Anti-scraping techniques](https://pr-2561.preview.docs.apify.com/academy/anti-scraping/techniques.md): Understand the various common (and obscure) anti-scraping techniques used by websites to prevent bots from accessing their content. - [Browser challenges](https://pr-2561.preview.docs.apify.com/academy/anti-scraping/techniques/browser-challenges.md): Learn how to navigate browser challenges like Cloudflare's to effectively scrape data from protected websites. - [Captchas](https://pr-2561.preview.docs.apify.com/academy/anti-scraping/techniques/captchas.md): Learn about the reasons a bot might be presented a captcha, the best ways to avoid CAPTCHASs in the first place, and how to programmatically solve them. - [Fingerprinting](https://pr-2561.preview.docs.apify.com/academy/anti-scraping/techniques/fingerprinting.md): Understand browser fingerprinting, an advanced technique used by browsers to track user data and even block bots from accessing them. - [Firewalls](https://pr-2561.preview.docs.apify.com/academy/anti-scraping/techniques/firewalls.md): Understand what a web-application firewall is, how they work, and the various common techniques for avoiding them altogether. - [Geolocation](https://pr-2561.preview.docs.apify.com/academy/anti-scraping/techniques/geolocation.md): Learn about the geolocation techniques to determine where requests are coming from, and a bit about how to avoid being blocked based on geolocation. - [Rate-limiting](https://pr-2561.preview.docs.apify.com/academy/anti-scraping/techniques/rate-limiting.md): Learn about rate-limiting, a common tactic used by websites to avoid a large and non-human rate of requests coming from a single IP address. - [Tutorials on Apify API](https://pr-2561.preview.docs.apify.com/academy/api.md): A collection of various tutorials explaining how to interact with the Apify platform programmatically using its API. - [API scraping](https://pr-2561.preview.docs.apify.com/academy/api-scraping.md): Learn all about how the professionals scrape various types of APIs with various configurations, parameters, and requirements. - [General API scraping](https://pr-2561.preview.docs.apify.com/academy/api-scraping/general-api-scraping.md): Learn the benefits and drawbacks of API scraping, how to locate an API, how to utilize its features, and how to work around common roadblocks. - [Dealing with headers, cookies, and tokens](https://pr-2561.preview.docs.apify.com/academy/api-scraping/general-api-scraping/cookies-headers-tokens.md): Learn about how some APIs require certain cookies, headers, and/or tokens to be present in a request in order for data to be received. - [Handling pagination](https://pr-2561.preview.docs.apify.com/academy/api-scraping/general-api-scraping/handling-pagination.md): Learn about the three most popular API pagination techniques and how to handle each of them when scraping an API with pagination. - [Locating API endpoints](https://pr-2561.preview.docs.apify.com/academy/api-scraping/general-api-scraping/locating-and-learning.md): Learn how to effectively locate a website's API endpoints, and learn how to use them to get the data you want faster and more reliably. - [GraphQL scraping](https://pr-2561.preview.docs.apify.com/academy/api-scraping/graphql-scraping.md): Dig into the topic of scraping APIs which use the latest and greatest API technology - GraphQL. GraphQL APIs are very different from regular REST APIs. - [Custom queries](https://pr-2561.preview.docs.apify.com/academy/api-scraping/graphql-scraping/custom-queries.md): Learn how to write custom GraphQL queries, how to pass input values into GraphQL requests as variables, and how to retrieve and output the data from a scraper. - [Introspection](https://pr-2561.preview.docs.apify.com/academy/api-scraping/graphql-scraping/introspection.md): Understand what introspection is, and how it can help you understand a GraphQL API to take advantage of the features it has to offer before writing any code. - [Modifying variables](https://pr-2561.preview.docs.apify.com/academy/api-scraping/graphql-scraping/modifying-variables.md): Learn how to modify the variables of a JSON format GraphQL query to use the API without needing to write any GraphQL language or create custom queries. - [How to retry failed requests](https://pr-2561.preview.docs.apify.com/academy/api/retry-failed-requests.md): Learn how to resurrect your run but retrying only failed requests - [Run Actor and retrieve data via API](https://pr-2561.preview.docs.apify.com/academy/api/run-actor-and-retrieve-data-via-api.md): Learn how to run an Actor/task via the Apify API, wait for the job to finish, and retrieve its output data. Your key to integrating Actors with your projects. - [Tutorials on Apify Actors](https://pr-2561.preview.docs.apify.com/academy/apify-actors.md): A collection of various Actor tutorials to aid you in your journey to becoming a master Actor developer. - [Adding your RapidAPI project to Apify](https://pr-2561.preview.docs.apify.com/academy/apify-actors/adding-rapidapi-project.md): If you've published an API project on RapidAPI, you can expand your project's visibility by listing it on Apify Store. This gives you access to Apify's developer community and ecosystem. - [Introduction to the Apify platform](https://pr-2561.preview.docs.apify.com/academy/apify-platform.md): Learn all about the Apify platform, all of the tools it offers, and how it can improve your overall development experience. - [Tutorials on ready-made Apify scrapers](https://pr-2561.preview.docs.apify.com/academy/apify-scrapers.md): Discover Apify's ready-made web scraping and automation tools. Compare Web Scraper, Cheerio Scraper and Puppeteer Scraper to decide which is right for you. - [Validate your Actor idea](https://pr-2561.preview.docs.apify.com/academy/build-and-publish/actor-ideas/actor-validation.md): Learn how to validate market demand for your Actor using SEO data, community research, and competitive analysis before you build. - [Find ideas for new Actors](https://pr-2561.preview.docs.apify.com/academy/build-and-publish/actor-ideas/find-actor-ideas.md): Learn what kind of software tools are suitable to be packaged and published as Apify Actors and where you can find ideas and inspiration what to build. - [Why publish Actors on Apify](https://pr-2561.preview.docs.apify.com/academy/build-and-publish/why.md): Discover how publishing Actors transforms your code into a revenue-generating product without traditional SaaS overhead. - [Deploying your code to Apify](https://pr-2561.preview.docs.apify.com/academy/deploying-your-code.md): In this course learn how to take an existing project of yours and deploy it to the Apify platform as an Actor. - [Creating dataset schema](https://pr-2561.preview.docs.apify.com/academy/deploying-your-code/dataset-schema.md): Learn how to generate an appealing Overview table interface to preview your Actor results in real time on the Apify platform. - [Publishing your Actor](https://pr-2561.preview.docs.apify.com/academy/deploying-your-code/deploying.md): Push local code to the platform, or create an Actor and integrate it with a Git repository for automatic rebuilds. - [Creating Actor Dockerfile](https://pr-2561.preview.docs.apify.com/academy/deploying-your-code/docker-file.md): Learn to write a Dockerfile for your project so it can run in a Docker container on the Apify platform. - [How to write Actor input schema](https://pr-2561.preview.docs.apify.com/academy/deploying-your-code/input-schema.md): Learn to define your Actor's input UI on the Apify platform with an INPUT_SCHEMA.json file stored inside the .actor configuration directory. - [Managing Actor inputs and outputs](https://pr-2561.preview.docs.apify.com/academy/deploying-your-code/inputs-outputs.md): Learn to accept input into your Actor, process it, and return output. This concept applies to Actors in any language. - [Expert scraping with Apify](https://pr-2561.preview.docs.apify.com/academy/expert-scraping-with-apify.md): After learning the basics of Actors and Apify, learn to develop pro-level scrapers on the Apify platform with this advanced course. - [Webhooks & advanced Actor overview](https://pr-2561.preview.docs.apify.com/academy/expert-scraping-with-apify/actors-webhooks.md): Learn more advanced details about Actors, how they work, and the default configurations they can take. Also, learn how to integrate your Actor with webhooks. - [Apify API & client](https://pr-2561.preview.docs.apify.com/academy/expert-scraping-with-apify/apify-api-and-client.md): Gain an in-depth understanding of the two main ways of programmatically interacting with the Apify platform - through the API, and through a client. - [Bypassing anti-scraping methods](https://pr-2561.preview.docs.apify.com/academy/expert-scraping-with-apify/bypassing-anti-scraping.md): Learn about bypassing anti-scraping methods using proxies and proxy/session rotation together with Crawlee and the Apify SDK. - [Managing source code](https://pr-2561.preview.docs.apify.com/academy/expert-scraping-with-apify/managing-source-code.md): Learn how to manage your Actor's source code more efficiently by integrating it with a GitHub repository. This is standard on the Apify platform. - [Migrations & maintaining state](https://pr-2561.preview.docs.apify.com/academy/expert-scraping-with-apify/migrations-maintaining-state.md): Learn about what Actor migrations are and how to handle them properly so that the state is not lost and runs can safely be resurrected. - [Saving useful run statistics](https://pr-2561.preview.docs.apify.com/academy/expert-scraping-with-apify/saving-useful-stats.md): Understand how to save statistics about an Actor's run, what types of statistics you can save, and why you might want to save them for a large-scale scraper. - [Tasks & storage](https://pr-2561.preview.docs.apify.com/academy/expert-scraping-with-apify/tasks-and-storage.md): Understand how to save the configurations for Actors with Actor tasks. Also, learn about storage and the different types Apify offers. - [Getting started](https://pr-2561.preview.docs.apify.com/academy/getting-started.md): Get started with the Apify platform by creating an account and learning about Apify Console, which is where all Apify Actors are born! - [Actors](https://pr-2561.preview.docs.apify.com/academy/getting-started/actors.md): What is an Actor? How do we create them? Learn the basics of what Actors are, how they work, and try out an Actor yourself right on the Apify platform! - [The Apify API](https://pr-2561.preview.docs.apify.com/academy/getting-started/apify-api.md): Learn how to use the Apify API to programmatically call your Actors, retrieve data stored on the platform, view Actor logs, and more! - [Apify client](https://pr-2561.preview.docs.apify.com/academy/getting-started/apify-client.md): Interact with the Apify API in your code by using the apify-client package, which is available for both JavaScript and Python. - [Creating Actors](https://pr-2561.preview.docs.apify.com/academy/getting-started/creating-actors.md): Build and run your very first Actor directly in Apify Console from a template. This lesson provides hands-on experience with building and running Actors. - [Inputs & outputs](https://pr-2561.preview.docs.apify.com/academy/getting-started/inputs-outputs.md): Create an Actor from scratch which takes an input, processes that input, and then outputs a result that can be used elsewhere. - [Tutorials on scraping with Node.js](https://pr-2561.preview.docs.apify.com/academy/node-js.md): A collection of various Node.js tutorials on scraping sitemaps, optimizing your scrapers, using popular Node.js web scraping libraries, and more. - [Puppeteer and Playwright course](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright.md): Learn in-depth how to use two of the most popular Node.js libraries for controlling a headless browser - Puppeteer and Playwright. - [I - Launching a browser](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/browser.md): Understand what the Browser object is in Puppeteer/Playwright, how to create one, and a bit about how to interact with one. - [VI - Creating multiple browser contexts](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/browser-contexts.md): Learn what a browser context is, how to create one, how to emulate devices, and how to use browser contexts to automate multiple sessions at one time. - [Common use cases](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/common-use-cases.md): Learn about some of the most common use cases of Playwright and Puppeteer, and how to handle these use cases when you run into them. - [Downloading files](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/common-use-cases/downloading-files.md): Learn how to automatically download and save files to the disk using two of the most popular web automation libraries, Puppeteer and Playwright. - [Logging into a website](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/common-use-cases/logging-into-a-website.md): Understand the "login flow" - logging into a website, then maintaining a logged in status within different browser contexts for an efficient automation process. - [Paginating through results](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/common-use-cases/paginating-through-results.md): Learn how to paginate through results on websites that use either page number-based pagination or dynamic lazy-loading pagination. - [Scraping iFrames](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/common-use-cases/scraping-iframes.md): Extracting data from iFrames can be frustrating. In this tutorial, we will learn how to scrape information from iFrames using Puppeteer or Playwright. - [Submitting a form with a file attachment](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/common-use-cases/submitting-a-form-with-a-file-attachment.md): Understand how to download a file, attach it to a form using a headless browser in Playwright or Puppeteer, then submit the form. - [III - Executing scripts](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/executing-scripts.md): Understand the two different contexts which your code can be run in, and how to run custom scripts in the context of the browser. - [Extracting data](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/executing-scripts/collecting-data.md): Learn how to extract data from a page with evaluate functions, then how to parse it by using a second library called Cheerio. - [Injecting code](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/executing-scripts/injecting-code.md): Learn how to inject scripts prior to a page's load (pre-injecting), as well as how to expose functions to be run at a later time on the page. - [II - Opening & controlling a page](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/page.md): Learn how to create and open a Page with a Browser, and how to use it to visit and programmatically interact with a website. - [Interacting with a page](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/page/interacting-with-a-page.md): Learn how to programmatically do actions on a page such as clicking, typing, and pressing keys. Also, discover a common roadblock that comes up when automating. - [Page methods](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/page/page-methods.md): Understand that the Page object has many different methods to offer, and learn how to use two of them to capture a page's title and take a screenshot. - [Waiting for elements and events](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/page/waiting.md): Learn the importance of waiting for content and events before running interaction or extraction code, as well as the best practices for doing so. - [V - Using proxies](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/proxies.md): Understand how to use proxies in your Puppeteer and Playwright requests, as well as a couple of the most common use cases for proxies. - [IV - Reading & intercepting requests](https://pr-2561.preview.docs.apify.com/academy/puppeteer-playwright/reading-intercepting-requests.md): You can use DevTools, but did you know that you can do all the same stuff (plus more) programmatically? Read and intercept requests in Puppeteer/Playwright. - [Tutorials on scraping with Python](https://pr-2561.preview.docs.apify.com/academy/python.md): A collection of various Python tutorials to aid you in your journey to becoming a master web scraping and automation developer. - [Run a web server on the Apify platform](https://pr-2561.preview.docs.apify.com/academy/running-a-web-server.md): A web server running in an Actor can act as a communication channel with the outside world. Learn how to set one up with Node.js. - [Web scraping basics for JavaScript devs](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-javascript.md): Learn how to use JavaScript to extract information from websites in this practical course, starting from the absolute basics. - [Crawling websites with Node.js](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-javascript/crawling.md): Lesson about building a Node.js application for watching prices. Using the Fetch API to follow links to individual product pages. - [Extracting data from a web page with browser DevTools](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-javascript/devtools-extracting-data.md): Lesson about using the browser tools for developers to manually extract product data from an e-commerce website. - [Inspecting web pages with browser DevTools](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-javascript/devtools-inspecting.md): Lesson about using the browser tools for developers to inspect and manipulate the structure of a website. - [Locating HTML elements on a web page with browser DevTools](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-javascript/devtools-locating-elements.md): Lesson about using the browser tools for developers to manually find products on an e-commerce website. - [Downloading HTML with Node.js](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-javascript/downloading-html.md): Lesson about building a Node.js application for watching prices. Using the Fetch API to download HTML code of a product listing page. - [Extracting data from HTML with Node.js](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-javascript/extracting-data.md): Lesson about building a Node.js application for watching prices. Using string manipulation to extract and clean data scraped from the product listing page. - [Using a scraping framework with Node.js](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-javascript/framework.md): Lesson about building a Node.js application for watching prices. Using the Crawlee framework to simplify creating a scraper. - [Getting links from HTML with Node.js](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-javascript/getting-links.md): Lesson about building a Node.js application for watching prices. Using the Cheerio library to locate links to individual product pages. - [Locating HTML elements with Node.js](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-javascript/locating-elements.md): Lesson about building a Node.js application for watching prices. Using the Cheerio library to locate products on the product listing page. - [Parsing HTML with Node.js](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-javascript/parsing-html.md): Lesson about building a Node.js application for watching prices. Using the Cheerio library to parse HTML code of a product listing page. - [Using a scraping platform with Node.js](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-javascript/platform.md): Lesson about building a Node.js application for watching prices. Using the Apify platform to deploy a scraper. - [Saving data with Node.js](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-javascript/saving-data.md): Lesson about building a Node.js application for watching prices. Using the json2csv library to save data scraped from product listing pages in both JSON and CSV. - [Scraping product variants with Node.js](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-javascript/scraping-variants.md): Lesson about building a Node.js application for watching prices. Using browser DevTools to figure out how to extract product variants and exporting them as separate items. - [Web scraping basics for Python devs](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-python.md): Learn how to use Python to extract information from websites in this practical course, starting from the absolute basics. - [Crawling websites with Python](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-python/crawling.md): Lesson about building a Python application for watching prices. Using the HTTPX library to follow links to individual product pages. - [Extracting data from a web page with browser DevTools](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-python/devtools-extracting-data.md): Lesson about using the browser tools for developers to manually extract product data from an e-commerce website. - [Inspecting web pages with browser DevTools](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-python/devtools-inspecting.md): Lesson about using the browser tools for developers to inspect and manipulate the structure of a website. - [Locating HTML elements on a web page with browser DevTools](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-python/devtools-locating-elements.md): Lesson about using the browser tools for developers to manually find products on an e-commerce website. - [Downloading HTML with Python](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-python/downloading-html.md): Lesson about building a Python application for watching prices. Using the HTTPX library to download HTML code of a product listing page. - [Extracting data from HTML with Python](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-python/extracting-data.md): Lesson about building a Python application for watching prices. Using string manipulation to extract and clean data scraped from the product listing page. - [Using a scraping framework with Python](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-python/framework.md): Lesson about building a Python application for watching prices. Using the Crawlee framework to simplify creating a scraper. - [Getting links from HTML with Python](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-python/getting-links.md): Lesson about building a Python application for watching prices. Using the Beautiful Soup library to locate links to individual product pages. - [Locating HTML elements with Python](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-python/locating-elements.md): Lesson about building a Python application for watching prices. Using the Beautiful Soup library to locate products on the product listing page. - [Parsing HTML with Python](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-python/parsing-html.md): Lesson about building a Python application for watching prices. Using the Beautiful Soup library to parse HTML code of a product listing page. - [Using a scraping platform with Python](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-python/platform.md): Lesson about building a Python application for watching prices. Using the Apify platform to deploy a scraper. - [Saving data with Python](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-python/saving-data.md): Lesson about building a Python application for watching prices. Using standard library to save data scraped from product listing pages in popular formats such as CSV or JSON. - [Scraping product variants with Python](https://pr-2561.preview.docs.apify.com/academy/scraping-basics-python/scraping-variants.md): Lesson about building a Python application for watching prices. Using browser DevTools to figure out how to extract product variants and exporting them as separate items. - [Scraping with Apify and AI](https://pr-2561.preview.docs.apify.com/academy/scraping-with-apify-and-ai.md): Learn how to use AI to extract information from websites in this practical course, starting from the absolute basics. - [Developing a scraper with AI agent](https://pr-2561.preview.docs.apify.com/academy/scraping-with-apify-and-ai/developing-scraper-with-ai-agent.md): Improve your Apify scraper using the Cursor AI agent. Set up local development, clean up price data, and push changes back to the Apify platform. - [Developing a scraper with AI chat](https://pr-2561.preview.docs.apify.com/academy/scraping-with-apify-and-ai/developing-scraper-with-ai-chat.md): Use ChatGPT and Apify to build a price-tracking web scraper with no coding knowledge. Learn how AI-generated code runs automatically in the cloud. - [Docs driven prompting](https://pr-2561.preview.docs.apify.com/academy/scraping-with-apify-and-ai/docs-driven-prompting.md): TBD - [Publishing to Apify Store](https://pr-2561.preview.docs.apify.com/academy/scraping-with-apify-and-ai/publishing-to-apify-store.md): TBD - [Tests driven prompting](https://pr-2561.preview.docs.apify.com/academy/scraping-with-apify-and-ai/tests-driven-prompting.md): TBD ## Legal documents - [Apify Legal](https://pr-2561.preview.docs.apify.com/legal.md): This is an index of Apify's public facing policies, terms of use and legal documents. - [Apify Acceptable Use Policy](https://pr-2561.preview.docs.apify.com/legal/acceptable-use-policy.md): Apify's acceptable use policy describes activities that are prohibited on the Apify platform and on our websites. - [Actor Terms and Conditions](https://pr-2561.preview.docs.apify.com/legal/actor-terms-and-conditions.md): Actor Terms and Conditions govern the use of Actors from Apify Store in connection with Apify platform. - [Apify Affiliate Program Terms and Conditions](https://pr-2561.preview.docs.apify.com/legal/affiliate-program-terms-and-conditions.md): Apify Affiliate Program Terms and Conditions govern Apify's affiliate partnership program. - [Apify Community Code of Conduct](https://pr-2561.preview.docs.apify.com/legal/community-code-of-conduct.md): Apify's code of conduct describes how Apify expects its community members behave. - [Apify Cookie Policy](https://pr-2561.preview.docs.apify.com/legal/cookie-policy.md): Apify Cookie Policy describes how we handle cookies on our website and platform. - [EU Data Act Addendum](https://pr-2561.preview.docs.apify.com/legal/data-act-addendum.md): EU Data Act Addendum applies to EU customers only. - [Apify Data Processing Addendum](https://pr-2561.preview.docs.apify.com/legal/data-processing-addendum.md): Apify Data Processing Addendum serve as a framework for processing of personal data on behalf of Apify customers. - [Apify Event Terms and Conditions](https://pr-2561.preview.docs.apify.com/legal/event-terms-and-conditions.md): Apify Event Terms and Conditions govern events organized by Apify. - [Apify GDPR Information](https://pr-2561.preview.docs.apify.com/legal/gdpr-information.md): This Apify GDPR Information document describes how Apify complies with GDPR and its requirements. - [Apify General Terms and Conditions](https://pr-2561.preview.docs.apify.com/legal/general-terms-and-conditions.md): Apify General Terms and Conditions govern the use of Apify's website, platform and services. - [Apify Privacy Policy](https://pr-2561.preview.docs.apify.com/legal/privacy-policy.md): Apify Privacy Policy describes how we handle your personal data and how you can exercise your personal data rights. - [Apify Store Publishing Terms and Conditions](https://pr-2561.preview.docs.apify.com/legal/store-publishing-terms-and-conditions.md): Apify Store Publishing Terms and Conditions govern publishing of Actors in the Apify Store and payments for monetized Actors. - [Apify Whistleblowing Policy](https://pr-2561.preview.docs.apify.com/legal/whistleblowing-policy.md): Apify's whistleblowing policy describes how illegal activities can be reported, as required by law.