curl --request GET \
--url https://dashboard.launchpointhq.com/api/v1/creators/{id}/feed \
--header 'x-api-key: <api-key>'import requests
url = "https://dashboard.launchpointhq.com/api/v1/creators/{id}/feed"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://dashboard.launchpointhq.com/api/v1/creators/{id}/feed', 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://dashboard.launchpointhq.com/api/v1/creators/{id}/feed",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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://dashboard.launchpointhq.com/api/v1/creators/{id}/feed"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://dashboard.launchpointhq.com/api/v1/creators/{id}/feed")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://dashboard.launchpointhq.com/api/v1/creators/{id}/feed")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"creatorId": "crt_demo_creator_7x2",
"accounts": [
{
"platform": "tiktok",
"handle": "demo_creator",
"feedReadAt": 1792407806006
}
],
"data": [
{
"platform": "tiktok",
"handle": "demo_creator",
"platformPostId": "7698835017320959246",
"url": "https://www.tiktok.com/@demo_creator/video/7698835017320959246",
"uploadedAt": 1792544400000,
"caption": "The best side hustle yet",
"mediaType": "video",
"durationSeconds": 50,
"views": 17800,
"likes": 612,
"comments": 24,
"shares": 11,
"bookmarks": 40,
"metricsRecordedAt": 1792548698699,
"paidPartnershipLabel": true,
"launchpointCampaign": {
"programId": "32ea539c-a42e-4158-b68a-11649446e80f",
"postId": "157cc1c1-75e1-40ed-86cb-6083165b2a9c"
}
},
{
"platform": "tiktok",
"handle": "demo_creator",
"platformPostId": "7697012345678901234",
"url": "https://www.tiktok.com/@demo_creator/video/7697012345678901234",
"uploadedAt": 1792200000000,
"caption": "Morning routine",
"mediaType": "video",
"durationSeconds": 31,
"views": 9400,
"likes": 380,
"comments": 12,
"shares": 4,
"bookmarks": null,
"metricsRecordedAt": 1792407806006,
"paidPartnershipLabel": false,
"launchpointCampaign": null
}
],
"page": 1,
"total": 2,
"totalPages": 1
}List a creator's feed
List one visible creator’s public posts, newest first, on the social accounts the creator uses on your programs. The list combines the creator’s feed, as Launchpoint last read it, with the Launchpoint campaign posts on your programs. A post that is both appears once, as the campaign post.
This endpoint returns stored data only and never starts a new read. Each read keeps the account’s most recent posts, so how far back the feed goes depends on how often the account was read. accounts[].feedReadAt is when each account’s feed was last read; null means it was not read yet. Stories are not included.
The counts of each post are one reading, taken at metricsRecordedAt. paidPartnershipLabel is the platform’s own label and nothing more: a sponsored post that the creator did not label reads as false.
fromDate and toDate filter by posting day in America/New_York, as GET /posts does. A creator the API key cannot see returns 404.
curl --request GET \
--url https://dashboard.launchpointhq.com/api/v1/creators/{id}/feed \
--header 'x-api-key: <api-key>'import requests
url = "https://dashboard.launchpointhq.com/api/v1/creators/{id}/feed"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://dashboard.launchpointhq.com/api/v1/creators/{id}/feed', 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://dashboard.launchpointhq.com/api/v1/creators/{id}/feed",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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://dashboard.launchpointhq.com/api/v1/creators/{id}/feed"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://dashboard.launchpointhq.com/api/v1/creators/{id}/feed")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://dashboard.launchpointhq.com/api/v1/creators/{id}/feed")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"creatorId": "crt_demo_creator_7x2",
"accounts": [
{
"platform": "tiktok",
"handle": "demo_creator",
"feedReadAt": 1792407806006
}
],
"data": [
{
"platform": "tiktok",
"handle": "demo_creator",
"platformPostId": "7698835017320959246",
"url": "https://www.tiktok.com/@demo_creator/video/7698835017320959246",
"uploadedAt": 1792544400000,
"caption": "The best side hustle yet",
"mediaType": "video",
"durationSeconds": 50,
"views": 17800,
"likes": 612,
"comments": 24,
"shares": 11,
"bookmarks": 40,
"metricsRecordedAt": 1792548698699,
"paidPartnershipLabel": true,
"launchpointCampaign": {
"programId": "32ea539c-a42e-4158-b68a-11649446e80f",
"postId": "157cc1c1-75e1-40ed-86cb-6083165b2a9c"
}
},
{
"platform": "tiktok",
"handle": "demo_creator",
"platformPostId": "7697012345678901234",
"url": "https://www.tiktok.com/@demo_creator/video/7697012345678901234",
"uploadedAt": 1792200000000,
"caption": "Morning routine",
"mediaType": "video",
"durationSeconds": 31,
"views": 9400,
"likes": 380,
"comments": 12,
"shares": 4,
"bookmarks": null,
"metricsRecordedAt": 1792407806006,
"paidPartnershipLabel": false,
"launchpointCampaign": null
}
],
"page": 1,
"total": 2,
"totalPages": 1
}Authorizations
API key created in Dashboard → Settings → Developer
Path Parameters
Opaque creator ID
Query Parameters
Choose the data scope. company (default) limits results to the API key company's data. agency includes the parent agency and its linked brands. scope=agency requires a parent agency key; other keys receive 403.
company, agency x >= 11 <= x <= 100tiktok, instagram, youtube, facebook, snapchat First posting day, YYYY-MM-DD.
Last posting day, YYYY-MM-DD.