Docs / Posts
get_recent_posts
Read one person's latest posts, through a shared account.
This action only reads. It changes nothing, so it is safe to try.
What you give it
| Input | What it is | Where to get it |
|---|---|---|
profileUrloptional | A profile link or a public identifier. LinkedIn profile URL of the person, e.g. a linkedinUrl from search_people_sales_navigator ("https://linkedin.com/in/…"). | Open the person's profile on LinkedIn and copy the address from your browser. It looks like https://www.linkedin.com/in/their-name Or run search_people and use people[].profileUrl from its answer.37 more places to get it
|
providerIdoptional | A member id or a Sales Navigator id. The person's providerId from search_people_sales_navigator (an ACwAA… id). Faster than profileUrl — skips the profile-resolution lookup. | Run get_profile_details and use providerId from its answer.22 more places to get it
|
limitoptional | A number, 1 to 20. Max recent posts to return (1–20, default 2: the newest plus a backup is usually all a personalized opener needs). | You write it. |
Call it
curl -X POST https://api.heyreagent.com/v1/actions/get_recent_posts \
-H "Authorization: Bearer YOUR_KEY" \
-H "content-type: application/json" \
-d '{"profileUrl":"PASTE_PROFILE_LINK_HERE"}'The same call in JavaScript
const response = await fetch("https://api.heyreagent.com/v1/actions/get_recent_posts", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_KEY",
"content-type": "application/json",
},
body: JSON.stringify({
"profileUrl": "PASTE_PROFILE_LINK_HERE"
}),
});
const answer = await response.json();
console.log(answer);The same call in Python
import requests
response = requests.post(
"https://api.heyreagent.com/v1/actions/get_recent_posts",
headers={"Authorization": "Bearer YOUR_KEY"},
json={
"profileUrl": "PASTE_PROFILE_LINK_HERE",
},
)
print(response.json())The same call in n8n
Add an HTTP Request node and fill it in like this:
| Method | POST |
| URL | https://api.heyreagent.com/v1/actions/get_recent_posts |
| Send Headers | On. Name Authorization, Value Bearer YOUR_KEY |
| Send Body | On. Body Content Type JSON, Specify Body Using JSON, then paste the body below |
{
"profileUrl": "PASTE_PROFILE_LINK_HERE"
}Put your own key where it says YOUR_KEY. Put your own value where it says PASTE_…_HERE: the table above says where each one comes from. New here? Start with your first call.
What you get back
When it worked, the answer is { "ok": true, "result": { … } }. Inside result:
returned | |
source | |
posts | |
note |
A field that does not apply to an answer is left out, or is null.
When it did not work, the answer is { "ok": false, "error": "…", "message": "…" }. What each error means.
Good to know
- Pass profileUrl or providerId, one of them. providerId is faster: a link is first resolved to an id.
- People only. For a company page use list_posts_by_author with isCompany true.
- A post here has no socialId: pass its url to get_post, or straight to comment_on_post and react_to_post.
In Claude or ChatGPT
Once connected, ask in your own words. The assistant sees this action as a tool with the same name, get_recent_posts, and the same inputs.