Up / API Reference Series
DOC REF-PND-001|V1|2026·04·25
RapidAPI Reference · v1
Every live endpoint of Professional Network Data, with the curls that actually work.
Compiled by probing every path the RapidAPI marketplace lists against the live host. A 200 with parameter validation proves an endpoint exists; a 404 proves it does not. 34 endpoints pass that test. Each card explains the use case, lists the parameters the API actually validates, and flags pagination, date filters and auth quirks.
34
Live endpoints
Verified by probing on 2026-04-25
1:1
Request to credit
Skipped when "not charged"
1
POST endpoint
search-people-by-url, JSON body
15
Dead paths
Listed in sidebar, return 404
34 of 34
Quirks worth learning before your first call
Pagination. Almost every list endpoint accepts start as a numeric offset (0, 10, 20, ...). There is no opaque pagination token. When in doubt, increment start by the page size returned in the previous batch.
Date filtering on posts.get-profile-posts takes postedAt=YYYY-MM-DD and returns only posts newer than that date. For an outbound research workflow, pass today minus 7 so you only spend a credit when the prospect actually posted recently.
Username vs URL. Most profile endpoints accept either username (the slug after linkedin.com/in/, case-sensitive) or, on a different path, the full url. The slug version is a hair faster; the URL version forgives copy-paste.
Free errors. When the response body contains "You will not be charged for this request", no credit was deducted, even though HTTP was 200. Anything else (success or empty array) costs one credit.
The lone POST. Only search-people-by-url uses POST with a JSON body. Everything else is GET with query parameters.
Profile enrichment
15 endpoints
Person-level reads. Turn a LinkedIn slug or URL into structured profile data, recent activity, and social proof for personalization.
Use whenYou have the LinkedIn slug (e.g. adamselipsky from linkedin.com/in/adamselipsky/) and need core profile fields: name, headline, current role, education, location.
Param
Type
Required
Notes
username
string
yes
Case-sensitive. Take the exact slug from the URL.
# Profile by username (root path of the API)
curl -G 'https://professional-network-data.p.rapidapi.com/' \
--data-urlencode 'username=adamselipsky' \
-H 'x-rapidapi-host: professional-network-data.p.rapidapi.com' \
-H 'x-rapidapi-key: yourapikeygoeshere'
NuanceThe path is literally /, not /profile or /get-profile. Easy to miss.
NuanceOne of three combo endpoints (#5, #6) that bundle reads to save credits. Use these instead of chaining two separate calls in Clay.
GET/profile-data-connection-count-postsProfile, connections and recent posts#6
Use whenEmail personalization workflows. One call gives you the role for context, the connection count for credibility, and the recent posts for the personalization hook.
NuanceOutlier in the family: requires the URL form, not the username. Will reject ?username=.
GET/get-profile-postsProfile post feed, date-filtered#8
Use whenYou want the prospect's recent posts as a personalization hook. Pair with get-profile-recent-activity-time to skip dormant accounts before spending a credit on the feed.
Param
Type
Required
Notes
username
string
yes
LinkedIn slug.
postedAt
date YYYY-MM-DD
no
Returns only posts newer than this date. Default in workflows: today() - 7.
NuancepostedAt behaves as a "newer than" filter, not "exact date". To paginate, hold postedAt constant and bump start by the batch size.
GET/get-profile-commentsComments the user left elsewhere#9
Use whenYou want the conversations a prospect engages with, not what they post themselves. Stronger signal than posts in some industries (their reactions to other VCs, founders, etc.).
Use whenYou need a passive engagement signal. Likes are a softer indicator than comments but cover a wider surface, useful for tracking what topics a prospect actually consumes.
NuanceSequence: call this, branch on freshness (e.g. last 30 days), only then call get-profile-posts. Saves a meaningful chunk of credits on cold lists.
GET/get-given-recommendationsRecommendations the user wrote#14
Use whenYou want to map a prospect's network of trust outward: who they have publicly endorsed (often coworkers, ex-reports, founders they backed).
Account-level reads. The three identifier flavors are domain (most common in CRM data), LinkedIn slug, and numeric ID. Pick the one matching your input column.
GET/get-company-by-domainResolve company from a website domain#21
Use whenThis is the workhorse for B2B enrichment. CSV has company_domain, you want headcount, industry, LinkedIn URL, HQ location.
Param
Type
Required
Notes
domain
string
yes
Bare domain (e.g. anthropic.com). Strip https:// and www..
NuanceReturns {"total": N}. Calling without username returns the LinkedIn-wide job count (~8M), useful as a quick credit-check but not for prospecting.
Use whenList expansion at the account level. You have one ICP-fit account, you want LinkedIn's own list of similar companies (often competitors or peers).
Discovery layer for building lists from scratch. People, jobs, locations, plus the only POST endpoint of the API for replaying a LinkedIn search URL.
GET/search-peopleBuild a people list from keywords#31
Use whenYou're building a fresh list and only have role keywords or names. Returns a paginated array with fullName, headline, profileUrl, and total count.
NuanceVerified live: returns {"total":1.27B,"items":[...]} with no params at all. The total is the full LinkedIn population matching, not what you'll get back. Use it as a sanity check on filter tightness, then paginate with start.
POST/search-people-by-urlReplay a LinkedIn search URL#32
Use whenYou constructed a complex search in LinkedIn's UI (with multi-filter combinations) and want to scrape the result set programmatically. Just paste the URL.
Param
Type
Required
Notes
url
string (URL), JSON body
yes
The full linkedin.com/search/results/people/?... URL.
NuanceVerified working with no params at all (returns a default feed). For tight ICP filters, combine keywords with a location resolved via endpoint #34.
GET/search-locationsResolve a place name to LinkedIn's geo IDs#34
Use whenPre-step before search-people or search-jobs: turn "Bangalore" into the canonical LinkedIn geoUrn for accurate filtering.
Param
Type
Required
Notes
keyword
string
yes
Singular keyword (note: not keywords like the other search endpoints).
NuanceThe param is keyword (singular). Every other search endpoint uses keywords (plural). Easy mistake.
Listed in the sidebar, returning 404
These appear in the RapidAPI marketplace UI for this API. The live host returns 404 endpoint does not exist for every variant tested (with and without the get- prefix, with and without trailing s, etc.). Treat them as deprecated. If you need any of them, write to professional.network.data@gmail.com; the provider explicitly notes RapidAPI messages are unmonitored.