curl --request GET \
--url https://api.unif.dev/v1/creators/{creator_id}/timeseries \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.unif.dev/v1/creators/{creator_id}/timeseries"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.unif.dev/v1/creators/{creator_id}/timeseries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.unif.dev/v1/creators/{creator_id}/timeseries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.unif.dev/v1/creators/{creator_id}/timeseries"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.unif.dev/v1/creators/{creator_id}/timeseries")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.unif.dev/v1/creators/{creator_id}/timeseries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"object": "timeseries",
"entity_id": "<string>",
"entity_type": "shop",
"granularity": "day",
"currency": "<string>",
"period": {
"start": "2023-12-25",
"end": "2023-12-25",
"granularity": "day",
"adjusted": true
},
"data": [
{
"date": "2023-12-25",
"values": {
"revenue": 48210.5,
"units_sold": 1804
}
}
],
"meta": {
"refreshed_at": "2023-11-07T05:31:56Z",
"completeness": 0.5,
"missing_fields": [
"<string>"
]
}
}{
"error": {
"type": "invalid_request_error",
"code": "parameter_invalid",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Get creator metrics over time
curl --request GET \
--url https://api.unif.dev/v1/creators/{creator_id}/timeseries \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.unif.dev/v1/creators/{creator_id}/timeseries"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.unif.dev/v1/creators/{creator_id}/timeseries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.unif.dev/v1/creators/{creator_id}/timeseries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.unif.dev/v1/creators/{creator_id}/timeseries"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.unif.dev/v1/creators/{creator_id}/timeseries")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.unif.dev/v1/creators/{creator_id}/timeseries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"object": "timeseries",
"entity_id": "<string>",
"entity_type": "shop",
"granularity": "day",
"currency": "<string>",
"period": {
"start": "2023-12-25",
"end": "2023-12-25",
"granularity": "day",
"adjusted": true
},
"data": [
{
"date": "2023-12-25",
"values": {
"revenue": 48210.5,
"units_sold": 1804
}
}
],
"meta": {
"refreshed_at": "2023-11-07T05:31:56Z",
"completeness": 0.5,
"missing_fields": [
"<string>"
]
}
}{
"error": {
"type": "invalid_request_error",
"code": "parameter_invalid",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"request_id": "<string>"
}
}Authorizations
Send your workspace API key as a bearer token:
Authorization: Bearer unif_sk_live_...
Keys are scoped to a single workspace. See Authentication.
Path Parameters
The Unif ID of the creator.
Query Parameters
Comma-separated metric names to return, for example revenue,units_sold.
"revenue,units_sold"
Bucket size for the series.
day, week, month A named period. Mutually exclusive with period_start and period_end.
last_7d, last_30d, last_90d, last_180d, month_to_date, previous_month First day of a custom period, inclusive.
Last day of a custom period, inclusive.
Convert every monetary field to this ISO 4217 currency.
"USD"
"GBP"
"IDR"
Response
The metric series.
"timeseries"shop, product, creator, video, livestream, category day, week, month The concrete window a request was measured over, after any preset was expanded and any channel-specific snapping was applied. Always read this rather than assuming you got back exactly the dates you asked for.
Hide child attributes
Hide child attributes
The smallest bucket the channel reports for this market.
day, week, month True when the requested dates were snapped to the nearest boundary the channel supports. See Periods and currency.
How current and how complete this record is.
Was this page helpful?