---
title: "Reveal contact details (instant)"
method: POST
path: "/v1/contact-details/instant"
tags: ["Contact details"]
---

# Reveal contact details (instant)

`POST /v1/contact-details/instant`

Fast contact lookup that returns emails and phone numbers already on file for the person. Does not perform additional discovery or re-verify addresses at request time, so yield is lower than other contact-reveal endpoints and validationStatus may be unknown. Accepts a LinkedIn profile identifier or a name plus company domain.

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

<span>💰 <strong>Cost:</strong> 1 credit per instant email reveal + 1 credit per instant phone reveal&nbsp;<span title="Pricing shown is default pricing. Actual pricing may vary.">ⓘ</span></span>

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

## Request body

- object
  - `apiKey` string, required — Your Fiber API key
  - `input` union, required — Person lookup parameters. Use mode 'linkedin' or 'name-domain'.
    - object
      - `mode` 'linkedin', required
      - `linkedinIdentifier` string, required — LinkedIn profile identifier — a full URL, bare slug, or URN (e.g. 'williamhgates', 'https://www.linkedin.com/in/williamhgates').
      - `fullName` string, nullable — Full name of the person. Optional — improves match accuracy.
    - object
      - `mode` 'name-domain', required
      - `fullName` string, required — Full name of the person.
      - `companyDomain` string, required — Company domain (e.g. 'gatesfoundation.org').
  - `enrichmentType` object — Which email and phone types to look for.
    - `getWorkEmails` boolean
    - `getPersonalEmails` boolean
    - `getPhoneNumbers` boolean
  - `company` union — Optional current company of the person. When provided, work emails whose domain does not match this company are returned in unmatchedWorkEmails instead of emails. Set identifier to 'linkedinUrl', 'linkedinSlug', 'linkedinOrgId', or 'domain' and provide the corresponding value.
    - object
      - `identifier` 'linkedinUrl', required
      - `value` string, required — LinkedIn company URL (e.g. 'https://www.linkedin.com/company/openai').
    - object
      - `identifier` 'linkedinSlug', required
      - `value` string, required — LinkedIn company slug (e.g. 'openai').
    - object
      - `identifier` 'linkedinOrgId', required
      - `value` string, required — LinkedIn numeric organization ID (e.g. '11130470').
    - object
      - `identifier` 'domain', required
      - `value` string, required — Company website domain (e.g. 'openai.com').

## Response `200`

Default Response

- object
  - `output` object, required
    - `profile` object, required
      - `emails` object[], required — All emails found for this profile, ordered by priority.
        - `emailAddress` string, nullable — Email address for the person.
        - `type` 'work' | 'personal' | 'null', nullable — Classification of the email address.
        - `validationStatus` 'valid' | 'risky' | 'unknown' | 'invalid' | 'null', nullable — Email verification result.
        - `deliverabilityScore` number, nullable — Confidence score ranking deliverability for this email. Higher values indicate higher likelihood of delivery.
        - `isCatchAll` boolean, nullable — Whether the domain accepts email to any address (catch-all). Catch-all domains make individual address verification unreliable — the address may appear valid but not actually be monitored.
      - `unmatchedWorkEmails` object[] — Work emails found for this person whose domain does not match the person's current company (or the company you specified). These are not included in emails. Present only when at least one such email was found.
        - `emailAddress` string, nullable — Email address for the person.
        - `type` 'work' | 'personal' | 'null', nullable — Classification of the email address.
        - `validationStatus` 'valid' | 'risky' | 'unknown' | 'invalid' | 'null', nullable — Email verification result.
        - `deliverabilityScore` number, nullable — Confidence score ranking deliverability for this email. Higher values indicate higher likelihood of delivery.
        - `isCatchAll` boolean, nullable — Whether the domain accepts email to any address (catch-all). Catch-all domains make individual address verification unreliable — the address may appear valid but not actually be monitored.
      - `phoneNumbers` object[], required — All phone numbers found for this profile.
        - `phoneNumber` string, nullable — Phone number for the person.
        - `type` 'mobile' | 'other' | 'unknown' | 'null', nullable — Classification of the phone number.
  - `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

## Changes

- **2026-09-23** `834164952caf` — 2 info
  - added the new optional request property `company`
  - added the optional property `output/profile/unmatchedWorkEmails` to the response with the `200` status
- **2026-09-02** `4124c1dafb12` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/fiber/apis/fiber-ai-api/changes/v1/contact-details/instant/post.md)

---

[API](https://skmtc.dev/fiber/apis/fiber-ai-api.md) · [All operations](https://skmtc.dev/fiber/apis/fiber-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fiber/apis/fiber-ai-api/revisions/834164952caf?raw)
