> ## 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 Company Async

> Extract detailed information from a LinkedIn company page asynchronously. Results are delivered via callback.

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

`Company enrichments` 10,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-company/SKILL.md" horizontal>
  `edges-linkedin-extract-company` — ready-made instructions for coding agents calling this endpoint.
</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>

<Note>
  `logo_url` is empty when the logo URL is already expired, or when it has no expiry. Save a copy of the image if you need the logo to keep working.
</Note>

<Info>
  When LinkedIn does not return a company, the action can still succeed with a company Edges already has on file. A successful LinkedIn response is returned as-is and is not filled in from that record.

  On those results, `industries_v1` is empty. `linkedin_page_claimed` and the funding fields are empty when they were not stored. If LinkedIn fails and Edges has no record for the company, the original LinkedIn error is returned. A LinkedIn rate limit can still produce a successful result when that record exists. The action can also succeed when no LinkedIn account is available for the run, if Edges already has the company.
</Info>

<Note>
  **Callback Delivery**: Both `async` and `schedule` modes deliver results via the callback URL provided in your request.

  **Consistent Format**: All execution modes use the same action logic, so inputs and results are identical regardless of mode.

  **Error Handling**: Errors follow the [standard API error format](/v1/faq#troubleshooting--errors).
</Note>

Using `async` and `schedule` modes, you have to implement some kind of callback management. Be sure to check the [Managing Callbacks](/v1/runs/callbacks) guide to better understand how it works and what your can do.


## OpenAPI

````yaml v1/api/actions.json post /actions/linkedin-extract-company/run/async
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-company/run/async:
    post:
      tags:
        - actions / linkedin
      summary: Run linkedin-extract-company action asynchronously
      operationId: linkedinExtractCompanyAsync
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type:
                    - string
                    - 'null'
                  description: Optional user-defined label for the run.
                  maxLength: 255
                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
                identity_mode:
                  type:
                    - string
                    - 'null'
                  enum:
                    - direct
                    - auto
                    - managed
                  default: direct
                  description: >-
                    If "auto", the Action will use any identities from the
                    current workspace (unless you have provided a list of
                    identity_ids). "managed" will use the Edges pool of
                    identities for an extra credit cost
                inputs:
                  type: array
                  items:
                    $ref: '#/components/schemas/LinkedinExtractCompanyInput'
                  minItems: 1
                  maxItems: 100000
                callback:
                  type: object
                  properties:
                    url:
                      type:
                        - string
                        - 'null'
                      description: >-
                        URL to send the results to. The Action will send a POST
                        request with the results to this URL. The request will
                        include a JSON body with the results of the Action.
                      pattern: ^(https?:\/\/[^\s]+)$
                      examples:
                        - https://example.com/callback
                    headers:
                      type: object
                      description: Headers to include in the callback request.
                      additionalProperties:
                        type: string
                    'on':
                      type: string
                      description: >-
                        Define when you want to receive callbacks. "all" will
                        send callbacks to stream outputs, "final" will send a
                        single callback when all inputs are processed or an
                        error occured on the run.
                      enum:
                        - all
                        - final
                      default: all
                  required:
                    - url
              additionalProperties: false
              required:
                - inputs
      responses:
        '200':
          $ref: '#/components/responses/ActionAsyncResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '424':
          $ref: '#/components/responses/FailedDependency'
        '500':
          $ref: '#/components/responses/InternalServerError'
      callbacks:
        onSave:
          '{$request.body#/callback/url}':
            post:
              responses:
                '200':
                  description: Callback successfully processed
              parameters:
                - name: X-Callback-Ref
                  in: header
                  required: true
                  schema:
                    type: string
                    format: uuid
                  description: >-
                    Stable identifier for the callback event. Remains the same
                    across retries.
                - name: X-Run-Callback
                  in: header
                  required: true
                  schema:
                    type: string
                    format: uuid
                  description: Unique identifier for each delivery attempt of the webhook.
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      type: object
                      properties:
                        callback_ref_uid:
                          type: string
                          format: uuid
                          description: >-
                            Stable callback identifier (remains identical across
                            retries). Used by clients for deduplication.
                        run:
                          type: object
                          properties:
                            run_uid:
                              type: string
                              format: uuid
                              description: Unique identifier of the run.
                            batch_uid:
                              type: string
                              format: uuid
                              description: >-
                                Unique identifier of the batch associated with
                                this run (internal use).
                            status:
                              type: string
                              enum:
                                - CREATED
                                - INVALID
                                - QUEUED
                                - SCHEDULED
                                - BLOCKED
                                - STOPPED
                                - RUNNING
                                - FAILED
                                - PARTIAL_SUCCEEDED
                                - SUCCEEDED
                              description: >-
                                Status of the run at the time this callback was
                                generated. This value does not change on retries
                                and may differ from the run’s current status.
                            scheduled_run_uid:
                              type: string
                              format: uuid
                              description: >-
                                Unique identifier of the scheduled run, if
                                applicable.
                          required:
                            - run_uid
                            - batch_uid
                            - status
                        input:
                          $ref: '#/components/schemas/LinkedinExtractCompanyInput'
                        error:
                          $ref: '#/components/schemas/APIError'
                        results_count:
                          type: integer
                          description: Number of results included in this callback.
                        results:
                          type: array
                          items:
                            $ref: '#/components/schemas/LinkedinExtractCompanyOutput'
                          description: Results of the current callback
                      required:
                        - callback_ref_uid
                        - run
              method: post
              type: path
            path: '{$request.body#/callback/url}'
components:
  schemas:
    LinkedinExtractCompanyInput:
      type: object
      properties:
        linkedin_company_url:
          pattern: >-
            /^https:\/\/(?:(www|[a-z]{2})\.)?linkedin\.com\/(?:sales\/)?(?:school|pub|company|showcase)\/[\w%-]+(?:\/(?:\w+)?)?/i
          type: string
          format: uri
          description: >-
            A LinkedIn Company URL should start with
            'https://www.linkedin.com/sales/company',
            'https://www.linkedin/showcase' 'https://www.linkedin.com/company'
            or 'https://www.linkedin.com/school'"
          x-primary: true
          x-placeholder: LinkedIn Company URL
          x-help: >-
            A LinkedIn Company URL should start with
            'https://www.linkedin.com/sales/company',
            'https://www.linkedin/showcase' 'https://www.linkedin.com/company'
            or 'https://www.linkedin.com/school'"
          x-variations:
            - url
            - company_url
            - current_company_url
            - link
        custom_data:
          type: object
          additionalProperties: true
          description: Custom data (ex-metadata)
      additionalProperties: false
      required:
        - linkedin_company_url
    APIError:
      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
          nullable: true
        error_scope:
          type: string
          enum:
            - input
            - integ
            - param
            - config
          nullable: true
        error_ref:
          type: string
          examples:
            - ERR-12345
          nullable: true
        message:
          type: string
        status_code:
          type: integer
          nullable: true
        params:
          type: object
          patternProperties:
            ^[^_].*:
              anyOf:
                - type: string
                - type: number
                - type: boolean
                - type: 'null'
                - type: array
                  items:
                    type: string
          additionalProperties: false
          nullable: true
        data:
          type: object
          nullable: true
          additionalProperties: true
          description: Additional data about the error
      additionalProperties: false
    LinkedinExtractCompanyOutput:
      type: object
      properties:
        company_name:
          type: string
        specialties:
          type: array
          items:
            type: string
        tagline:
          type: string
        linkedin_company_id:
          type: number
        description:
          type: string
        type:
          type: string
        founded_on:
          type: number
        linkedin_company_url:
          type: string
          format: uri
        linkedin_company_handle:
          type: string
        website:
          type: string
          format: uri
        linkedin_company_phone:
          type: string
        sales_navigator_company_url:
          type: string
          format: uri
        industries:
          type: array
          description: Industries taxonomy (v2)
          items:
            type: string
        industries_v1:
          type: array
          description: Industries (v1)
          items:
            type: string
        industry:
          type: string
        linkedin_job_search_url:
          type: string
          format: uri
        followers_count:
          type: integer
        number_employees:
          type: number
        employees_range:
          type: string
        linkedin_employees_url:
          type: string
          format: uri
        sales_navigator_employees_url:
          type: string
          format: uri
        country:
          type: string
        geographic_area:
          type: string
        city:
          type: string
        postal_code:
          type: string
        headquarters:
          type: string
        locations:
          type: array
          items:
            type: object
            additionalProperties: true
            properties:
              address:
                type: string
              geographic_area:
                type: string
              street:
                type: string
              postal_code:
                type: string
              city:
                type: string
              country:
                type: string
        number_of_locations:
          type: number
        last_funding_investors:
          type: array
          items:
            type: object
            additionalProperties: true
            properties:
              name:
                type: string
              crunchbase_company_url:
                type: string
                format: uri
        crunchbase_company_url:
          type: string
          format: uri
        last_funding_date:
          type: string
          format: date
        last_funding_type:
          type: string
        last_funding_raised:
          type: number
        last_funding_currency:
          type: string
        logo_url:
          type: string
          format: uri
        domain:
          type: string
          format: hostname
        location:
          type: string
        linkedin_school_id:
          type: number
        linkedin_page_claimed:
          type: boolean
        updated_at:
          type: string
          format: date-time
        affiliates:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              company_name:
                type: string
              entity_urn:
                type: string
              followers_count:
                type: integer
              industry:
                type: string
              linkedin_company_url:
                type: string
              original_company_name:
                type: string
              original_linkedin_company_id:
                type: integer
              original_linkedin_company_url:
                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
    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
    InternalServerError:
      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
  responses:
    ActionAsyncResponse:
      description: Default Response
      content:
        application/json:
          schema:
            type: object
            properties:
              run_id:
                type: integer
                description: The ID of the run.
              run_uid:
                type: string
                description: The UID of the run.
              workspace_uid:
                type: string
                description: The UID of the workspace.
              user_uid:
                type: string
                description: The UID of the user.
              action_name:
                type: string
                description: The name of the action.
              status:
                type: string
                enum:
                  - pending
                  - running
                  - completed
                  - failed
                description: The status of the run.
              postponed_until:
                type:
                  - string
                  - 'null'
                format: date-time
                description: >-
                  If the run is postponed, this field indicates when it will be
                  retried.
              created_at:
                type: string
                format: date-time
                description: The date and time when the run was created.
              updated_at:
                type:
                  - string
                  - 'null'
                format: date-time
                description: The date and time when the run was last updated.
              name:
                type:
                  - string
                  - 'null'
                description: Optional user-defined label for the flow run.
                maxLength: 255
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BadRequest'
    FailedDependency:
      description: Failed Dependency
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/FailedDependency'
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalServerError'
  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.