One store's named creators (accepted or later)
const url = 'https://data.creatorain.com/partner/v1/locations/store_123/creators?limit=50';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://data.creatorain.com/partner/v1/locations/store_123/creators?limit=50' \ --header 'Authorization: Bearer <token>'The creators of this store’s current season who are at stage accepted or later, newest
accepted first. Creators still being contacted are not named; they are counts in
pipeline on GET /locations/{partner_location_id}, and pipeline.accepted is the
length of this list.
No email, phone, rates or notes: a merchant should never need to contact a creator directly.
EITHER CREDENTIAL: the partner key or that store’s own token.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”YOUR id for the store, as you sent it to POST /locations.
Example
store_123Query Parameters
Section titled “Query Parameters”The next_cursor from the previous page, sent back UNCHANGED. Omit it for the first page.
It is opaque: do not build one yourself. It names a POSITION in the sort order rather than
a count of rows to skip, which is why a page stays stable when a booking is touched between
two requests. A cursor we did not issue is refused with 400 validation_error, rather than
silently treated as the first page, so a broken client fails loudly instead of looping over
page one for ever.
Rows per page. Default 50, maximum 200. A larger value is CLAMPED to 200 rather than refused, so you never have to guess the ceiling.
Responses
Section titled “Responses”A page of named creators.
object
One named creator of a store. Public profile only.
object
Her next confirmed visit at this store, RFC 3339 with the store’s offset.
Example
{ "items": [ { "handle": "example_creator", "platforms": [ "instagram", "tiktok" ], "followers": 18200, "city": "San Jose", "stage": "accepted", "next_visit": "2026-10-03T15:00:00-07:00" } ]}validation_error. field names the offending parameter.
object
object
The stable value to branch on.
A human sentence. Copy, not contract; it may be reworded.
The request field at fault, dotted for a nested one (plan.term_months).
Example
{ "error": { "code": "unauthorized" }}unauthorized. A missing, malformed, unknown or revoked key; or an invalid, expired or
wrong-store dashboard token. One answer for every case on purpose: the holder of a bad
credential learns nothing from the difference.
object
object
The stable value to branch on.
A human sentence. Copy, not contract; it may be reworded.
The request field at fault, dotted for a nested one (plan.term_months).
Example
{ "error": { "code": "unauthorized" }}location_not_found. No store of this key carries that partner_location_id.
object
object
The stable value to branch on.
A human sentence. Copy, not contract; it may be reworded.
The request field at fault, dotted for a nested one (plan.term_months).
Example
{ "error": { "code": "unauthorized" }}rate_limited. Over this key’s requests-per-minute ceiling.
object
object
The stable value to branch on.
A human sentence. Copy, not contract; it may be reworded.
The request field at fault, dotted for a nested one (plan.term_months).
Example
{ "error": { "code": "unauthorized" }}