> ## Documentation Index
> Fetch the complete documentation index at: https://docs.edges.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Extract LinkedIn Connections

> Extract the list of your LinkedIn connections with their profile information.

`1 credit per 40 results` · `credit_ratio 0.025` · [Credit costs](/v1/api/credit-costs)

`People connections` 5,000 / 24 h · [Action limits](/v1/linkedin/limits)

<Card title="Agent skill" icon="robot" href="https://github.com/edgesrun/linkedin-skills/blob/main/plugins/linkedin-skills/skills/edges-linkedin-extract-connections/SKILL.md" horizontal>
  `edges-linkedin-extract-connections` — ready-made instructions for coding agents calling this endpoint.
</Card>

<Card title="Free with Engagement Mode" icon="gem" href="/v1/identities/engagement" arrow="false" horizontal>
  No credits required when executed with an Engagement Identity. Set type: "engagement" when creating an Identity via API.
</Card>

<Tip>
  To run LinkedIn actions, you must first create an identity and connect a LinkedIn
  account, either using our [Chrome
  Extension](https://chromewebstore.google.com/detail/edges-labs/bippgnolleoecnhaninlfmdapbakklpf),
  [username/password login](/v1/api/linkedin/authentication), or [Managed
  Accounts](/v1/identities/modes) to run without connecting an account.
</Tip>

<Info>
  Prefer `X-Pagination-Next` and `X-Pagination-Previous` over constructing
  pagination URLs yourself. **Stop only when `X-Pagination-Next` is absent** —
  a short page (fewer results than the previous page, or than the action's usual
  page size) does **not** mean you are done. LinkedIn's page length can vary from
  one request to the next; the result array length is not a stop condition.
</Info>

<Note>
  `connected_at` is an approximate date. LinkedIn reports how long ago the connection was made, and Edges turns that into a timestamp. The time of day is approximate.
</Note>

<Note>
  LinkedIn's connections page size now varies (often around **10** results per
  page, and consecutive pages can return different counts such as 9, then 8,
  then 10). Always follow `X-Pagination-Next` until it is absent — do not stop
  because a page has fewer results than the previous one.

  The credit line (`1 credit per 40 results`) is a **billing unit**, not the
  live page size.
</Note>


## OpenAPI

````yaml v1/api/actions.json post /actions/linkedin-extract-connections/run/live
openapi: 3.1.0
info:
  title: ED Automation External API
  description: This is the External API documentation for ED Automation
  version: dev
servers:
  - url: https://api.edges.run/v1
security:
  - XApiKeyAuth: []
paths:
  /actions/linkedin-extract-connections/run/live:
    post:
      tags:
        - actions / linkedin
      summary: Run linkedin-extract-connections action live
      operationId: linkedinExtractConnections
      parameters:
        - name: cursor
          in: query
          description: >-
            Cursor value obtained from the `X-Pagination-Next` response header
            of a previous request, used to continue pagination. Cursors expire
            after 24 hours. If a cursor has expired or is invalid, pagination
            must be restarted from the beginning.
          required: false
          schema:
            type: string
            title: Pagination Cursor
        - name: page_size
          in: query
          required: false
          description: >-
            Maximum number of results per page (read-only; defined by the
            endpoint, actual count may be lower in some cases like throttling or
            internal limits).
          schema:
            type: integer
            default: 10
            minimum: 10
            maximum: 10
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                parameters:
                  type: object
                  properties: {}
                  additionalProperties: false
                  default: {}
                identity_ids:
                  type:
                    - array
                    - 'null'
                  description: >-
                    An array of Identity UUIDs linked to identities (e.g.
                    LinkedIn) used to execute the Action. You must provide at
                    least one valid UID with access to the integration. Do not
                    use account_uid values — only user_uid is supported.
                  items:
                    type: string
                    format: uuid
                  examples:
                    - - 44444444-4444-4444-4444-444444444444
              additionalProperties: false
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LinkedinExtractConnectionsOutput'
          headers:
            X-Pagination-Previous:
              schema:
                type: string
                format: uri
              description: Full URL to fetch the previous page of results, when available.
            X-Pagination-Next:
              schema:
                type: string
                format: uri
              description: Full URL to fetch the next page of results, when available.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequest'
              examples:
                bad_parameters.73f060f0:
                  $ref: '#/components/examples/bad_parameters.73f060f0'
                bad_parameters.bfe974ab:
                  $ref: '#/components/examples/bad_parameters.bfe974ab'
                bad_input.1d81df7c:
                  $ref: '#/components/examples/bad_input.1d81df7c'
                bad_parameters.a49337b:
                  $ref: '#/components/examples/bad_parameters.a49337b'
                bad_parameters.7ba5d42c:
                  $ref: '#/components/examples/bad_parameters.7ba5d42c'
                bad_parameters.ddd14617:
                  $ref: '#/components/examples/bad_parameters.ddd14617'
                bad_parameters.dc311696:
                  $ref: '#/components/examples/bad_parameters.dc311696'
                bad_parameters.13059430:
                  $ref: '#/components/examples/bad_parameters.13059430'
        '402':
          description: Payment Required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentRequired'
              examples:
                no_access.d57cfaf0:
                  $ref: '#/components/examples/no_access.d57cfaf0'
                no_access.d88f9710:
                  $ref: '#/components/examples/no_access.d88f9710'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntity'
              examples:
                action_aborted.8ad2b327:
                  $ref: '#/components/examples/action_aborted.8ad2b327'
        '424':
          description: Failed Dependency
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FailedDependency'
              examples:
                unknown_error:
                  $ref: '#/components/examples/unknown_error'
                integration_error.6d482cf8:
                  $ref: '#/components/examples/integration_error.6d482cf8'
                no_valid_account_configured.cbdfab4a:
                  $ref: '#/components/examples/no_valid_account_configured.cbdfab4a'
                proxy_error_integration_identity_no_proxy_ip.e87eb247:
                  $ref: >-
                    #/components/examples/proxy_error_integration_identity_no_proxy_ip.e87eb247
                invalid_integration_integration_identity_temporarily_restricted.28dcac83:
                  $ref: >-
                    #/components/examples/invalid_integration_integration_identity_temporarily_restricted.28dcac83
                limit_reached.b795f4b2:
                  $ref: '#/components/examples/limit_reached.b795f4b2'
                generic_error.d4bb404c:
                  $ref: '#/components/examples/generic_error.d4bb404c'
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/TooManyRequests'
                  - $ref: '#/components/schemas/RateLimitExceeded'
              examples:
                ratelimit:
                  summary: Rate limit exceeded error
                  description: Example of a rate limit exceeded error response
                  value:
                    error:
                      code: 429
                      status: Too Many Requests
                      details:
                        Retry-After: '60'
                        X-RateLimit-Limit: '2'
                        X-RateLimit-Reset: '1754402101'
                        X-RateLimit-Type: /v1/actions
                      message: Rate limit exceeded (/v1/actions)
                limit_reached_identity_rate_limit.b795f4b2:
                  $ref: >-
                    #/components/examples/limit_reached_identity_rate_limit.b795f4b2
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceUnavailable'
              examples:
                action_aborted_managed_maintenance.813f3a69:
                  $ref: >-
                    #/components/examples/action_aborted_managed_maintenance.813f3a69
components:
  schemas:
    LinkedinExtractConnectionsOutput:
      type: object
      properties:
        connected_at:
          type: string
          format: date-time
        first_name:
          type: string
        last_name:
          type: string
        job_title:
          type: string
        full_name:
          type: string
        linkedin_profile_handle:
          type: string
        linkedin_profile_url:
          type: string
          format: uri
        linkedin_profile_id:
          type: integer
        profile_image_url:
          type: string
          format: uri
        sales_navigator_profile_id:
          type: string
    BadRequest:
      title: APIError
      description: >-
        Represents an error returned by the API. This schema defines the
        standard structure of error messages to ensure consistent error handling
        across the application.
      type: object
      properties:
        error_label:
          type:
            - string
            - 'null'
        error_scope:
          type:
            - string
            - 'null'
          enum:
            - input
            - integ
            - param
            - config
        error_ref:
          type:
            - string
            - 'null'
          examples:
            - ERR-12345
        message:
          type: string
        status_code:
          type:
            - integer
            - 'null'
        params:
          type:
            - object
            - 'null'
          additionalProperties:
            anyOf:
              - type: string
              - type: number
              - type: boolean
              - type: 'null'
              - type: array
                items:
                  type: string
        data:
          type:
            - object
            - 'null'
          additionalProperties: true
          description: Additional data about the error
      additionalProperties: false
    PaymentRequired:
      title: APIError
      description: >-
        Represents an error returned by the API. This schema defines the
        standard structure of error messages to ensure consistent error handling
        across the application.
      type: object
      properties:
        error_label:
          type:
            - string
            - 'null'
        error_scope:
          type:
            - string
            - 'null'
          enum:
            - input
            - integ
            - param
            - config
        error_ref:
          type:
            - string
            - 'null'
          examples:
            - ERR-12345
        message:
          type: string
        status_code:
          type:
            - integer
            - 'null'
        params:
          type:
            - object
            - 'null'
          additionalProperties:
            anyOf:
              - type: string
              - type: number
              - type: boolean
              - type: 'null'
              - type: array
                items:
                  type: string
        data:
          type:
            - object
            - 'null'
          additionalProperties: true
          description: Additional data about the error
      additionalProperties: false
    UnprocessableEntity:
      title: APIError
      description: >-
        Represents an error returned by the API. This schema defines the
        standard structure of error messages to ensure consistent error handling
        across the application.
      type: object
      properties:
        error_label:
          type:
            - string
            - 'null'
        error_scope:
          type:
            - string
            - 'null'
          enum:
            - input
            - integ
            - param
            - config
        error_ref:
          type:
            - string
            - 'null'
          examples:
            - ERR-12345
        message:
          type: string
        status_code:
          type:
            - integer
            - 'null'
        params:
          type:
            - object
            - 'null'
          additionalProperties:
            anyOf:
              - type: string
              - type: number
              - type: boolean
              - type: 'null'
              - type: array
                items:
                  type: string
        data:
          type:
            - object
            - 'null'
          additionalProperties: true
          description: Additional data about the error
      additionalProperties: false
    FailedDependency:
      title: APIError
      description: >-
        Represents an error returned by the API. This schema defines the
        standard structure of error messages to ensure consistent error handling
        across the application.
      type: object
      properties:
        error_label:
          type:
            - string
            - 'null'
        error_scope:
          type:
            - string
            - 'null'
          enum:
            - input
            - integ
            - param
            - config
        error_ref:
          type:
            - string
            - 'null'
          examples:
            - ERR-12345
        message:
          type: string
        status_code:
          type:
            - integer
            - 'null'
        params:
          type:
            - object
            - 'null'
          additionalProperties:
            anyOf:
              - type: string
              - type: number
              - type: boolean
              - type: 'null'
              - type: array
                items:
                  type: string
        data:
          type:
            - object
            - 'null'
          additionalProperties: true
          description: Additional data about the error
      additionalProperties: false
    TooManyRequests:
      title: APIError
      description: >-
        Represents an error returned by the API. This schema defines the
        standard structure of error messages to ensure consistent error handling
        across the application.
      type: object
      properties:
        error_label:
          type:
            - string
            - 'null'
        error_scope:
          type:
            - string
            - 'null'
          enum:
            - input
            - integ
            - param
            - config
        error_ref:
          type:
            - string
            - 'null'
          examples:
            - ERR-12345
        message:
          type: string
        status_code:
          type:
            - integer
            - 'null'
        params:
          type:
            - object
            - 'null'
          additionalProperties:
            anyOf:
              - type: string
              - type: number
              - type: boolean
              - type: 'null'
              - type: array
                items:
                  type: string
        data:
          type:
            - object
            - 'null'
          additionalProperties: true
          description: Additional data about the error
      additionalProperties: false
    RateLimitExceeded:
      title: Rate limit exceeded error
      description: >-
        This error response indicates that the user has sent too many requests
        in a given amount of time ("rate limiting").
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              example: 429
            status:
              type: string
              example: Too Many Requests
            message:
              type: string
              example: Rate limit exceeded (/v1/actions)
            details:
              type: object
              properties:
                Retry-After:
                  type: string
                  example: '60'
                X-RateLimit-Limit:
                  type: string
                  example: '2'
                X-RateLimit-Reset:
                  type: string
                  example: '1754402101'
                X-RateLimit-Type:
                  type: string
                  example: /v1/actions
      additionalProperties: false
    ServiceUnavailable:
      title: APIError
      description: >-
        Represents an error returned by the API. This schema defines the
        standard structure of error messages to ensure consistent error handling
        across the application.
      type: object
      properties:
        error_label:
          type:
            - string
            - 'null'
        error_scope:
          type:
            - string
            - 'null'
          enum:
            - input
            - integ
            - param
            - config
        error_ref:
          type:
            - string
            - 'null'
          examples:
            - ERR-12345
        message:
          type: string
        status_code:
          type:
            - integer
            - 'null'
        params:
          type:
            - object
            - 'null'
          additionalProperties:
            anyOf:
              - type: string
              - type: number
              - type: boolean
              - type: 'null'
              - type: array
                items:
                  type: string
        data:
          type:
            - object
            - 'null'
          additionalProperties: true
          description: Additional data about the error
      additionalProperties: false
  examples:
    bad_parameters.73f060f0:
      summary: BAD_PARAMETERS
      description: 'Bad parameters provided: <string>'
      value:
        error_label: BAD_PARAMETERS
        message: 'Bad parameters provided: <string>'
        status_code: 400
        params:
          error: <string>
        error_ref: AUT-12345
    bad_parameters.bfe974ab:
      summary: BAD_PARAMETERS
      description: >-
        Bad parameters provided: Incremental cursor-based pagination is only
        available for the first page (page 0) on the live API.
      value:
        error_label: BAD_PARAMETERS
        message: >-
          Bad parameters provided: Incremental cursor-based pagination is only
          available for the first page (page 0) on the live API.
        status_code: 400
        params:
          error: >-
            Incremental cursor-based pagination is only available for the first
            page (page 0) on the live API.
        error_ref: AUT-12345
    bad_input.1d81df7c:
      summary: BAD_INPUT
      description: This is an invalid input. This action is not compatible with live runs.
      value:
        error_label: BAD_INPUT
        message: >-
          This is an invalid input. This action is not compatible with live
          runs.
        status_code: 400
        params:
          action: <string>
          additionalInfo: This action is not compatible with live runs.
        error_ref: AUT-12345
    bad_parameters.a49337b:
      summary: BAD_PARAMETERS
      description: >-
        Bad parameters provided: cursor has expired, please start from the
        beginning
      value:
        error_label: BAD_PARAMETERS
        message: >-
          Bad parameters provided: cursor has expired, please start from the
          beginning
        status_code: 400
        params:
          error: cursor has expired, please start from the beginning
        error_ref: AUT-12345
    bad_parameters.7ba5d42c:
      summary: BAD_PARAMETERS
      description: 'Bad parameters provided: invalid cursor provided'
      value:
        error_label: BAD_PARAMETERS
        message: 'Bad parameters provided: invalid cursor provided'
        status_code: 400
        params:
          error: invalid cursor provided
        error_ref: AUT-12345
    bad_parameters.ddd14617:
      summary: BAD_PARAMETERS
      description: >-
        Bad parameters provided: this action does not support account rotation.
        Can not pass more than one identity_id
      value:
        error_label: BAD_PARAMETERS
        message: >-
          Bad parameters provided: this action does not support account
          rotation. Can not pass more than one identity_id
        status_code: 400
        params:
          action: <string>
          error: >-
            this action does not support account rotation. Can not pass more
            than one identity_id
        error_ref: AUT-12345
    bad_parameters.dc311696:
      summary: BAD_PARAMETERS
      description: >-
        Bad parameters provided: this action does not support account rotation.
        identity_mode cannot be set to managed
      value:
        error_label: BAD_PARAMETERS
        message: >-
          Bad parameters provided: this action does not support account
          rotation. identity_mode cannot be set to managed
        status_code: 400
        params:
          action: <string>
          error: >-
            this action does not support account rotation. identity_mode cannot
            be set to managed
        error_ref: AUT-12345
    bad_parameters.13059430:
      summary: BAD_PARAMETERS
      description: 'Bad parameters provided: Cannot generate cursor'
      value:
        error_label: BAD_PARAMETERS
        message: 'Bad parameters provided: Cannot generate cursor'
        status_code: 400
        params:
          error: Cannot generate cursor
        error_ref: AUT-12345
    no_access.d57cfaf0:
      summary: NO_ACCESS
      description: 'You don''t have access to the resource: no subscription'
      value:
        error_label: NO_ACCESS
        message: 'You don''t have access to the resource: no subscription'
        status_code: 402
        params:
          error: no subscription
          user_uid: <string>
          workspace_uid: <string>
        error_ref: AUT-12345
    no_access.d88f9710:
      summary: NO_ACCESS
      description: 'You don''t have access to the resource: <string>'
      value:
        error_label: NO_ACCESS
        message: 'You don''t have access to the resource: <string>'
        status_code: 402
        params:
          error: <string>
          user_uid: <string>
          workspace_uid: <string>
          billing_starts_at: <string>
          billing_ends_at: <string>
          billing_interval: <union:string>
        error_ref: AUT-12345
    action_aborted.8ad2b327:
      summary: ACTION_ABORTED
      description: The action was aborted.
      value:
        error_label: ACTION_ABORTED
        message: The action was aborted.
        status_code: 422
        error_ref: AUT-12345
    unknown_error:
      summary: UNKNOWN_ERROR
      description: UNKNOWN_ERROR
      value:
        error_label: UNKNOWN_ERROR
        status_code: 424
        error_ref: AUT-12345
    integration_error.6d482cf8:
      summary: INTEGRATION_ERROR
      description: >-
        Error while getting the integration identity: contact the support,
        invalid configuration
      value:
        error_label: INTEGRATION_ERROR
        message: >-
          Error while getting the integration identity: contact the support,
          invalid configuration
        status_code: 424
        params:
          action: getting the integration identity
          error: contact the support, invalid configuration
        error_ref: AUT-12345
    no_valid_account_configured.cbdfab4a:
      summary: NO_VALID_ACCOUNT_CONFIGURED
      description: You need to configure a valid integration. <string>
      value:
        error_label: NO_VALID_ACCOUNT_CONFIGURED
        message: You need to configure a valid integration.
        status_code: 424
        params:
          additionalInfo: <string>
          action: getting the integration identity
          error: no valid integration identity found
          workspace_uid: <string>
          user_uid: <string>
          integration_level: <union:string>
          identity_mode: <union:string>
          identity_ids: <string>
          postponed_until: <string>
        error_ref: AUT-12345
    proxy_error_integration_identity_no_proxy_ip.e87eb247:
      summary: PROXY_ERROR/INTEGRATION_IDENTITY_NO_PROXY_IP
      description: >-
        Error while setting up the proxy: The integration identity do not have
        an IP address. Please wait 1 minute while we acquire an IP address for
        the integration identity.
      value:
        error_label: PROXY_ERROR
        message: >-
          Error while setting up the proxy: The integration identity do not have
          an IP address. Please wait 1 minute while we acquire an IP address for
          the integration identity.
        status_code: 424
        params:
          appendix: INTEGRATION_IDENTITY_NO_PROXY_IP
          error: >-
            The integration identity do not have an IP address. Please wait 1
            minute while we acquire an IP address for the integration identity.
          workspace_uid: <string>
          user_uid: <string>
          integration_level: <union:string>
          identity_mode: <union:string>
          identity_ids: <string>
          account_uid: <string>
          postponed_until: <string>
        error_ref: AUT-12345
    invalid_integration_integration_identity_temporarily_restricted.28dcac83:
      summary: INVALID_INTEGRATION/INTEGRATION_IDENTITY_TEMPORARILY_RESTRICTED
      description: >-
        You need to provide a valid integration object by configuring
        integration users. The integration identities are currently temporarily
        restricted.
      value:
        error_label: INVALID_INTEGRATION
        message: >-
          You need to provide a valid integration object by configuring
          integration users. The integration identities are currently
          temporarily restricted.
        status_code: 424
        params:
          appendix: INTEGRATION_IDENTITY_TEMPORARILY_RESTRICTED
          additionalInfo: The integration identities are currently temporarily restricted.
          workspace_uid: <string>
          user_uid: <string>
          integration_level: <union:string>
          identity_mode: <union:string>
          identity_ids: <string>
          account_uid: <string>
          postponed_until: <string>
        error_ref: AUT-12345
    limit_reached.b795f4b2:
      summary: LIMIT_REACHED/<string>
      description: <string> limit reached for <string>.
      value:
        error_label: LIMIT_REACHED
        message: <string> limit reached for <string>.
        status_code: 424
        params:
          appendix: <string>
          timespan: <string>
          service: <string>
          error: all integration identities are exhausted
          workspace_uid: <string>
          user_uid: <string>
          integration_level: <union:string>
          identity_mode: <union:string>
          identity_ids: <string>
          postponed_until: <string>
        error_ref: AUT-12345
    generic_error.d4bb404c:
      summary: GENERIC_ERROR
      description: 'Error while extracting connections: an unexpected error occurred'
      value:
        error_label: GENERIC_ERROR
        message: 'Error while extracting connections: an unexpected error occurred'
        status_code: 424
        params:
          action: extracting connections
          error: an unexpected error occurred
        error_ref: AUT-12345
    limit_reached_identity_rate_limit.b795f4b2:
      summary: LIMIT_REACHED/IDENTITY_RATE_LIMIT
      description: <string> limit reached for <string>.
      value:
        error_label: LIMIT_REACHED
        message: <string> limit reached for <string>.
        status_code: 429
        params:
          appendix: IDENTITY_RATE_LIMIT
          timespan: <string>
          service: <string>
          error: all integration identities exceed identity rate limits
          workspace_uid: <string>
          user_uid: <string>
          integration_level: <union:string>
          identity_mode: <union:string>
          identity_ids: <string>
          account_uid: <string>
          postponed_until: <string>
        error_ref: AUT-12345
    action_aborted_managed_maintenance.813f3a69:
      summary: ACTION_ABORTED/MANAGED_MAINTENANCE
      description: >-
        The action was aborted. The managed identity mode is currently in
        maintenance mode. Please contact support for more information.
      value:
        error_label: ACTION_ABORTED
        message: >-
          The action was aborted. The managed identity mode is currently in
          maintenance mode. Please contact support for more information.
        status_code: 503
        params:
          appendix: MANAGED_MAINTENANCE
          action: <string>
          additionalInfo: >-
            The managed identity mode is currently in maintenance mode. Please
            contact support for more information.
        error_ref: AUT-12345
  securitySchemes:
    XApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.