Opinionated Apple Search Ads API client library for Javascript

Usage no npm install needed!

<script type="module">
  import appleSearchAdsJs from '';


Apple Search Ads for Node.JS

Opinionated Apple Search Ads API client library for Javascript



$ npm install apple-search-ads-js


  • Built according to the latest Apple Search Ads Docs
  • This library offers an opinionated execution to the ASA API.


const AsaApi = require('apple-search-ads-js');
const Certificate = AsaApi.Certificate;
const ASAApiError = AsaApi.ASAApiError;

const asaApi = new AsaApi('<org-id-here>', new Certificate(

(async () => {
    try {
        const selector = {
            conditions: [
                {field: 'status', operator: 'EQUALS', values: ['ENABLED']}
        // retrieve enabled campaigns with 15 results per page
        const resp = await asaApi.campaigns.find(selector, {pageSize: 15});
        const campaigns = resp.results;

        while (campaigns && campaigns.length > 0) {
            for (let campaign of campaigns) {
                // Do something with campaign
                console.log(`Fetched campaign: ${}`);
            if ( {
                cResp = await;
                campaigns = cResp.results;
            } else {
                campaigns = undefined;
    } catch (err) {
        if (err instanceof ASAApiError) {
        throw err;



(taken from Apple Search Ads Authentication docs)

Generate an API Certificate

To establish SSL authentication, do the following steps:

  1. Click on the upper right-hand carrot and select Settings.
  2. Click on API tab, then select Create API Certificate.
  3. Select certificate permissions based on roles. For more information, refer to the roleNames field in the UserAcl object.
  4. Click Create.
  5. To download the API certificate, select Action, then Download.

Note: Certificates expire after 24 months, at which time you can download a new PEM and key.

Grab your org id

Your OrgId is the account id shown when you click on your name in the top right corner in Apple Search Ads UI.

Use the downloaded pem and key when initializing

const asaApi = new AsaApi('<org-id>', new Certificate(