List posts
curl --request GET \
--url https://app.tryordinal.com/api/v1/linkedin/leads/{profileId}/posts \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.tryordinal.com/api/v1/linkedin/leads/{profileId}/posts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.tryordinal.com/api/v1/linkedin/leads/{profileId}/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://app.tryordinal.com/api/v1/linkedin/leads/{profileId}/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 => [
"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://app.tryordinal.com/api/v1/linkedin/leads/{profileId}/posts"
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://app.tryordinal.com/api/v1/linkedin/leads/{profileId}/posts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.tryordinal.com/api/v1/linkedin/leads/{profileId}/posts")
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{
"posts": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"url": "<string>",
"commentary": "<string>",
"publishedAt": "2023-11-07T05:31:56Z",
"likeCount": 123,
"commentCount": 123,
"shareCount": 123,
"scrapedLeadsCount": {
"reactions": 123,
"comments": 123,
"reshares": 123
}
}
],
"nextCursor": "<string>",
"hasMore": true
}{
"code": "UNAUTHORIZED",
"message": "Invalid or unauthorized API key"
}{
"code": "FORBIDDEN",
"message": "Engagement profiles cannot be used for analytics"
}{
"code": "NOT_FOUND",
"message": "Post not found or does not belong to this workspace"
}List posts
Returns all LinkedIn posts for a profile with scraped lead counts (reactions, comments, reshares). Supports pagination and filtering by date range. Requires leads scraping to be enabled for the profile.
GET
/
linkedin
/
leads
/
{profileId}
/
posts
List posts
curl --request GET \
--url https://app.tryordinal.com/api/v1/linkedin/leads/{profileId}/posts \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.tryordinal.com/api/v1/linkedin/leads/{profileId}/posts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.tryordinal.com/api/v1/linkedin/leads/{profileId}/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://app.tryordinal.com/api/v1/linkedin/leads/{profileId}/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 => [
"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://app.tryordinal.com/api/v1/linkedin/leads/{profileId}/posts"
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://app.tryordinal.com/api/v1/linkedin/leads/{profileId}/posts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.tryordinal.com/api/v1/linkedin/leads/{profileId}/posts")
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{
"posts": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"url": "<string>",
"commentary": "<string>",
"publishedAt": "2023-11-07T05:31:56Z",
"likeCount": 123,
"commentCount": 123,
"shareCount": 123,
"scrapedLeadsCount": {
"reactions": 123,
"comments": 123,
"reshares": 123
}
}
],
"nextCursor": "<string>",
"hasMore": true
}{
"code": "UNAUTHORIZED",
"message": "Invalid or unauthorized API key"
}{
"code": "FORBIDDEN",
"message": "Engagement profiles cannot be used for analytics"
}{
"code": "NOT_FOUND",
"message": "Post not found or does not belong to this workspace"
}Authorizations
API key authentication. Generate an API key from your workspace settings.
Path Parameters
LinkedIn profile ID (UUID)
Query Parameters
Filter posts published on or after this date
Filter posts published on or before this date
Maximum number of posts to return (1-100)
Required range:
1 <= x <= 100Pagination cursor from previous response
Was this page helpful?
⌘I