---
title: "Kitchen sink bulk profile lookup"
method: POST
path: "/v1/kitchen-sink/bulk/profile"
tags: ["Kitchen sink"]
---

# Kitchen sink bulk profile lookup

`POST /v1/kitchen-sink/bulk/profile`

Search for many people using a variety of parameters such as LinkedIn slug, LinkedIn URL, or current company information. Returns profile data for each person if found. Providing more information per person (e.g. name + company + LinkedIn) improves match accuracy.

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

<span>💰 <strong>Cost:</strong> Pay per person: 2 credits per lookup, plus 2 additional credits when the liveFetch flag is set.&nbsp;<span title="Pricing shown is default pricing. Actual pricing may vary. LinkedIn live fetch credits only apply when the liveFetch flag is set.">ⓘ</span></span>

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

## Request body

- object
  - `apiKey` string, required — Your Fiber API key
  - `profiles` object[], required
    - `companyDomain` object, nullable — Domain of the person's current company (e.g. 'fiber.ai'). Used with personName for matching.
      - `value` string, nullable — The domain of the company the person is currently working at
    - `companyName` object, nullable
      - `value` string, nullable — The name of the company the person is currently working at
    - `jobTitle` object, nullable
      - `value` string, nullable — The job title of the person to search for
    - `personName` object, nullable — Person's name for matching. Best used with companyDomain or companyIdentifier.
      - `value` string, nullable — The name of the person to search for. It can have first name and/or last name. Try to pass in names as present on LinkedIn.
      - `looseMatch` boolean — If true, allows partial and out-of-order matches. If false, only exact full name matches are returned.
    - `numProfiles` integer — Maximum number of profile results to return per lookup. Defaults to 1.
    - `profileIdentifier` union — LinkedIn profile identifier (slug or URL). Provides the best match accuracy.
      - object
        - `identifier` 'linkedinSlug', required
        - `value` string, required — The LinkedIn slug of the person (e.g. 'williamhgates' from linkedin.com/in/williamhgates).
      - object
        - `identifier` 'linkedinUrl', required
        - `value` string, required — The LinkedIn URL of the person (e.g. 'https://www.linkedin.com/in/williamhgates'). The https:// and www prefixes are optional.
      - object
        - `identifier` 'userID', required
        - `value` string, required — The LinkedIn user ID of the person.
    - `companyIdentifier` union — LinkedIn identifier for the person's current company. Used with personName for matching.
      - object
        - `identifier` 'linkedinSlug', required
        - `value` string, required — The LinkedIn slug of the person's current company.
      - object
        - `identifier` 'linkedinUrl', required
        - `value` string, required — The LinkedIn URL of the person's current company.
      - object
        - `identifier` 'linkedinOrgID', required
        - `value` string, required — The LinkedIn organization ID of the person's current company.
    - `emailAddress` string, email, nullable — Email address to look up. Second-best accuracy after profileIdentifier.
  - `liveFetch` boolean, nullable — When true, triggers a real-time LinkedIn profile fetch. Costs additional credits. Useful for profiles not yet in the database or to get the freshest data.
  - `forceCompanyMatch` boolean, nullable — When true, requires that the matched profile works at the specified company. Without this, the API may return profiles that match by name but work elsewhere.
  - `fuzzySearch` boolean, nullable — When true, enables fuzzy name matching. Useful when exact name spelling is uncertain.
  - `thoroughness` 'low' | 'high' | 'null', nullable — Controls how thoroughly to search across all profiles in the batch. Higher values recover more matches at the cost of additional per-row latency; lower values return faster. Omit to use the recommended default.
  - `getDetailedEducation` boolean, nullable — When true, returns detailed_education[] with school_details for each education entry.
  - `getDetailedWorkExperience` boolean, nullable — When true, returns detailed_work_experiences[] with company_details (domains, preferred_name, linkedin_primary_slug, li_org_id) for each work experience. Use this to get company domains for a person.

## Response `200`

Default Response

- object
  - `output` object, required
    - `data` array[], required — Profiles found for each lookup. A 2D array because each lookup may yield multiple profiles.
      - object[]
        - `articles` object[], nullable
          - `id` string, nullable
          - `title` string, nullable
          - `date_published` string, nullable
        - `certifications` object[], nullable
          - `title` string, nullable
          - `credential_id` string, nullable
          - `verify_url` string, nullable
          - `summary` string, nullable
          - `linkedin_company_id` string, nullable
          - `company_name` string, nullable
          - `date` string, nullable
        - `connection_count` number, nullable
        - `courses` object[], nullable
          - `title` string, nullable
          - `course_number` string, nullable
          - `association` unknown
        - `dob` string, nullable
        - `education` object[], nullable
          - `school_id` string, nullable
          - `school_name` string, nullable
          - `field_of_study_id` string, nullable
          - `field_of_study_name` string, nullable
          - `degree` string, nullable
          - `grade` string, nullable
          - `start_date` string, nullable
          - `end_date` string, nullable
          - `activities` string, nullable
          - `notes` string, nullable
        - `experiences` object[], nullable
          - `linkedin_company_id` string, nullable
          - `is_current` boolean, nullable
          - `company_name` string, nullable
          - `locality` string, nullable
          - `start_date` string, nullable
          - `end_date` string, nullable
          - `summary` string, nullable
          - `title` string, nullable
          - `seniority` 'Entry level' | 'Director' | 'Associate' | 'Mid-Senior level' | 'Internship' | 'Executive' | 'null', nullable
          - `job_function` string[], nullable
          - `employment_type` string[], nullable
          - `academic_qualification` string[], nullable
          - `company_start_date` string, nullable
          - `company_end_date` string, nullable
        - `first_name` string, nullable
        - `follower_count` number, nullable
        - `headline` string, nullable
        - `industry_name` string, nullable
        - `inferred_location` object, nullable
          - `street_address` string, nullable
          - `neighborhood` string, nullable
          - `city` string, nullable
          - `state_name` string, nullable
          - `state_code` string, nullable
          - `county` string, nullable
          - `postal_code` string, nullable
          - `country_code` string, nullable
          - `country_name` string, nullable
          - `coordinates` object, nullable
            - `lat` number, required
            - `lon` number, required
          - `timezone` string, nullable
          - `full_address` string, nullable
          - `formatted_address` string, nullable
        - `interests` string[], nullable
        - `last_name` string, nullable
        - `locality` string, nullable
        - `name` string, nullable
        - `patents` object[], nullable
          - `id` string, nullable
          - `title` string, nullable
          - `country` string, nullable
          - `number` string, nullable
          - `description` string, nullable
          - `url` string, nullable
          - `date` string, nullable
        - `profile_pic` string, nullable
        - `projects` object[], nullable
          - `project_id` string, nullable
          - `project_title` string, nullable
          - `project_url` string, nullable
          - `project_summary` string, nullable
          - `is_current` boolean, nullable
          - `start_date` string, nullable
          - `end_date` string, nullable
        - `publications` object[], nullable
          - `collaborators` object[], nullable
            - `name` string, nullable
            - `url` string, nullable
          - `date` string, nullable
          - `id` string, nullable
          - `publisher` string, nullable
          - `summary` string, nullable
          - `title` string, nullable
          - `url` string, nullable
        - `skills` string[], nullable
        - `primary_slug` string, required
        - `slugs` string[], nullable
        - `summary` string, nullable
        - `url` string, nullable
        - `user_id` string, nullable
        - `volunteering` object[], nullable
          - `role` string, nullable
          - `is_current` boolean, nullable
          - `cause` string, nullable
          - `summary` string, nullable
          - `linkedin_company_id` string, nullable
          - `company_name` string, nullable
          - `start_date` string, nullable
          - `end_date` string, nullable
        - `tenures` object[], nullable
          - `linkedin_company_id` string, nullable
          - `company_name` string, nullable
          - `date_range` object, required
            - `gte` string, nullable
            - `lte` string, nullable
          - `range_length_days` number, nullable
          - `titles` string[], required
          - `localities` string[], required
        - `career_began_at` string, nullable
        - `tags` string[], nullable
        - `entity_urn` string, nullable
        - `open_to_work` boolean, nullable
        - `premium` boolean, nullable
        - `influencer` boolean, nullable
        - `organizations` object[], nullable
          - `name` string, nullable
          - `end_date` string, nullable
          - `title` string, nullable
          - `start_date` string, nullable
        - `entity_urns` string[], nullable
        - `is_hiring` boolean, nullable
        - `websites` string[], nullable
        - `is_verified` boolean, nullable
        - `verifications` object, nullable
          - `is_verified` boolean, nullable
          - `joined_date` string, nullable
          - `verification_types` object[], nullable
            - `title` string, nullable
            - `subtitle` string, nullable
            - `description` string, nullable
        - `is_top_voice` boolean, nullable
        - `current_job` object, nullable
          - `linkedin_company_id` string, nullable
          - `is_current` boolean, nullable
          - `company_name` string, nullable
          - `locality` string, nullable
          - `start_date` string, nullable
          - `end_date` string, nullable
          - `summary` string, nullable
          - `title` string, nullable
          - `seniority` 'Entry level' | 'Director' | 'Associate' | 'Mid-Senior level' | 'Internship' | 'Executive' | 'null', nullable
          - `job_function` string[], nullable
          - `employment_type` string[], nullable
          - `academic_qualification` string[], nullable
          - `company_start_date` string, nullable
          - `company_end_date` string, nullable
        - `custom_data` object, nullable
        - `relevance_score` number, nullable
        - `last_sort_key` string, nullable
        - `last_updated_at` string, nullable
        - `languages` object[], nullable
          - `name` string, nullable
          - `proficiency_id` string, nullable
          - `proficiency_name` string, nullable
        - `detailed_education` object[], nullable
          - `school_details` object, nullable
            - `linkedin_ids` string[], nullable
            - `li_org_id` string, nullable
            - `linkedin_primary_slug` string, nullable
            - `domains` string[], nullable
            - `preferred_name` string, nullable
          - `school_id` string, nullable
          - `school_name` string, nullable
          - `field_of_study_id` string, nullable
          - `field_of_study_name` string, nullable
          - `degree` string, nullable
          - `grade` string, nullable
          - `start_date` string, nullable
          - `end_date` string, nullable
          - `activities` string, nullable
          - `notes` string, nullable
        - `detailed_work_experiences` object[], nullable
          - `company_details` object, nullable
            - `linkedin_ids` string[], nullable
            - `li_org_id` string, nullable
            - `linkedin_primary_slug` string, nullable
            - `domains` string[], nullable
            - `preferred_name` string, nullable
          - `crunchbase_slug` string, nullable
          - `linkedin_company_id` string, nullable
          - `is_current` boolean, nullable
          - `company_name` string, nullable
          - `locality` string, nullable
          - `start_date` string, nullable
          - `end_date` string, nullable
          - `summary` string, nullable
          - `title` string, nullable
          - `seniority` 'Entry level' | 'Director' | 'Associate' | 'Mid-Senior level' | 'Internship' | 'Executive' | 'null', nullable
          - `job_function` string[], nullable
          - `employment_type` string[], nullable
          - `academic_qualification` string[], nullable
          - `company_start_date` string, nullable
          - `company_end_date` string, nullable
    - `message` string, nullable — Additional context if no matching profile was found.
  - `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)
