curl -X POST https://api.up2data.ai/v1/posts/engagement/comments \
-H "X-API-Key: $UP2DATA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"urn": "7267273010393358336", "page": 1}'
import requests
resp = requests.post(
"https://api.up2data.ai/v1/posts/engagement/comments",
headers={"X-API-Key": UP2DATA_API_KEY},
json={"urn": "7267273010393358336", "page": 1},
)
data = resp.json()["data"]
{
"data": {
"comments": [{
"text": "Great insights on automation!",
"posted_at": "2026-07-06T19:02:00Z",
"replies_count": 2,
"commenter": {
"url": "https://linkedin.com/in/janedoe",
"full_name": "Jane Doe",
"headline": "VP Marketing at Acme Corp",
"urn": "ACoAABOPHB8BM6…"
}
}],
"pagination": {"page": 1, "per_page": 25, "returned": 1, "has_more": true},
"pagination_token": "eyJwYWdlIjoyfQ.signature"
},
"meta": {
"creditsUsed": 1,
"creditsRemaining": 98419,
"billed": true,
"reason": "success",
"requestId": "req_example",
"latencyMs": 2100
}
}
{
"error": {
"type": "unprocessable_target",
"message": "Target is private, deleted, or unreachable.",
"requestId": "req_example"
}
}
Posts
Get post comments
Inbound engagement on a post — who commented. Not the same as a profile’s outbound comments tab; use activity feed for that.
POST
/
v1
/
posts
/
engagement
/
comments
curl -X POST https://api.up2data.ai/v1/posts/engagement/comments \
-H "X-API-Key: $UP2DATA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"urn": "7267273010393358336", "page": 1}'
import requests
resp = requests.post(
"https://api.up2data.ai/v1/posts/engagement/comments",
headers={"X-API-Key": UP2DATA_API_KEY},
json={"urn": "7267273010393358336", "page": 1},
)
data = resp.json()["data"]
{
"data": {
"comments": [{
"text": "Great insights on automation!",
"posted_at": "2026-07-06T19:02:00Z",
"replies_count": 2,
"commenter": {
"url": "https://linkedin.com/in/janedoe",
"full_name": "Jane Doe",
"headline": "VP Marketing at Acme Corp",
"urn": "ACoAABOPHB8BM6…"
}
}],
"pagination": {"page": 1, "per_page": 25, "returned": 1, "has_more": true},
"pagination_token": "eyJwYWdlIjoyfQ.signature"
},
"meta": {
"creditsUsed": 1,
"creditsRemaining": 98419,
"billed": true,
"reason": "success",
"requestId": "req_example",
"latencyMs": 2100
}
}
{
"error": {
"type": "unprocessable_target",
"message": "Target is private, deleted, or unreachable.",
"requestId": "req_example"
}
}
Cost: 1 credit per returned comment · empty pages free
Inbound engagement on a post — list commenters with profile stubs. Use
Rate limit: counts as 1 request against your rate limit.
urn when you have the post URN from search or enrich results.
For what a profile commented on elsewhere, use profile activity with kind: comments — that is a separate scrape.
string
Post activity URN (numeric). Preferred over
url.string
Public post URL. Provide
urn or url.string
Share URN — pass when paginating if returned by a prior page.
integer
default:"1"
integer
default:"25"
1–25.
integer
Max comments to scrape on the first request (defaults to
per_page).string
Required for pages after the first when returned by a prior response.
Response
object[]
text, posted_at, replies_count, commenter (url, full_name, headline, urn).string | null
Signed continuation token.
curl -X POST https://api.up2data.ai/v1/posts/engagement/comments \
-H "X-API-Key: $UP2DATA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"urn": "7267273010393358336", "page": 1}'
import requests
resp = requests.post(
"https://api.up2data.ai/v1/posts/engagement/comments",
headers={"X-API-Key": UP2DATA_API_KEY},
json={"urn": "7267273010393358336", "page": 1},
)
data = resp.json()["data"]
{
"data": {
"comments": [{
"text": "Great insights on automation!",
"posted_at": "2026-07-06T19:02:00Z",
"replies_count": 2,
"commenter": {
"url": "https://linkedin.com/in/janedoe",
"full_name": "Jane Doe",
"headline": "VP Marketing at Acme Corp",
"urn": "ACoAABOPHB8BM6…"
}
}],
"pagination": {"page": 1, "per_page": 25, "returned": 1, "has_more": true},
"pagination_token": "eyJwYWdlIjoyfQ.signature"
},
"meta": {
"creditsUsed": 1,
"creditsRemaining": 98419,
"billed": true,
"reason": "success",
"requestId": "req_example",
"latencyMs": 2100
}
}
{
"error": {
"type": "unprocessable_target",
"message": "Target is private, deleted, or unreachable.",
"requestId": "req_example"
}
}