- Notifications
You must be signed in to change notification settings - Fork14
Apify API client for Python
License
apify/apify-client-python
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The Apify API Client for Python is the official library to access theApify API from your Python applications.It provides useful features like automatic retries and convenience functions to improve your experience with the Apify API.
If you want to develop Apify Actors in Python,check out theApify SDK for Python instead.
Requires Python 3.8+
You can install the package from itsPyPI listing.To do that, simply runpip install apify-client
in your terminal.
For usage instructions, check the documentation onApify Docs.
fromapify_clientimportApifyClientapify_client=ApifyClient('MY-APIFY-TOKEN')# Start an Actor and wait for it to finishactor_call=apify_client.actor('john-doe/my-cool-actor').call()# Fetch results from the Actor's default datasetdataset_items=apify_client.dataset(actor_call['defaultDatasetId']).list_items().items
Besides greatly simplifying the process of querying the Apify API, the client provides other useful features.
Based on the endpoint, the client automatically extracts the relevant data and returns it in theexpected format. Date strings are automatically converted todatetime.datetime
objects. For exceptions,we throw anApifyApiError
, which wraps the plain JSON errors returned by API and enrichesthem with other context for easier debugging.
Network communication sometimes fails. The client will automatically retry requests thatfailed due to a network error, an internal error of the Apify API (HTTP 500+) or rate limit error (HTTP 429).By default, it will retry up to 8 times. First retry will be attempted after ~500ms, second after ~1000msand so on. You can configure those parameters using themax_retries
andmin_delay_between_retries_millis
options of theApifyClient
constructor.
Starting with version 1.0.0, the package offers an asynchronous version of the client,ApifyClientAsync
,which allows you to work with the Apify API in an asynchronous way, using the standardasync
/await
syntax.
Some actions can't be performed by the API itself, such as indefinite waiting for an Actor run to finish(because of network timeouts). The client provides convenientcall()
andwait_for_finish()
functions that do that.Key-value store records can be retrieved as objects, buffers or streams via the respective options, dataset itemscan be fetched as individual objects or serialized data and we plan to add better stream support and async iterators.
About
Apify API client for Python
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.