Markets
Cinema markets, geographic context and available population profiles.
Production · organization access required
Requests require an active organization grant and an API key or Clerk session. Results respect your granted scopes and markets. Access details →
GET/v1/markets
Cinema markets.
Parameters
| Name | Type | Details |
|---|---|---|
limitquery · optional | integer | Default: 50 · Minimum: 1 · Maximum: 100 |
cursorquery · optional | string | Opaque cursor from the previous response. Preserve the same filters. |
countryCodequery · optional | string | Optional two-letter country filter. This narrows results; it does not grant access.Pattern: ^[A-Za-z]{2}$ |
Shell · authenticated request
curl "https://api.boxobserver.com/v1/markets" \
-H "Authorization: Bearer $BOX_OBSERVER_API_KEY"Response
200 application/json · Success shape within your granted access.
Illustrative response shape · not live data
{
"data": [],
"page": {
"nextCursor": null,
"hasMore": false
},
"meta": {
"requestId": "example-request-id",
"generatedAt": "2026-09-04T12:00:00.000Z"
}
}Response fields
| Field | Type and constraints |
|---|---|
dataRequired | array<object> |
data[].idRequired | stringPattern: ^(mkt|opr|ven|aud|mov|shw|dst|rel|crl|pof)_[A-Za-z0-9_-]+$ |
data[].nameRequired | string |
data[].countryCodeRequired | string |
data[].timeZoneRequired | string |
data[].latitudeRequired | number | nullMinimum: -90 · Maximum: 90 |
data[].longitudeRequired | number | nullMinimum: -180 · Maximum: 180 |
data[].profileRequired | object | null |
data[].profile.effectiveDateRequired | stringFormat: date |
data[].profile.populationRequired | integerMinimum: 0 |
data[].profile.age0To14Required | integerMinimum: 0 |
data[].profile.age15To24Required | integerMinimum: 0 |
data[].profile.age25To44Required | integerMinimum: 0 |
data[].profile.age45To64Required | integerMinimum: 0 |
data[].profile.age65PlusRequired | integerMinimum: 0 |
pageRequired | object |
page.nextCursorRequired | string | null |
page.hasMoreRequired | boolean |
metaRequired | object |
meta.requestIdRequired | string |
meta.generatedAtRequired | stringFormat: date-time |
Errors: 400, 401, 403, 429, 500, 503. Response format and retry guidance →
GET/v1/markets/{id}
Cinema market.
Replace {id} with the appropriate public identifier returned by the API.
Parameters
| Name | Type | Details |
|---|---|---|
idpath · required | string | Public resource identifier returned by the API. |
Shell · authenticated request
curl "https://api.boxobserver.com/v1/markets/{id}" \
-H "Authorization: Bearer $BOX_OBSERVER_API_KEY"Response
200 application/json · Success shape within your granted access.
Illustrative response shape · not live data
{
"data": {
"id": "mkt_ZXhhbXBsZQ",
"name": "example",
"countryCode": "RO",
"timeZone": "Europe/Bucharest",
"latitude": null,
"longitude": null,
"profile": null
},
"meta": {
"requestId": "example-request-id",
"generatedAt": "2026-09-04T12:00:00.000Z"
}
}Response fields
| Field | Type and constraints |
|---|---|
dataRequired | object |
data.idRequired | stringPattern: ^(mkt|opr|ven|aud|mov|shw|dst|rel|crl|pof)_[A-Za-z0-9_-]+$ |
data.nameRequired | string |
data.countryCodeRequired | string |
data.timeZoneRequired | string |
data.latitudeRequired | number | nullMinimum: -90 · Maximum: 90 |
data.longitudeRequired | number | nullMinimum: -180 · Maximum: 180 |
data.profileRequired | object | null |
data.profile.effectiveDateRequired | stringFormat: date |
data.profile.populationRequired | integerMinimum: 0 |
data.profile.age0To14Required | integerMinimum: 0 |
data.profile.age15To24Required | integerMinimum: 0 |
data.profile.age25To44Required | integerMinimum: 0 |
data.profile.age45To64Required | integerMinimum: 0 |
data.profile.age65PlusRequired | integerMinimum: 0 |
metaRequired | object |
meta.requestIdRequired | string |
meta.generatedAtRequired | stringFormat: date-time |
Errors: 400, 401, 403, 404, 429, 500, 503. Response format and retry guidance →