Package Exports
- apify-client
- apify-client/package.json
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (apify-client) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Apify API client for JavaScript
This library implements a JavaScript / Node.js client for the Apify API. The main philosophy is that the library is just a thin wrapper around the API - its functions should exactly correspond to the API endpoints and have the same parameters.
The full Apify client documentation is available on a separate web page. For more complex operations with the Apify platform, see the Apify SDK.
Table of Content
- Installation
- Usage
- Global configuration
- Promises, await, callbacks
- Parsing of date fields
- Package maintenance
- License
Installation
npm install apify-client --saveUsage
const ApifyClient = require('apify-client');
// Configuration
const apifyClient = new ApifyClient({
userId: 'jklnDMNKLekk',
token: 'SNjkeiuoeD443lpod68dk',
});
// Storage
const store = await apifyClient.keyValueStores.getOrCreateStore({ storeName: 'my-store' });
await apifyClient.keyValueStores.putRecord({
key: 'foo',
body: 'bar',
contentType: 'text/plain',
storeId: store.id
});
const record = await apifyClient.keyValueStores.getRecord({ key: 'foo', storeId: store.id });
const keys = await apifyClient.keyValueStores.listKeys({storeId: store.id});
await apifyClient.keyValueStores.deleteRecord({ key: 'foo', storeId: store.id });
// Actors
const act = await apifyClient.acts.getAct({ actId: 'kjnjknDDNkl' });
const build = await apifyClient.acts.buildAct({ actId: 'kjnjknDDNkl'});
const run = await apifyClient.acts.runAct({ actId: 'kjnjknDDNkl'});
Global configuration
You can set global parameters when you are creating instance of ApifyClient:
const apifyClient = new ApifyClient({
userId: 'jklnDMNKLekk', // Your Apify user ID
token: 'SNjkeiuoeD443lpod68dk', // Your API token
expBackOffMillis: 500, // Wait time in milliseconds before making a new request in a case of error
expBackOffMaxRepeats: 8, // Maximum number of repeats in a case of error
});Tp obtain your user ID and API token please visit your Apify Account page.
Promises, await, callbacks
Every method can be used as either promise or with callback. If your Node version supports await/async then you can await promise result.
const options = { actId: 'DNjkhrkjnri' };
// Awaited promise
try {
const actor = await apifyClient.acts.getAct(options);
// Do something actor ...
} catch (err) {
// Do something with error ...
}
// Promise
apifyClient.acts.getAct(options)
.then((actor) => {
// Do something actor ...
})
.catch((err) => {
// Do something with error ...
});
Parsing of date fields
Apify client automatically parses fields that ends with At such as modifiedAt or createdAt to Date object.
This does not apply to user generated content such as:
- Dataset content
- Key-value store records
Package maintenance
npm run testto run testsnpm run test-covto generate test coveragenpm run buildto transform ES6/ES7 to ES5 by Babelnpm run cleanto cleanbuild/directorynpm run lintto lint js using ESLint in Airbnb's Javascript stylenpm publishto run Babel, run tests and publish the package to NPM
License
Apache 2.0