Yelp
Yelp: places, reviews, and search. All endpoints are read-only GET requests and return public Yelp data — no Yelp account of your own is required.
Base URL: https://api.pullbay.com/
Endpoints
GET /yelp/place/{id}
Get a place by ID
—
GET /yelp/place/{id}/reviews
Get reviews for a place
Page / maxItems
GET /yelp/place/handle/{handle}
Get a place by handle
—
GET /yelp/search
Search Yelp places
Page / maxItems
Get Place
Returns a single Yelp place by its Yelp business ID.
Request
GET /yelp/place/{id}
Authorization: Bearer YOUR_API_KEYParameters
id
string
Yes
Yelp business ID, 1–200 characters (e.g. JQNDglh1GHuvHriHAcJ1yg)
Example
curl -G "https://api.pullbay.com/yelp/place/JQNDglh1GHuvHriHAcJ1yg" \
-H "Authorization: Bearer YOUR_API_KEY"Response
Credit cost: dynamic, returned in pricing.creditsCharged.
Get Place Reviews
Returns reviews for a Yelp place. Use page (1-indexed) to paginate or maxItems for a one-shot bulk pull (mutually exclusive).
Request
Parameters
id
string
Yes
Yelp business ID, 1–200 characters
sortBy
string
No
Sort order for reviews, 1–50 characters
page
integer
No
Page number, 1–100. Mutually exclusive with maxItems
maxItems
integer
No
One-shot bulk pull, 1–200 results. Mutually exclusive with page
Example
Response
Credit cost: dynamic, returned in pricing.creditsCharged. Cost scales with the number of reviews returned, not the number of requests.
Get Place By Handle
Returns a Yelp place by its handle / slug (the vanity URL segment used on yelp.com).
Request
Parameters
handle
string
Yes
Place handle / slug, 1–200 characters (e.g. starbucks-seattle-121)
Example
Response
Credit cost: dynamic, returned in pricing.creditsCharged.
Search Places
Search Yelp places by query and location. Use page (1-indexed) to paginate or maxItems for a one-shot bulk pull (mutually exclusive).
Request
Parameters
query
string
Yes
Search term, 1–200 characters (e.g. coffee)
location
string
Yes
Location to search near, 1–200 characters (e.g. Seattle, WA)
sortBy
string
No
Sort order for results, 1–50 characters
page
integer
No
Page number, 1–100. Mutually exclusive with maxItems
maxItems
integer
No
One-shot bulk pull, 1–200 results. Mutually exclusive with page
Example
Response
Credit cost: dynamic, returned in pricing.creditsCharged. Using maxItems to pull more results in one call costs proportionally more than a single page.
Object schemas
Place object
id
string
Yelp business ID
alias
string
Handle / slug used in the place's Yelp URL
title
string
Place name
website
string
Place's external website
phoneNumber
string
Contact phone number
avgRating
number
Rounded average rating
unroundedAvgRating
number
Unrounded average rating
reviewCount
integer
Total number of reviews
priceRange
string
Price tier (e.g. $$)
isBusinessClosed
boolean
Whether the business is permanently closed
primaryPhoto
string
URL of the primary photo
mediaCount
integer
Number of photos/media items on the profile
address
object
Structured address fields
coordinates
object
latitude / longitude
categories
array
Business categories
operationHours
array
Hours of operation per day
amenities
array
Amenities offered (e.g. takeout, delivery)
about
object
"About this business" details
Review object
id
string
Review ID
url
string
Permalink to the review
rating
number
Rating, 1–5
text
string
Review body
language
string
Language code of the review text
date
string (date-time)
When the review was posted
images
array
Image URLs attached to the review
feedback
object
Useful/funny/cool feedback counts
reviewer
object
id, name, profileUrl, image of the reviewer
Search result object
id
string
Yelp business ID
alias
string
Handle / slug used in the place's Yelp URL
name
string
Place name
rating
number
Average rating
reviewCount
integer
Total number of reviews
priceRange
string
Price tier (e.g. $$)
phone
string | null
Contact phone number
website
string | null
Place's external website
coordinates
object
latitude / longitude
categories
array
Business categories
images
array
Photo URLs
Note: the search result object is a lighter-weight summary than the full place object — it uses name instead of title, phone instead of phoneNumber, and omits address, operationHours, amenities, about, isBusinessClosed, primaryPhoto, and mediaCount. Fetch the full place by id or alias (handle) if you need those fields.
Errors
All non-2xx responses share the same envelope:
400
Bad request — missing/invalid parameters
402
Insufficient credits
404
Place or review set not found
Finding Place IDs and Handles
Place ID: the opaque ID Yelp assigns to a business, e.g.
JQNDglh1GHuvHriHAcJ1yg. You'll typically get this from a prior/yelp/searchcall'sidfield.Handle: the vanity slug in a place's Yelp URL, e.g.
https://www.yelp.com/biz/starbucks-seattle-121→starbucks-seattle-121. Search results also return this asalias.Both resolve the same place — use
GET /yelp/place/{id}if you already have the ID (from a search result or a previous lookup), orGET /yelp/place/handle/{handle}if you only have a Yelp URL or slug.
Pagination
pageandmaxItemsare mutually exclusive on both/yelp/searchand/yelp/place/{id}/reviews.pagereturns one page at a time; checkpagination.hasNextPageto know whether to request the next page.maxItemspulls up to the requested count in a single call instead of paging manually — useful for one-shot bulk pulls, but billed proportionally to the number of results (see each endpoint's credit cost note above).
Last updated