An unofficial client to interact with

Usage no npm install needed!

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



An unofficial client to interact with

Official Docs


npm i appstore-api -S


Create a Client

import { Client } from 'appstore-api';
import fs from 'fs';
import path from 'path';
let client = new Client({
  iss: '<iss>',
  kid: '<kid>',
  secret: fs.readFileSync(path.resolve(__dirname, '../tmp/AuthKey_<kid>.p8'))

BundleId API

let api = client.api('bundleId');

let bundles = await api.list();
let bundleUniqueId = '<bundle_id>';
let bundle = await api.get(bundleUniqueId);
let capabilities = await api.capabilities(bundleUniqueId);
let profiles = await api.profiles(bundleUniqueId);
let createResult = await api.create('new bundle', 'com.newbundle.abc123');
let deleteResult = await api.delete(bundleUniqueId);

BundleId Capabilities API

let api = client.api('bundleIdCapabilities');
let result = await api.enable('<bundle_id>', 'MAPS');
result = await api.disable('<bundle_id>_MAPS');

Certificates API

let api = client.api('certificates');
let csrContent = fs.readFileSync(path.resolve(__dirname, '../../tmp/ios.certSigningRequest'), 'utf-8');
let list = await api.list();
let cert = await api.get('<cert_id>');
let createdCert = await api.create('IOS_DISTRIBUTION', csrContent);
let result = await api.delete('<cert_id>');

Devices API

let api = client.api('device');
let list = await api.list();
let device = await api.get('<device_id>');
let createResult = await api.create('<device_name>', '<udid>');

Profiles API

let api = client.api('profiles');
let profileId = '<profile_id>';
let list = await api.list();
let profile = await api.get(profileId);
let createResult = await api.create('<profile_name>', '<bundle_id>', '<profile_type>', ['<device_id_1>', '<device_id_2>'], ['<cert_id_1>', '<cert_id_2>']);
let devices = await api.devices(profileId);
let certificates = await api.certificates(profileId);