curl --request GET \
--url https://dashboard.launchpointhq.com/api/v1/posts \
--header 'x-api-key: <api-key>'import requests
url = "https://dashboard.launchpointhq.com/api/v1/posts"
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/posts', 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/posts",
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/posts"
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/posts")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://dashboard.launchpointhq.com/api/v1/posts")
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{
"data": [
{
"id": "<string>",
"creatorId": "<string>",
"crossPostGroupId": "<string>",
"title": "<string>",
"platform": "tiktok",
"url": "<string>",
"thumbnail": "<string>",
"metricsAvailable": true,
"metricsRecordedAt": 123,
"views": 123,
"likes": 123,
"comments": 123,
"shares": 123,
"earnings": 123,
"paid": true,
"contractorName": "<string>",
"uploadedAt": 123,
"deltaFromPrevDay": {
"views": 123
}
}
],
"page": 123,
"total": 123,
"totalPages": 123
}Browse posts
Get social media posts with detailed filters.
Filter posts by program, platform, creator, date range, and more. Each row includes direct links, thumbnails, stable creator IDs, cross-post group IDs, current metrics, metric availability, and the current UTC day’s view change.
Platform copies of one source video remain separate rows because their links and metrics differ. Copies share crossPostGroupId so callers can group or de-duplicate them.
Agency accounts can pass scope=agency to return posts from the parent agency and every subaccount in one request.
curl --request GET \
--url https://dashboard.launchpointhq.com/api/v1/posts \
--header 'x-api-key: <api-key>'import requests
url = "https://dashboard.launchpointhq.com/api/v1/posts"
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/posts', 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/posts",
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/posts"
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/posts")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://dashboard.launchpointhq.com/api/v1/posts")
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{
"data": [
{
"id": "<string>",
"creatorId": "<string>",
"crossPostGroupId": "<string>",
"title": "<string>",
"platform": "tiktok",
"url": "<string>",
"thumbnail": "<string>",
"metricsAvailable": true,
"metricsRecordedAt": 123,
"views": 123,
"likes": 123,
"comments": 123,
"shares": 123,
"earnings": 123,
"paid": true,
"contractorName": "<string>",
"uploadedAt": 123,
"deltaFromPrevDay": {
"views": 123
}
}
],
"page": 123,
"total": 123,
"totalPages": 123
}Authorizations
API key created in Dashboard → Settings → Developer
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 1 <= x <= 500Narrow results by program IDs (multiple allowed)
Narrow results by platforms (multiple allowed)
tiktok, instagram, youtube, facebook, snapchat Narrow results by creator IDs (multiple allowed)
Include posts from this date (YYYY-MM-DD)
Include posts through this date (YYYY-MM-DD)