---
title: "Find work email from name and company (no LinkedIn required)"
method: POST
path: "/v1/contact-details/basic-work-email"
tags: ["Contact details"]
---

# Find work email from name and company (no LinkedIn required)

`POST /v1/contact-details/basic-work-email`

Finds a work email from a person's name and company information without requiring a LinkedIn profile. Useful when the person is not on LinkedIn.

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

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

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

## Request body

- object
  - `apiKey` string, required — Your Fiber API key
  - `name` union, required — Person name. Provide a full name, or first and last name separately.
    - object
      - `mode` 'fullName', required
      - `fullName` string, required — Full name of the person.
    - object
      - `mode` 'firstLast', required
      - `firstName` string, required — First name of the person.
      - `lastName` string, required — Last name of the person.
  - `company` union, required — Company to search. Provide a domain, or a company identifier.
    - object
      - `mode` 'domain', required
      - `domain` string, required — Company domain (e.g. 'acme.com').
    - object
      - `mode` 'identifier', required
      - `identifier` union, required — Company identifier. Resolved to a website domain before lookup.
        - 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
    - `emails` object[], required — Work email found (at most one). Empty array if no email 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.
  - `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` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/fiber/apis/fiber-ai-api/changes/v1/contact-details/basic-work-email/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)
