<!-- Markdown copy of https://docs.creatorain.com/partner-api/reference/operations/getpartnerlocationcontent/ -->
# One store's published videos

GET

/locations/{partner\_location\_id}/content

Select code sampleFetchcURL

```js
const url = 'https://data.creatorain.com/partner/v1/locations/store_123/content?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);
}
```

```sh
curl --request GET \
  --url 'https://data.creatorain.com/partner/v1/locations/store_123/content?limit=50' \
  --header 'Authorization: Bearer <token>'
```

-   Production (live stores; a live key is issued per partner)
-   Sandbox, for integration testing (test keys, test stores)

Videos filmed at this store that are LIVE on a platform, newest first. Approved but unpublished work is not listed: a merchant’s dashboard counts what is on the internet.

`metrics` is `null` until the video’s numbers have first been read from the public post, which is deliberate: `{"views": 0}` would be a claim that a video got no views, and `null` says nobody counted. Once it has been read, `metrics` is an object and any single number the platform does not publish is `null`, never 0. `metrics_measured_at` gives the time each number was read, and is null beside a number that was never read.

EITHER CREDENTIAL: the partner key or that store’s own token.

## Authorizations

-   **[partnerApiKey](/partner-api/reference/#partnerapikey)**
-   **[storeTokenHeader](/partner-api/reference/#storetokenheader)**
-   **[storeTokenQuery](/partner-api/reference/#storetokenquery)**

## Parameters

### Path Parameters

**partner\_location\_id**

required

string

<= 200 characters

YOUR id for the store, as you sent it to `POST /locations`.

#### Example

```
store_123
```

### Query Parameters

**cursor**

string

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.

**limit**

integer

default: 50 \>= 1 <= 200

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

### 200

A page of published videos.

Media typeapplication/json

object

**items**

required

Array<object>

One published video filmed at the store.

object

**content\_id**

string format: uuid

**post\_url**

string

nullable

**platform**

string

nullable

**published\_at**

RFC 3339 with the store’s offset.

string

nullable

**timezone**

string

nullable

**is\_collab**

Whether the store’s own account is a co-author of the post, read from the post’s co-author list when the video’s numbers are read. `false` when we could not tell, which includes every TikTok post (that feed has no co-author list) and any post not yet read.

boolean

**content\_reuse**

Whether the creator allowed the brand to reuse this content, as she chose it when she signed her agreement. `true` allowed; `false` declined, so the video is for her own post only; `null` when no choice was recorded (agreements signed before the option existed).

boolean

nullable

**creator**

object

**handle**

string

nullable

**metrics**

NULL until the video’s numbers have first been read from the public post. After that it is an object, and a number the platform does not publish is null, never 0 (for example Instagram shares and saves).

object

**views**

Plays.

integer

nullable

**likes**

integer

nullable

**comments**

integer

nullable

**shares**

integer

nullable

**saves**

integer

nullable

**metrics\_measured\_at**

When each number in `metrics` was read. Null exactly when `metrics` is null.

object

**views**

string format: date-time

nullable

**likes**

string format: date-time

nullable

**comments**

string format: date-time

nullable

**shares**

string format: date-time

nullable

**saves**

string format: date-time

nullable

**next\_cursor**

required

string

nullable

#### Example

```json
{
  "items": [
    {
      "post_url": "https://www.instagram.com/reel/abc123/",
      "platform": "instagram",
      "published_at": "2026-09-12T17:00:00-07:00",
      "timezone": "America/Los_Angeles",
      "metrics_measured_at": {
        "views": "2026-11-09T02:00:00Z",
        "likes": "2026-11-09T02:00:00Z",
        "comments": "2026-11-09T02:00:00Z",
        "shares": null,
        "saves": null
      }
    }
  ]
}
```

### 400

`validation_error`. `field` names the offending parameter.

Media typeapplication/json

object

**error**

required

object

**code**

required

The stable value to branch on.

string

Allowed values: unauthorized forbidden\_ip rate\_limited validation\_error location\_already\_exists location\_not\_found location\_terminated reservation\_not\_found conflict internal\_error

**message**

required

A human sentence. Copy, not contract; it may be reworded.

string

**field**

The request field at fault, dotted for a nested one (`plan.term_months`).

string

#### Example

```json
{
  "error": {
    "code": "unauthorized"
  }
}
```

### 401

`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.

Media typeapplication/json

object

**error**

required

object

**code**

required

The stable value to branch on.

string

Allowed values: unauthorized forbidden\_ip rate\_limited validation\_error location\_already\_exists location\_not\_found location\_terminated reservation\_not\_found conflict internal\_error

**message**

required

A human sentence. Copy, not contract; it may be reworded.

string

**field**

The request field at fault, dotted for a nested one (`plan.term_months`).

string

#### Example

```json
{
  "error": {
    "code": "unauthorized"
  }
}
```

### 404

`location_not_found`. No store of this key carries that `partner_location_id`.

Media typeapplication/json

object

**error**

required

object

**code**

required

The stable value to branch on.

string

Allowed values: unauthorized forbidden\_ip rate\_limited validation\_error location\_already\_exists location\_not\_found location\_terminated reservation\_not\_found conflict internal\_error

**message**

required

A human sentence. Copy, not contract; it may be reworded.

string

**field**

The request field at fault, dotted for a nested one (`plan.term_months`).

string

#### Example

```json
{
  "error": {
    "code": "unauthorized"
  }
}
```

### 429

`rate_limited`. Over this key’s requests-per-minute ceiling.

Media typeapplication/json

object

**error**

required

object

**code**

required

The stable value to branch on.

string

Allowed values: unauthorized forbidden\_ip rate\_limited validation\_error location\_already\_exists location\_not\_found location\_terminated reservation\_not\_found conflict internal\_error

**message**

required

A human sentence. Copy, not contract; it may be reworded.

string

**field**

The request field at fault, dotted for a nested one (`plan.term_months`).

string

#### Example

```json
{
  "error": {
    "code": "unauthorized"
  }
}
```
