{"id":3400,"library":"apify-client","title":"Apify Client","description":"The Apify Client for Python allows users to interact with the Apify platform, managing actors, datasets, key-value stores, and more. It provides both synchronous and asynchronous interfaces for web scraping and automation tasks. The current stable version is 2.5.0, with regular updates.","status":"active","version":"2.5.0","language":"python","source_language":"en","source_url":"https://github.com/apify/apify-client-python","tags":["apify","web scraping","api client","automation","crawler"],"install":[{"cmd":"pip install apify-client","lang":"bash","label":"Install latest version"}],"dependencies":[{"reason":"Used for underlying HTTP requests, supporting both synchronous and asynchronous operations.","package":"httpx","optional":false}],"imports":[{"symbol":"ApifyClient","correct":"from apify_client import ApifyClient"}],"quickstart":{"code":"import os\nfrom apify_client import ApifyClient\n\n# Initialize the ApifyClient with your Apify API token.\n# It's recommended to store your token in an environment variable named APIFY_TOKEN.\n# Alternatively, pass it directly: apify_client = ApifyClient(token='YOUR_APIFY_TOKEN')\napify_client = ApifyClient(token=os.environ.get('APIFY_TOKEN', ''))\n\n# Ensure an API token is provided\nif not apify_client.token:\n    print(\"Warning: APIFY_TOKEN not found. Most operations will fail without authentication.\")\n    # In a real application, you might raise an error or exit here.\n    # For this quickstart, we'll continue but expect failures for authenticated calls.\n\n# Run a specific Actor (replace 'apify/hello-world' with your Actor ID)\ntry:\n    actor_run = apify_client.actor('apify/hello-world').call()\n\n    # Fetch results from the Actor's default dataset\n    print(f'Actor run data from dataset: {apify_client.dataset(actor_run[\"defaultDatasetId\"]).list_items().items}')\n\n    # Or to fetch items one by one:\n    # for item in apify_client.dataset(actor_run[\"defaultDatasetId\"]).iterate_items():\n    #     print(item)\nexcept Exception as e:\n    print(f\"An error occurred while running the Actor or fetching data: {e}\")\n    print(\"Please ensure your APIFY_TOKEN is valid and the 'apify/hello-world' actor is accessible.\")","lang":"python","description":"This quickstart demonstrates how to initialize the Apify client, run a 'Hello World' actor, and retrieve its results from the default dataset. It emphasizes secure API token handling via environment variables."},"warnings":[{"fix":"Replace `ApifyClientSync(token='...')` or `ApifyClientAsync(token='...')` with `ApifyClient(token='...')`.","message":"Breaking Change: V1 to V2 API Client Initialization. In `v2.x`, the `ApifyClient` constructor directly accepts `token='YOUR_TOKEN'`, unifying the previous `ApifyClientSync` and `ApifyClientAsync` classes from `v1.x`. Users migrating from `v1.x` must adapt to this single client and direct token parameter.","severity":"breaking","affected_versions":"1.x to 2.x"},{"fix":"Update resource access calls. For example, `client.actors().get('id')` becomes `client.actor('id').get()`.","message":"Breaking Change: V1 to V2 Resource Access Patterns. Accessing Apify resources (Actors, Datasets, Key-Value Stores, etc.) moved from methods like `client.actors().get_or_create(...)` in `v1.x` to a more direct chainable pattern like `client.actor(...).get_or_create()` in `v2.x`.","severity":"breaking","affected_versions":"1.x to 2.x"},{"fix":"Set the `APIFY_TOKEN` environment variable or pass `token='YOUR_APIFY_TOKEN'` directly to `ApifyClient()`.","message":"API Token Requirement: Most Apify API operations require an API token for authentication. If the `APIFY_TOKEN` environment variable is not set or the `token` parameter is not explicitly passed to the `ApifyClient` constructor, operations will typically result in authentication errors (e.g., 401 Unauthorized).","severity":"gotcha","affected_versions":"All"},{"fix":"Use `list_items()` with `limit` and `offset` parameters or, preferably, `iterate_items()` for efficient, paginated access to large datasets.","message":"Pagination for Large Datasets: When retrieving a large number of items from datasets or key-value stores, fetching all items at once can lead to memory exhaustion. Always use iterative methods or pagination parameters.","severity":"gotcha","affected_versions":"All"}],"env_vars":null,"last_verified":"2026-05-21T13:27:56.060Z","next_check":"2026-07-10T00:00:00.000Z","problems":[{"fix":"Ensure that the Docker container is using Python 3.10 or higher, as 'apify-client' requires Python 3.10 or higher. ([docs.apify.com](https://docs.apify.com/api/client/python/?utm_source=openai))","cause":"This error occurs when importing 'apify_client' inside a Docker container due to compatibility issues with Python versions.","error":"TypeError: 'NoneType' object is not callable"},{"fix":"Verify that the Actor ID is correct and that the Actor exists on the Apify platform. ([docs.apify.com](https://docs.apify.com/api/client/python/docs/concepts/error-handling?utm_source=openai))","cause":"This error occurs when attempting to access an Actor that does not exist on the Apify platform.","error":"ApifyApiError: Actor 'non-existent-actor' does not exist"},{"fix":"Implement exponential backoff and retry logic to handle rate limit errors. ([docs.apify.com](https://docs.apify.com/api/client/python/docs/concepts/retries?utm_source=openai))","cause":"This error occurs when the Apify API rate limit is exceeded.","error":"ApifyApiError: Request failed with status code 429"},{"fix":"Run `pip install apify-client` in your terminal to install the library.","cause":"The 'apify-client' library is not installed in your Python environment.","error":"ModuleNotFoundError: No module named 'apify-client'"},{"fix":"Initialize the ApifyClient with a valid API token: `apify_client = ApifyClient('YOUR_API_TOKEN')`. You can find your API token in the Apify Console under 'Integrations'.","cause":"The Apify client was initialized without an API token, or the token provided is invalid or expired, which is required for most API operations.","error":"ApifyApiError: Authentication token was not provided."}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"3.0.0","cli_name":"","cli_version":null,"type":"library","homepage":"https://docs.apify.com/api/client/python/","github":"https://github.com/apify/apify-client-python","docs":"https://docs.apify.com/api/client/python/docs/overview/introduction","changelog":"https://docs.apify.com/api/client/python/docs/changelog","pypi":"https://pypi.org/project/apify-client/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["http-networking","data","web-framework"],"base_url":null,"auth_type":null,"install_checks":{"last_tested":"2026-05-21","tag":null,"tag_description":null,"installed_version":"1.12.2","pypi_latest":"3.0.0","is_stale":true,"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"apify-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.27,"mem_mb":9.5,"disk_size":"28.5M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"apify-client","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.3,"mem_mb":9.5,"disk_size":"28.5M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"apify-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.2,"mem_mb":9.5,"disk_size":"28M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"apify-client","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.23,"mem_mb":9.5,"disk_size":"28M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"apify-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.4,"mem_mb":10.9,"disk_size":"30.6M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"apify-client","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.45,"mem_mb":10.9,"disk_size":"30.6M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"apify-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":3,"import_time_s":1.28,"mem_mb":10.9,"disk_size":"31M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"apify-client","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.34,"mem_mb":10.9,"disk_size":"31M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"apify-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.38,"mem_mb":12.3,"disk_size":"22.4M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"apify-client","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.65,"mem_mb":12.3,"disk_size":"22.4M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"apify-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.6,"import_time_s":1.42,"mem_mb":12.3,"disk_size":"22M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"apify-client","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.66,"mem_mb":12.3,"disk_size":"22M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"apify-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.26,"mem_mb":12.8,"disk_size":"22.1M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"apify-client","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.69,"mem_mb":12.8,"disk_size":"22.0M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"apify-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.6,"import_time_s":1.35,"mem_mb":12.8,"disk_size":"22M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"apify-client","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.66,"mem_mb":12.8,"disk_size":"22M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"apify-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.27,"mem_mb":10.3,"disk_size":"22.9M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"apify-client","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.31,"mem_mb":10.3,"disk_size":"22.9M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"apify-client","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.8,"import_time_s":0.27,"mem_mb":10.3,"disk_size":"23M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"apify-client","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.31,"mem_mb":10.3,"disk_size":"23M"}]},"_links":{"self":"https://checklist.day/api/registry/apify-client","v1":"https://checklist.day/v1/registry/apify-client","v1_install":"https://checklist.day/v1/registry/apify-client/install","v1_imports":"https://checklist.day/v1/registry/apify-client/imports","v1_compatibility":"https://checklist.day/v1/registry/apify-client/compatibility","v1_quickstart":"https://checklist.day/v1/registry/apify-client/quickstart","docs":"https://checklist.day/docs"}}