# Linked Panda Agent API Read-only x402 API for LinkedIn profile enrichment, bulk LinkedIn enrichment, verified work-email lookup, and public post engagement data. Canonical API origin: https://api.linkedpanda.com x402 discovery: https://api.linkedpanda.com/.well-known/x402 OpenAPI: https://api.linkedpanda.com/agent/v1/openapi.json Homepage: https://linkedpanda.com ## Payment Protocol: x402 v2 exact payment. Network: eip155:8453. Asset: USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913. Header: PAYMENT-SIGNATURE. Legacy X-PAYMENT is also accepted. Pricing is charged per successful request. Bulk profile enrichment is $0.05 USDC per profile. - POST /agent/v1/profiles/enrich: $0.05 USDC per profile (max $1.25) - LinkedIn profile enrichment. - GET /agent/v1/profiles/enrich: $0.05 USDC - LinkedIn profile enrichment. - GET /agent/v1/profiles/email: $0.05 USDC - Verified work-email lookup for a LinkedIn profile. - POST /agent/v1/profiles/email: $0.05 USDC - Verified work-email lookup for a LinkedIn profile. - POST /agent/v1/profiles/posts: $0.05 USDC per post (max $1.00) - Recent LinkedIn posts for a profile. - POST /agent/v1/profiles/search: $0.30 USDC - LinkedIn profile search results page. - POST /agent/v1/companies/enrich: $0.05 USDC - LinkedIn company enrichment. - POST /agent/v1/companies/search: $0.30 USDC - LinkedIn company search results page. - POST /agent/v1/geo-id: $0.01 USDC - LinkedIn GeoID lookup. - POST /agent/v1/ads/search: $0.05 USDC - LinkedIn ad library search results page. - POST /agent/v1/ads/get: $0.05 USDC - LinkedIn ad library details. - POST /agent/v1/jobs/search: $0.05 USDC - LinkedIn job search results page. - POST /agent/v1/jobs/get: $0.05 USDC - LinkedIn job details. - GET /agent/v1/profiles/{linkedinId}: $0.05 USDC - LinkedIn profile enrichment. - POST /agent/v1/profiles/{linkedinId}: $0.05 USDC - LinkedIn profile enrichment. - GET /agent/v1/posts/reactions: $0.05 USDC - Reactions and comments for a LinkedIn post. - POST /agent/v1/posts/reactions: $0.05 USDC - Reactions and comments for a LinkedIn post. ## How agents should call 1. Read this file or the OpenAPI document. 2. Call the paid endpoint without PAYMENT-SIGNATURE. 3. Parse the 402 response body and choose an entry from accepts. 4. Sign the x402 v2 exact USDC payment for that requirement. 5. Retry the same URL with PAYMENT-SIGNATURE. 6. On success, read the JSON body and PAYMENT-RESPONSE header. ## Profile input rules - `linkedinId` means the public identifier from a real LinkedIn person profile URL: `https://www.linkedin.com/in//`. - If you have the full LinkedIn URL, prefer `linkedinUrl` instead of guessing or inventing an ID. - Replace path placeholders before paying. Do not call paid endpoints with `test-profile`, `alex-example`, `replace-with-real-linkedin-id`, or other synthetic values. - The path shortcut is `/agent/v1/profiles/{linkedinId}`. It is not a search endpoint and `{linkedinId}` is not a profile count. ## Paid endpoints ### POST https://api.linkedpanda.com/agent/v1/profiles/enrich Bulk LinkedIn profile enrichment API for B2B lead enrichment and contact-data workflows. Enrich up to 25 LinkedIn profiles per request by sending linkedinId or linkedinUrl for each profile. Price: $0.05 USDC per profile (max $1.25). OpenAPI operationId: bulkEnrichLinkedInProfiles. ### GET https://api.linkedpanda.com/agent/v1/profiles/enrich LinkedIn profile enrichment API for one person. Returns normalized B2B lead fields using either linkedinId or linkedinUrl. Price: $0.05 USDC. OpenAPI operationId: enrichLinkedInProfile. ### GET https://api.linkedpanda.com/agent/v1/profiles/email Deprecated GET form. Finds and verifies a work email for a LinkedIn profile, supporting B2B contact enrichment from linkedinId or linkedinUrl. Use POST /agent/v1/profiles/email instead. Price: $0.05 USDC. OpenAPI operationId: findLinkedInProfileEmail. ### POST https://api.linkedpanda.com/agent/v1/profiles/email Finds and verifies a work email for a LinkedIn profile, supporting B2B contact enrichment from linkedinId or linkedinUrl. Accepts optional requestContext metadata. Price: $0.05 USDC. OpenAPI operationId: postFindLinkedInProfileEmail. ### POST https://api.linkedpanda.com/agent/v1/profiles/posts Returns the latest public LinkedIn posts for a profile. Charged per requested limit; default 5 and max 20. Accepts optional requestContext metadata. Price: $0.05 USDC per post (max $1.00). OpenAPI operationId: listLinkedInProfilePosts. ### POST https://api.linkedpanda.com/agent/v1/profiles/search Searches LinkedIn profiles by name, title, company, school, location, GeoID, industry, or followerOf. Harvest profile search is fuzzy and follows LinkedIn autocomplete behavior. Accepts optional requestContext metadata. Price: $0.30 USDC. OpenAPI operationId: searchLinkedInProfiles. ### POST https://api.linkedpanda.com/agent/v1/companies/enrich Resolves a LinkedIn company URL, universal name, ID, or search term into normalized company firmographics. Cached company hits are marked in the response. Accepts optional requestContext metadata. Price: $0.05 USDC. OpenAPI operationId: enrichLinkedInCompany. ### POST https://api.linkedpanda.com/agent/v1/companies/search Searches LinkedIn companies by keyword, industry, location, or GeoID. Accepts optional requestContext metadata. Price: $0.30 USDC. OpenAPI operationId: searchLinkedInCompanies. ### POST https://api.linkedpanda.com/agent/v1/geo-id Looks up LinkedIn GeoID candidates for location text. Use this before profile or company search when location precision matters. Accepts optional requestContext metadata. Price: $0.01 USDC. OpenAPI operationId: lookupLinkedInGeoId. ### POST https://api.linkedpanda.com/agent/v1/ads/search Searches LinkedIn Ad Library records by keyword or company. Accepts optional requestContext metadata. Price: $0.05 USDC. OpenAPI operationId: searchLinkedInAds. ### POST https://api.linkedpanda.com/agent/v1/ads/get Returns details for one LinkedIn Ad Library item by adId. Accepts optional requestContext metadata. Price: $0.05 USDC. OpenAPI operationId: getLinkedInAd. ### POST https://api.linkedpanda.com/agent/v1/jobs/search Searches LinkedIn jobs by title, company, location, or GeoID. Accepts optional requestContext metadata. Price: $0.05 USDC. OpenAPI operationId: searchLinkedInJobs. ### POST https://api.linkedpanda.com/agent/v1/jobs/get Returns details for one LinkedIn job by jobId. Accepts optional requestContext metadata. Price: $0.05 USDC. OpenAPI operationId: getLinkedInJob. ### GET https://api.linkedpanda.com/agent/v1/profiles/{linkedinId} Deprecated GET form. Shortcut LinkedIn profile enrichment route when the real LinkedIn public identifier from linkedin.com/in/ is already known. Use POST /agent/v1/profiles/{linkedinId} instead. Price: $0.05 USDC. OpenAPI operationId: getLinkedInProfileByPathLinkedinId. ### POST https://api.linkedpanda.com/agent/v1/profiles/{linkedinId} Shortcut LinkedIn profile enrichment route when the real LinkedIn public identifier from linkedin.com/in/ is already known. Accepts optional requestContext metadata. Price: $0.05 USDC. OpenAPI operationId: postGetLinkedInProfileByPathLinkedinId. ### GET https://api.linkedpanda.com/agent/v1/posts/reactions Deprecated GET form. Returns reaction actors, comments, and pagination state for a public LinkedIn post URL. Use POST /agent/v1/posts/reactions instead. Price: $0.05 USDC. OpenAPI operationId: listLinkedInPostEngagement. ### POST https://api.linkedpanda.com/agent/v1/posts/reactions Returns reaction actors, comments, and pagination state for a public LinkedIn post URL. Accepts optional requestContext metadata. Price: $0.05 USDC. OpenAPI operationId: postListLinkedInPostEngagement. ## Constraints - No account or API key is required; payment is per request. - The API is read-only and does not send LinkedIn messages, connection requests, or reactions. - POST /agent/v1/profiles/enrich is the bulk LinkedIn profile enrichment endpoint. - GET /agent/v1/profiles/enrich enriches one LinkedIn profile. - Profile lookup requires either a real linkedinId or a real linkedinUrl. - Post engagement lookup requires postUrl. - Use HTTPS production URLs for x402 payments; localhost is only for development.