Ploid Linked In API

The Linked In API from Ploid — 6 operation(s) for linked in.

Operations 6

GET /v1/linkedin/profile Fetch a LinkedIn profile #
POST /v1/linkedin/search Search LinkedIn people #
GET /v1/linkedin/posts List recent LinkedIn posts #
GET /v1/linkedin/profiles/comments List a profile's comments #
GET /v1/linkedin/companies/get Get a LinkedIn company #
GET /v1/linkedin/companies/posts List a company's posts #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ploid:ploid-linked-in-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ploid-linked-in-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ploid LinkedIn API
  version: 2.0.0
  description: 'Operations tagged LinkedIn across 2 of this provider''s published API definitions: ploid-openapi.json, ploid-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.ploid.com
security:
- bearerAuth: []
- apiKeyAuth: []
tags:
- name: Linked In
paths:
  /v1/linkedin/profile:
    get:
      operationId: getLinkedInProfile
      summary: Fetch a LinkedIn profile
      description: Returns a LinkedIn profile by URL, vanity slug, or @handle. Requires the linkedin:read scope.
      tags:
      - Linked In
      security:
      - bearerAuth: []
      - apiKeyAuth: []
      parameters:
      - name: url
        in: query
        required: false
        schema:
          type: string
        description: LinkedIn profile URL, slug, or @handle.
      - name: identifier
        in: query
        required: false
        schema:
          type: string
        description: Alias for `url`.
      responses:
        '200':
          description: LinkedIn profile
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkedInProfileResponse'
        '401':
          description: Missing, invalid, expired, or revoked API credential.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '402':
          description: The workspace does not currently have active public-API access, or the requested operation exceeds available ACU or an API-key budget.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '403':
          description: Missing linkedin:read scope or public-API access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '404':
          description: Profile not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '422':
          description: The request body, path parameters, or query parameters failed validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '429':
          description: The organization or API-key per-minute rate limit was exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: integer
                minimum: 1
        '503':
          description: LinkedIn data source unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
    servers:
    - url: https://api.ploid.com
  /v1/linkedin/search:
    post:
      operationId: searchLinkedInPeople
      summary: Search LinkedIn people
      description: Structured LinkedIn people search by keywords, location, title, company, and school. Requires the linkedin:read scope.
      tags:
      - Linked In
      security:
      - bearerAuth: []
      - apiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LinkedInSearchRequest'
      responses:
        '200':
          description: LinkedIn search results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkedInSearchResponse'
        '401':
          description: Missing, invalid, expired, or revoked API credential.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '402':
          description: Public-API access is inactive, or the workspace has insufficient ACU or API-key budget.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '403':
          description: Missing linkedin:read scope or public-API access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '422':
          description: The request body, path parameters, or query parameters failed validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '429':
          description: The organization or API-key per-minute rate limit was exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: integer
                minimum: 1
        '503':
          description: LinkedIn data source unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
    servers:
    - url: https://api.ploid.com
  /v1/linkedin/posts:
    get:
      operationId: listLinkedInPosts
      summary: List recent LinkedIn posts
      description: Returns recent posts for a LinkedIn profile. Requires the linkedin:read scope.
      tags:
      - Linked In
      security:
      - bearerAuth: []
      - apiKeyAuth: []
      parameters:
      - name: identifier
        in: query
        required: false
        schema:
          type: string
        description: LinkedIn profile URL, slug, or @handle.
      - name: url
        in: query
        required: false
        schema:
          type: string
        description: Alias for `identifier`.
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 20
          default: 10
      responses:
        '200':
          description: Recent posts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkedInPostsResponse'
        '401':
          description: Missing, invalid, expired, or revoked API credential.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '402':
          description: The workspace does not currently have active public-API access, or the requested operation exceeds available ACU or an API-key budget.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '403':
          description: Missing linkedin:read scope or public-API access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '404':
          description: Profile not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '422':
          description: The request body, path parameters, or query parameters failed validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '429':
          description: The organization or API-key per-minute rate limit was exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: integer
                minimum: 1
        '503':
          description: LinkedIn data source unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
    servers:
    - url: https://api.ploid.com
  /v1/linkedin/profiles/comments:
    get:
      operationId: listLinkedInProfileComments
      summary: List a profile's comments
      description: Identity-bound LinkedIn read. Requires the linkedin:read scope.
      tags:
      - Linked In
      security:
      - bearerAuth: []
      - apiKeyAuth: []
      parameters:
      - name: profile
        in: query
        required: false
        schema:
          type: string
      - name: profileId
        in: query
        required: false
        schema:
          type: string
      - name: postedLimit
        in: query
        required: false
        schema:
          type: string
      - name: page
        in: query
        required: false
        schema:
          type: string
      - name: paginationToken
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: List a profile's comments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkedInReadResponse'
        '401':
          description: Missing, invalid, expired, or revoked API credential.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '402':
          description: The workspace does not currently have active public-API access, or the requested operation exceeds available ACU or an API-key budget.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '403':
          description: Missing linkedin:read scope or public-API access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '422':
          description: The request body, path parameters, or query parameters failed validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '429':
          description: The organization or API-key per-minute rate limit was exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: integer
                minimum: 1
        '503':
          description: LinkedIn data source unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
    servers:
    - url: https://api.ploid.com
  /v1/linkedin/companies/get:
    get:
      operationId: getLinkedInCompany
      summary: Get a LinkedIn company
      description: Identity-bound LinkedIn read. Requires the linkedin:read scope.
      tags:
      - Linked In
      security:
      - bearerAuth: []
      - apiKeyAuth: []
      parameters:
      - name: url
        in: query
        required: false
        schema:
          type: string
      - name: universalName
        in: query
        required: false
        schema:
          type: string
      - name: search
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Get a LinkedIn company
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkedInReadResponse'
        '401':
          description: Missing, invalid, expired, or revoked API credential.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '402':
          description: The workspace does not currently have active public-API access, or the requested operation exceeds available ACU or an API-key budget.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '403':
          description: Missing linkedin:read scope or public-API access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '422':
          description: The request body, path parameters, or query parameters failed validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '429':
          description: The organization or API-key per-minute rate limit was exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: integer
                minimum: 1
        '503':
          description: LinkedIn data source unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
    servers:
    - url: https://api.ploid.com
  /v1/linkedin/companies/posts:
    get:
      operationId: listLinkedInCompanyPosts
      summary: List a company's posts
      description: Identity-bound LinkedIn read. Requires the linkedin:read scope.
      tags:
      - Linked In
      security:
      - bearerAuth: []
      - apiKeyAuth: []
      parameters:
      - name: company
        in: query
        required: false
        schema:
          type: string
      - name: companyId
        in: query
        required: false
        schema:
          type: string
      - name: companyUniversalName
        in: query
        required: false
        schema:
          type: string
      - name: postedLimit
        in: query
        required: false
        schema:
          type: string
      - name: scrapePostedLimit
        in: query
        required: false
        schema:
          type: string
      - name: page
        in: query
        required: false
        schema:
          type: string
      - name: paginationToken
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: List a company's posts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkedInReadResponse'
        '401':
          description: Missing, invalid, expired, or revoked API credential.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '402':
          description: The workspace does not currently have active public-API access, or the requested operation exceeds available ACU or an API-key budget.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '403':
          description: Missing linkedin:read scope or public-API access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '422':
          description: The request body, path parameters, or query parameters failed validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '429':
          description: The organization or API-key per-minute rate limit was exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: integer
                minimum: 1
        '503':
          description: LinkedIn data source unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
    servers:
    - url: https://api.ploid.com
components:
  schemas:
    PublicApiError:
      type: object
      additionalProperties: false
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          - request_id
          properties:
            code:
              type: string
            message:
              type: string
            request_id:
              type: string
            http_status:
              type: integer
              minimum: 400
              maximum: 599
              description: Semantic status when an error terminates a response after streaming headers opened.
            retryable:
              type: boolean
            unavailable_fields:
              type: array
              items:
                type: string
                enum:
                - work_email
                - personal_email
                - phone
                - profile
                - email
              description: Requested enrichment fields that could not complete. Present when all requested fields are unavailable.
            usage:
              type: object
              additionalProperties: false
              required:
              - acu_used
              - billed
              - free
              - not_found
              properties:
                acu_used:
                  type: number
                  minimum: 0
                acu_remaining:
                  type: number
                  minimum: 0
                acu_value_usd:
                  type: number
                  const: 0.1
                billed:
                  type: array
                  items:
                    type: string
                free:
                  type: array
                  items:
                    type: string
                not_found:
                  type: array
                  items:
                    type: string
          additionalProperties: true
    PublicCreditsResponseMeta:
      type: object
      additionalProperties: false
      required:
      - request_id
      - credits_charged
      properties:
        request_id:
          type: string
        credits_charged:
          type: number
          minimum: 0
        remaining_credits:
          type: number
          minimum: 0
        cursor:
          type:
          - string
          - 'null'
        message:
          type: string
    LinkedInSearchResponse:
      type: object
      additionalProperties: false
      required:
      - data
      - meta
      properties:
        data:
          type: object
          additionalProperties: false
          required:
          - items
          - cursor
          - total
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/LinkedInSearchItem'
            cursor:
              type:
              - string
              - 'null'
            total:
              type:
              - integer
              - 'null'
              minimum: 0
        meta:
          $ref: '#/components/schemas/PublicCreditsResponseMeta'
    LinkedInProfile:
      type: object
      additionalProperties: false
      required:
      - socialId
      - publicIdentifier
      - profileUrl
      - firstName
      - lastName
      - fullName
      - headline
      - summary
      - location
      - countryCode
      - industry
      - connectionDegree
      - followerCount
      - connectionCount
      - profilePictureUrl
      - coverPictureUrl
      - currentPosition
      - positions
      - education
      - isOpenToWork
      - isPremium
      properties:
        socialId:
          type:
          - string
          - 'null'
        publicIdentifier:
          type:
          - string
          - 'null'
        profileUrl:
          type:
          - string
          - 'null'
        firstName:
          type:
          - string
          - 'null'
        lastName:
          type:
          - string
          - 'null'
        fullName:
          type: string
        headline:
          type:
          - string
          - 'null'
        summary:
          type:
          - string
          - 'null'
        location:
          type:
          - string
          - 'null'
        countryCode:
          type:
          - string
          - 'null'
        industry:
          type:
          - string
          - 'null'
        connectionDegree:
          oneOf:
          - type: integer
            enum:
            - 1
            - 2
            - 3
          - type: 'null'
        followerCount:
          type:
          - number
          - 'null'
          minimum: 0
        connectionCount:
          type:
          - number
          - 'null'
          minimum: 0
        profilePictureUrl:
          type:
          - string
          - 'null'
        coverPictureUrl:
          type:
          - string
          - 'null'
        currentPosition:
          oneOf:
          - $ref: '#/components/schemas/LinkedInProfilePosition'
          - type: 'null'
        positions:
          type: array
          items:
            $ref: '#/components/schemas/LinkedInProfilePosition'
        education:
          type: array
          items:
            $ref: '#/components/schemas/LinkedInProfileEducation'
        isOpenToWork:
          type: boolean
        isPremium:
          type: boolean
    LinkedInPostAuthor:
      type: object
      additionalProperties: false
      required:
      - socialId
      - name
      - headline
      - profileUrl
      - profilePictureUrl
      properties:
        socialId:
          type:
          - string
          - 'null'
        name:
          type:
          - string
          - 'null'
        headline:
          type:
          - string
          - 'null'
        profileUrl:
          type:
          - string
          - 'null'
        profilePictureUrl:
          type:
          - string
          - 'null'
    LinkedInProfileResponse:
      type: object
      additionalProperties: false
      required:
      - data
      - meta
      properties:
        data:
          $ref: '#/components/schemas/LinkedInProfile'
        meta:
          $ref: '#/components/schemas/PublicCreditsResponseMeta'
    LinkedInSearchFilters:
      type: object
      additionalProperties: false
      properties:
        keywords:
          type: string
          maxLength: 500
        location:
          $ref: '#/components/schemas/LinkedInSearchFilterValue'
        title:
          $ref: '#/components/schemas/LinkedInSearchFilterValue'
        currentCompany:
          $ref: '#/components/schemas/LinkedInSearchFilterValue'
        school:
          $ref: '#/components/schemas/LinkedInSearchFilterValue'
    LinkedInProfileEducation:
      type: object
      additionalProperties: false
      required:
      - school
      - degree
      - field
      - startsAt
      - endsAt
      properties:
        school:
          type:
          - string
          - 'null'
        degree:
          type:
          - string
          - 'null'
        field:
          type:
          - string
          - 'null'
        startsAt:
          type:
          - string
          - 'null'
        endsAt:
          type:
          - string
          - 'null'
    LinkedInPost:
      type: object
      additionalProperties: false
      required:
      - socialId
      - postUrl
      - text
      - publishedAt
      - reactionCount
      - commentCount
      - shareCount
      - kind
      - author
      - mediaUrl
      properties:
        socialId:
          type: string
        postUrl:
          type:
          - string
          - 'null'
        text:
          type:
          - string
          - 'null'
        publishedAt:
          type:
          - string
          - 'null'
        reactionCount:
          type: number
          minimum: 0
        commentCount:
          type: number
          minimum: 0
        shareCount:
          type: number
          minimum: 0
        kind:
          type: string
          enum:
          - post
          - share
          - article
          - unknown
        author:
          $ref: '#/components/schemas/LinkedInPostAuthor'
        mediaUrl:
          type:
          - string
          - 'null'
    LinkedInReadResponse:
      type: object
      additionalProperties: false
      required:
      - data
      - meta
      properties:
        data:
          description: Provider-neutral LinkedIn data. Fields vary by the selected read operation and internal credentials and status fields are removed.
          oneOf:
          - type: object
            additionalProperties: true
          - type: array
            items: {}
          - type: string
          - type: number
          - type: boolean
          - type: 'null'
        meta:
          $ref: '#/components/schemas/PublicCreditsResponseMeta'
    LinkedInSearchFilterValue:
      oneOf:
      - type: string
        minLength: 1
        maxLength: 200
      - type: array
        minItems: 1
        maxItems: 10
        items:
          type: string
          minLength: 1
          maxLength: 200
        description: Items joined with spaces must total at most 200 characters.
    LinkedInPostsResponse:
      type: object
      additionalProperties: false
      required:
      - data
      - meta
      properties:
        data:
          type: object
          additionalProperties: false
          required:
          - items
          - cursor
          properties:
            items:
              type: array
              items:
                $ref: '#/components/schemas/LinkedInPost'
            cursor:
              type:
              - string
              - 'null'
        meta:
          $ref: '#/components/schemas/PublicCreditsResponseMeta'
    LinkedInSearchItem:
      type: object
      additionalProperties: false
      required:
      - socialId
      - publicIdentifier
      - profileUrl
      - fullName
      - headline
      - location
      - industry
      - profilePictureUrl
      - connectionDegree
      properties:
        socialId:
          type:
          - string
          - 'null'
        publicIdentifier:
          type:
          - string
          - 'null'
        profileUrl:
          type:
          - string
          - 'null'
        fullName:
          type: string
        headline:
          type:
          - string
          - 'null'
        location:
          type:
          - string
          - 'null'
        industry:
          type:
          - string
          - 'null'
        profilePictureUrl:
          type:
          - string
          - 'null'
        connectionDegree:
          oneOf:
          - type: integer
            enum:
            - 1
            - 2
            - 3
          - type: 'null'
    LinkedInSearchRequest:
      type: object
      additionalProperties: false
      properties:
        filters:
          $ref: '#/components/schemas/LinkedInSearchFilters'
        limit:
          type: integer
          minimum: 1
          maximum: 100
          default: 25
        cursor:
          type: string
          maxLength: 1000
          description: Pagination cursor from a previous response.
    LinkedInProfilePosition:
      type: object
      additionalProperties: false
      required:
      - title
      - companyName
      - companyUrl
      - location
      - description
      - startsAt
      - endsAt
      - current
      properties:
        title:
          type:
          - string
          - 'null'
        companyName:
          type:
          - string
          - 'null'
        companyUrl:
          type:
          - string
          - 'null'
        location:
          type:
          - string
          - 'null'
        description:
          type:
          - string
          - 'null'
        startsAt:
          type:
          - string
          - 'null'
        endsAt:
          type:
          - string
          - 'null'
        current:
          type: boolean
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
x-refined-from:
- ploid-openapi.json
- ploid-openapi.yml