curl --request POST \
--url https://api.preceptai.co.uk/v1/leads/post-search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"keywords": [
"SEO problem",
"struggling with SEO",
"search rankings dropped"
],
"timeframe": "month",
"limit": 30,
"name": "LinkedIn SEO problem posts",
"includeContactDetails": false
}
'{
"message": "Lead search job successfully created and 30 leads are being processed.",
"enrichment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>"
}{
"message": "<string>"
}{
"error": "<string>"
}Discover People from LinkedIn Posts
Discover leads directly from authors who recently published LinkedIn posts matching specific keywords.
Unlike /v1/leads/search (which searches by persona query), this endpoint discovers leads directly from content authors without requiring a persona query or running LLM query analysis.
Each result is one post author (a lead), not a raw post. Results are returned via GET /v1/jobs/{jobId} (or your webhook) and include the lead’s profile fields (full_name, first_name, last_name, job_title, company_name, company_domain, linkedin, user_name, location, country, connections_count, followers, enrich_email, enrich_phone) plus a post object:
url: link to the LinkedIn postcontent: post text (truncated to 2000 characters)posted_at: when the post was publishedlikes_count: number of likes/reactionscomments_count: number of comments
With findInsights: true, results also include summary, top_problems, internal_strategic_initiatives and public_appearances.
Use sortBy: "likes" or sortBy: "comments" to get the most-engaged posts instead of the default relevance order.
Optionally enrich leads with verified contact details (emails/phones) and AI insights.
curl --request POST \
--url https://api.preceptai.co.uk/v1/leads/post-search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"keywords": [
"SEO problem",
"struggling with SEO",
"search rankings dropped"
],
"timeframe": "month",
"limit": 30,
"name": "LinkedIn SEO problem posts",
"includeContactDetails": false
}
'{
"message": "Lead search job successfully created and 30 leads are being processed.",
"enrichment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "<string>"
}{
"message": "<string>"
}{
"error": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
1 to 5 keywords or phrases to search LinkedIn posts for. Discovers leads directly from the authors of matching posts.
1 - 5 elementsTimeframe of LinkedIn posts to search: 'day' (past 24h), 'week' (past 7 days), 'month' (past 30 days), or 'year'. Defaults to 'month'.
day, week, month, year How to rank matching posts. 'relevance' (default) keeps LinkedIn's relevance order. 'likes' or 'comments' selects the most-liked or most-commented posts from a larger candidate pool and returns results in descending order of that metric (ties broken by the other metric). Sorting is done by Precept, not by LinkedIn. No extra cost.
relevance, likes, comments Maximum number of leads to return (up to 1000, default 30).
x <= 1000A readable name for your enrichment job for searching on your dashboard.
Whether to find and verify email addresses and phone numbers for discovered authors. Adds +1 credit for email, +10 for phone (or +11 for both) per person.
The type of contact details to find when includeContactDetails is true. Possible values: 'emails', 'phones'.
emails, phones Generate AI insights for each discovered lead. Charges 1.1 credits per lead if true, else 0.1 credits.
Optional webhook URL to receive the result of the lead search operations.
Optional. When true and webhookUrl is provided, contact results are progressively streamed.
