---
title: "Bulk standardize LinkedIn company identifiers"
method: POST
path: "/v1/standardize/company/bulk"
tags: ["Repair Data"]
---

# Bulk standardize LinkedIn company identifiers

`POST /v1/standardize/company/bulk`

Resolves many company LinkedIn identifiers (slug, organization ID, or URL) to standardized LinkedIn company URLs with metadata. Unresolved identifiers are listed separately and are not charged. If you have company names or domains instead of LinkedIn identifiers, use the bulk kitchen sink endpoint (POST /v1/kitchen-sink/bulk/company) instead.

<span>⚡ <strong>Rate limit:</strong> 60 requests per 1 minute</span>

<span>💰 <strong>Cost:</strong> 1 credit per company standardized&nbsp;<span title="Pricing shown is default pricing. Actual pricing may vary.">ⓘ</span></span>

<span>⏱ <strong>Recommended timeout:</strong> 2 minutes&nbsp;<span title="Recommended timeout: set your HTTP client timeout to at least 2 minutes for this endpoint.">ⓘ</span></span>

## Request body

- object
  - `apiKey` string, required — Your Fiber API key
  - `identifiers` string[], required — Company identifiers to standardize. Max 50 per request. Duplicate identifiers — including the same company submitted as a slug, a full LinkedIn URL, or in different letter casing — are deduped and charged only once.

## Response `200`

Default Response

- object
  - `output` object, required
    - `companiesFound` object[], required — Successfully resolved companies. Use the `identifier` field to match each result back to your input; ordering is not guaranteed.
      - `linkedinUrl` string, required — The standardized LinkedIn company URL (e.g., 'https://www.linkedin.com/company/microsoft')
      - `name` string, nullable — The company name, if available
      - `websiteUrl` string, nullable — The company's website URL, if available
      - `identifier` string, required — The input identifier this result was resolved from (slug, organization ID, or URL as provided in the request).
    - `unresolvedIdentifiers` string[], required — Input identifiers that could not be resolved to a LinkedIn company. Reflects the deduplicated set — equivalent identifiers submitted more than once appear at most once.
  - `chargeInfo` union, required
    - object — Credits were charged immediately for this operation
      - `method` 'charged-now', required
      - `creditsCharged` number, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
    - object — Credits will be charged after the operation completes
      - `method` 'charging-later', required
      - `message` string, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
    - object — Credits that were charged for an asynchronous operation
      - `method` 'charged-for-async-process', required
      - `creditsCharged` number, required
      - `message` string, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
    - object — No credits were charged for this operation
      - `method` 'free', required
      - `message` string, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
    - object — Credits were refunded for this operation
      - `method` 'credits-refunded', required
      - `creditsRefunded` number, required
      - `message` string, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
  - `warnings` object[], nullable — Warnings about extraneous fields in request
    - `field` string, required — Full path to extraneous field (e.g., 'searchParams.ExtraField')
    - `message` string, required — Warning message
  - `advice` string[], nullable — Tips, recommendations, and suggestions for using this API effectively.

## Other responses

- `400` — Default Response
- `401` — Default Response
- `402` — Default Response
- `403` — Default Response
- `404` — Default Response
- `422` — Default Response
- `429` — Default Response
- `500` — Default Response
- `503` — Default Response

---

[API](https://skmtc.net/fiber/apis/fiber-ai-api.md) · [All operations](https://skmtc.net/fiber/apis/fiber-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fiber/fiber-ai-api/versions/0c537984b99f/schema)
