For the complete documentation index, see llms.txt. This page is also available as Markdown.

First API Call

Learn how to make your first API call to Pullbay and understand the response structure. This hands-on guide shows you real code examples and explains every step.

Prerequisites

Before making your first API call, ensure you have:

  • A Pullbay account (sign up at https://dashboard.pullbay.com)

  • Your API key copied from the API Keys section of your dashboard

  • A tool for making HTTP requests (cURL, Postman, programming language, etc.)

  • Basic familiarity with JSON responses

The Example Request

We'll fetch App Store reviews for Facebook (App Store ID: 284882215) to demonstrate a real API call.

  • Endpoint: GET https://api.pullbay.com/appstore/reviews

  • Parameters: appId=284882215 (Facebook's iOS App Store ID)

  • Authentication: Header Authorization: Bearer YOUR_API_KEY

Replace YOUR_API_KEY with your actual API key.

curl -X GET "https://api.pullbay.com/appstore/reviews?appId=284882215" \
  -H "Authorization: Bearer YOUR_API_KEY"
import requests

api_key = "YOUR_API_KEY"
url = "https://api.pullbay.com/appstore/reviews"
params = {"appId": "284882215"}
headers = {"Authorization": f"Bearer {api_key}"}

response = requests.get(url, params=params, headers=headers)
data = response.json()
print(data)
const axios = require('axios');

const apiKey = 'YOUR_API_KEY';
const url = 'https://api.pullbay.com/appstore/reviews';
const params = { appId: '284882215' };
const headers = { 'Authorization': `Bearer ${apiKey}` };

async function getReviews() {
  try {
    const response = await axios.get(url, { params, headers });
    console.log(response.data);
  } catch (error) {
    console.error('Error:', error.response.data);
  }
}

getReviews();

Understanding the Response

Here's what a successful response from this API call looks like:

Response Field Explanations

The response contains a top-level envelope plus data, pagination, and pricing.

Top level

Field
Type
Description

requestId

String

Unique identifier for this request (useful for debugging and support)

status

Integer

HTTP status code

message

String

Human-readable status message

success

Boolean

Whether the request succeeded

data (Array)

Each review object has these fields:

Field
Type
Description

id

String

Unique identifier for this review

date

ISO 8601

Timestamp when the review was posted

userName

String

Username or display name of the reviewer

userUrl

String

URL to the reviewer's profile

version

String

App version the reviewer was using

score

Integer

Star rating given by the reviewer (1–5)

title

String

Review title or headline

text

String

Full text of the review

url

String

URL to the review

country

String

Country code of the review

pagination (Object)

Field
Type
Description

page

Integer

Current page number

hasNextPage

Boolean

true if more pages are available

cursor / offset

String

Used only by cursor-/offset-paginated services (e.g. Google Maps); null for App Store

pricing (Object)

Field
Type
Description

creditsCharged

Integer

API credits consumed by this request (1 per request + 1 per item returned)

Fetching More Pages

When pagination.hasNextPage is true, fetch the next page by incrementing page:

Alternatively, use maxItems instead of page to pull a larger set in a single call (the two are mutually exclusive).

Check Your Usage in the Dashboard

1

Sign in

Sign in to https://dashboard.pullbay.com

2

Open Overview

Open your Overview to see your remaining credits

3

View Usage

Click Usage to see detailed request history: number of requests, breakdown by endpoint, requests over time, and credits consumed

Common Errors & Troubleshooting

All errors return the standard envelope with success: false and an error object:

400 Bad Request — Invalid or missing parameters. Verify required parameters are included (e.g. appId or bundleId) and values are correct (app IDs are numeric strings, 8–12 digits).

402 Insufficient Credits — You've used all your available credits. Check your remaining credits in the Overview, then purchase more or upgrade your plan.

404 Not Found — The requested resource (e.g. an app or developer ID) couldn't be found. Verify the identifier.

401 Unauthorized — Your API key is missing, invalid, or expired. Verify it's copied correctly and sent as Authorization: Bearer YOUR_API_KEY. If compromised, revoke it and create a new one.

429 Too Many Requests — You've hit a rate limit. Wait before retrying and implement exponential backoff.

500 / 503 Server Error — A server-side error or temporary unavailability. Retry after a few seconds; if it persists, contact support with your requestId.

Error Reference Table

Status
Message
Action

400

Bad request

Verify request parameters

402

Insufficient credits

Purchase more credits

404

Not found

Verify the identifier

401

Unauthorized

Check your API key

429

Too many requests

Wait and retry with backoff

500 / 503

Server error / unavailable

Retry or contact support

Next Steps

Congratulations on making your first Pullbay API call! Here's what to explore next:

1

Pagination Guide

Page-based pagination and bulk pulls with maxItems

2

Authentication Guide

API keys and security best practices

3

App Store API Reference

Explore all available endpoints and parameters

4

Error Handling

Implement robust error handling in your application

FAQ

How do I find an app's ID?

iOS App IDs appear in the App Store URL — for https://apps.apple.com/app/facebook/id284882215, the ID is 284882215. You can also pass a bundleId (e.g. com.burbn.instagram) instead of appId.

What does appId 284882215 refer to?

284882215 is the official Apple App Store ID for Facebook. We use it as a demonstration because it's a well-known, widely available app with many reviews. You can replace it with any app ID to fetch reviews for other applications.

Can I fetch reviews for apps on different app stores?

Yes. Different services serve different stores:

  • iOS reviews: GET /api/appstore/reviews (use the iOS appId or bundleId)

  • Android reviews: GET /api/google-play/reviews (use the package name)

Check the API Reference for endpoint-specific documentation.

How often are reviews updated?

Reviews are refreshed regularly (typically within 24 hours of being posted). Check your dashboard or contact support for the refresh schedule for your account.

What if I make the same request twice?

You'll get fresh data, not cached results. Each request consumes credits (1 per request + 1 per item returned) and may return different reviews if new ones have been posted. There's no automatic deduplication, so account for that if you make repeated requests for the same data.

Can I filter reviews by rating or date?

The App Store reviews endpoint doesn't support rating or date filters. It supports sort (recent or helpful), country, and pagination via page / maxItems. Filtering and sorting options vary by endpoint, so check each endpoint's reference page.

Last updated