> ## Documentation Index
> Fetch the complete documentation index at: https://leadmagic.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Stats

> Free helper endpoint for Jobs, Company, and People Search coverage and top dimensions.

# Search Stats

`POST /v3/search/stats` is a free helper endpoint that summarizes what is available across Jobs, Company, and People Search. Use it to power filter builders, capability cards, onboarding screens, or "what can I target?" UI.

The endpoint returns cached, high-level metrics only. It does not return records, contacts, or jobs.

## Quick Example

<CodeGroup>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl -X POST 'https://api.leadmagic.io/v3/search/stats' \
    -H 'X-API-Key: YOUR_API_KEY' \
    -H 'Content-Type: application/json' \
    -d '{
      "products": ["jobs", "company", "people"],
      "sections": ["coverage", "top"],
      "limit": 3
    }'
  ```

  ```javascript Node.js theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const response = await fetch('https://api.leadmagic.io/v3/search/stats', {
    method: 'POST',
    headers: {
      'X-API-Key': 'YOUR_API_KEY',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      products: ['jobs', 'company', 'people'],
      sections: ['coverage', 'top'],
      limit: 3
    })
  });

  const data = await response.json();
  console.log(data.company?.coverage, data.jobs?.top);
  ```
</CodeGroup>

## Request Body

<ParamField body="products" type="string[]" default="[&#x22;jobs&#x22;,&#x22;company&#x22;,&#x22;people&#x22;]">
  Product families to include. Allowed values: `jobs`, `company`, `people`.
</ParamField>

<ParamField body="sections" type="string[]" default="[&#x22;coverage&#x22;,&#x22;top&#x22;,&#x22;capabilities&#x22;]">
  Sections to include. Allowed values: `coverage`, `top`, `capabilities`.
</ParamField>

<ParamField body="limit" type="integer" default="3">
  Number of top values to return for each dimension. Defaults to `3`; maximum is `25`.
</ParamField>

## Request Examples

Coverage only:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "products": ["jobs", "company", "people"],
  "sections": ["coverage"]
}
```

Top company and people dimensions:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "products": ["company", "people"],
  "sections": ["top"],
  "limit": 3
}
```

Jobs capabilities and filter counts:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "products": ["jobs"],
  "sections": ["coverage", "capabilities", "top"]
}
```

## Response

<ResponseField name="credits_consumed" type="number">
  Always `0`.
</ResponseField>

<ResponseField name="jobs.coverage" type="object">
  Jobs coverage metrics such as open jobs, total indexed jobs, companies, and title embeddings.
</ResponseField>

<ResponseField name="jobs.capabilities" type="object">
  Supported Jobs Search capabilities and filter families.
</ResponseField>

<ResponseField name="jobs.top" type="object">
  Top jobs dimensions such as common titles, specialties, role families, industries, company types, and countries.
</ResponseField>

<ResponseField name="company.coverage" type="object">
  Company coverage metrics such as estimated companies, company records with technology data, and contact coverage rollups.
</ResponseField>

<ResponseField name="company.top" type="object">
  Top company dimensions such as industries, countries, regions, size ranges, revenue ranges, funding types, SIC/NAICS, and each technology category.
</ResponseField>

<ResponseField name="people.coverage" type="object">
  People/contact coverage metrics, including estimated contacts and email/phone availability rollups.
</ResponseField>

<ResponseField name="people.top" type="object">
  Top people/contact coverage dimensions by company.
</ResponseField>

<ResponseField name="cache" type="object">
  Cache status for each backend stats source.
</ResponseField>

## Related endpoints

<CardGroup cols={2}>
  <Card title="Job Search" icon="briefcase" href="/docs/v1/reference/job-search">
    Search jobs using the capabilities shown here.
  </Card>

  <Card title="Company Search" icon="building-magnifying-glass" href="/docs/v1/reference/company-search">
    Search companies using the company dimensions shown here.
  </Card>

  <Card title="People Search" icon="users" href="/docs/v1/reference/people-search">
    Search contacts using the people coverage shown here.
  </Card>

  <Card title="Job Search Helpers" icon="wand-magic-sparkles" href="/docs/v1/reference/job-search-helpers">
    Resolve concrete filter values for Jobs Search.
  </Card>
</CardGroup>


## OpenAPI

````yaml post /v3/search/stats
openapi: 3.1.0
info:
  title: LeadMagic API
  version: 1.4.34
  description: >
    # LeadMagic API Documentation


    The LeadMagic API provides comprehensive B2B data enrichment services
    including email validation, email finding, profile search, company
    intelligence, and more.


    ## Quick Start


    1. Get your API key from the [LeadMagic Dashboard](https://app.leadmagic.io)

    2. Add the `X-API-Key` header to all requests

    3. Start enriching your data!


    ## Base URL


    All API requests should be made to: `https://api.leadmagic.io`


    ## Rate Limits


    Each endpoint has specific rate limits (requests per minute). Exceeding
    limits returns a `429 Too Many Requests` response.


    ## Credits


    API calls consume credits based on the endpoint used. Check your balance
    with the `/v1/credits` endpoint.


    ## Support


    Contact us at support@leadmagic.io for assistance.
  contact:
    name: LeadMagic Support
    email: support@leadmagic.io
    url: https://leadmagic.io
  termsOfService: https://leadmagic.io/legal/terms
servers:
  - url: https://api.leadmagic.io
    description: Production API Server
security:
  - ApiKeyAuth: []
tags:
  - name: Credits
    description: Manage and check your credit balance
  - name: Analytics
    description: >-
      Monitor your API usage with comprehensive analytics endpoints (FREE - no
      credits consumed)
  - name: People Enrichment
    description: Find and validate contact information for individuals
  - name: Company Data
    description: Discover company information and intelligence
  - name: Jobs Data
    description: Search job listings and detect career changes
  - name: Ads Data
    description: Search advertising data across platforms
paths:
  /v3/search/stats:
    post:
      tags:
        - Jobs Data
        - Company Data
        - People Enrichment
      summary: Search Stats
      description: >-
        Free helper endpoint that returns cached high-level coverage,
        capabilities, and top dimensions for Jobs, Company, and People Search.
      operationId: search-stats-v3
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              properties:
                products:
                  type: array
                  items:
                    type: string
                    enum:
                      - jobs
                      - company
                      - people
                  default:
                    - jobs
                    - company
                    - people
                sections:
                  type: array
                  items:
                    type: string
                    enum:
                      - coverage
                      - top
                      - capabilities
                  default:
                    - coverage
                    - top
                    - capabilities
                limit:
                  type: integer
                  minimum: 1
                  maximum: 25
                  default: 10
            example:
              products:
                - jobs
                - company
                - people
              sections:
                - coverage
                - top
              limit: 10
      responses:
        '200':
          description: Search stats results
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimitExceeded'
components:
  responses:
    BadRequest:
      description: |
        Bad Request - The request was malformed or contains invalid parameters.

        **Common causes:**
        - Missing required fields
        - Invalid field format (e.g., malformed email)
        - Invalid JSON syntax
        - Invalid parameter values
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/ValidationError'
    Unauthorized:
      description: |
        Unauthorized - Authentication failed.

        **Common causes:**
        - Missing X-API-Key header
        - Invalid or expired API key
        - Malformed API key
      content:
        application/problem+json:
          schema:
            oneOf:
              - $ref: '#/components/schemas/MissingAuthenticationError'
              - $ref: '#/components/schemas/InvalidApiKeyError'
    RateLimitExceeded:
      description: |
        Too Many Requests - Rate limit exceeded.

        **Action required:** Check the `Retry-After` header for when to retry.

        **Headers returned:**
        - `Retry-After`: Seconds until you can retry
        - `RateLimit-Limit`: Your limit per minute
        - `RateLimit-Remaining`: Remaining requests this minute
        - `RateLimit-Reset`: Seconds until limit resets
      headers:
        Retry-After:
          schema:
            type: integer
          description: Seconds to wait before retrying
        RateLimit-Limit:
          schema:
            type: integer
          description: Maximum requests per minute
        RateLimit-Remaining:
          schema:
            type: integer
          description: Remaining requests this minute
        RateLimit-Reset:
          schema:
            type: integer
          description: Seconds until limit resets
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/RateLimitExceededError'
  schemas:
    ValidationError:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      example:
        success: false
        errors:
          - type: https://api.leadmagic.io/errors/validation_error
            title: Request validation failed. Check your input parameters.
            status: 400
            code: validation_error
            param:
              - email
            detail: 'Email format is invalid. Expected format: user@domain.com'
            action: Provide a valid email address in the 'email' field.
            docs: https://leadmagic.io/docs/api-reference/errors
        meta:
          request_id: ea6e3248-f4d2-437d-bca3-20881b529129
          timestamp: '2024-02-01T12:00:00.000Z'
    MissingAuthenticationError:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      example:
        success: false
        errors:
          - type: https://api.leadmagic.io/errors/missing_authentication
            title: >-
              Authentication required. Provide a valid API key in the X-API-Key
              header (case-insensitive).
            status: 401
            code: missing_authentication
            docs: https://leadmagic.io/docs/api-reference/authentication
        meta:
          request_id: ea6e3248-f4d2-437d-bca3-20881b529129
          timestamp: '2024-02-01T12:00:00.000Z'
    InvalidApiKeyError:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      example:
        success: false
        errors:
          - type: https://api.leadmagic.io/errors/invalid_api_key
            title: Invalid API key. The key does not exist or is incorrect.
            status: 401
            code: invalid_api_key
            docs: https://leadmagic.io/docs/api-reference/authentication
        meta:
          request_id: ea6e3248-f4d2-437d-bca3-20881b529129
          timestamp: '2024-02-01T12:00:00.000Z'
    RateLimitExceededError:
      allOf:
        - $ref: '#/components/schemas/ErrorResponse'
      example:
        success: false
        errors:
          - type: https://api.leadmagic.io/errors/rate_limit_exceeded
            title: >-
              Rate limit exceeded: 300 requests per 1 minute. Wait and try
              again.
            status: 429
            code: rate_limit_exceeded
            detail: >-
              You have exceeded the maximum allowed request rate. Please wait
              before making additional requests.
            action: >-
              Wait 42 seconds before retrying. Consider implementing exponential
              backoff.
            docs: https://leadmagic.io/docs/api-reference/rate-limits
            context:
              limit: 300
              window: 1 minute
              remaining: 0
              reset_at: 1706745642
              retry_after_seconds: 42
        meta:
          request_id: ea6e3248-f4d2-437d-bca3-20881b529129
          timestamp: '2024-02-01T12:00:00.000Z'
    ErrorResponse:
      type: object
      description: RFC 9457 Problem Details error response
      required:
        - success
        - errors
      properties:
        success:
          type: boolean
          example: false
          description: Always false for error responses
        errors:
          type: array
          description: Array of error details (typically one, but can be multiple)
          items:
            $ref: '#/components/schemas/ErrorDetail'
        meta:
          $ref: '#/components/schemas/ResponseMeta'
    ErrorDetail:
      type: object
      description: RFC 9457 compliant error detail
      required:
        - type
        - title
        - status
      properties:
        type:
          type: string
          format: uri
          description: RFC 9457 - URI reference identifying the error type
          example: https://api.leadmagic.io/errors/validation_error
        title:
          type: string
          description: RFC 9457 - Short human-readable summary
          example: Request validation failed. Check your input parameters.
        status:
          type: integer
          description: RFC 9457 - HTTP status code
          example: 400
        detail:
          type: string
          description: RFC 9457 - Human-readable explanation specific to this occurrence
          example: The email field is required but was not provided.
        instance:
          type: string
          format: uri
          description: RFC 9457 - URI reference for this specific occurrence
          example: /v1/people/email-validation#req_abc123
        code:
          type: string
          description: Machine-readable error code for programmatic handling
          example: validation_error
        param:
          type: array
          description: Parameters that caused the error
          items:
            type: string
          example:
            - email
        action:
          type: string
          description: Suggested action to resolve the error
          example: Provide a valid email address in the 'email' field.
        docs:
          type: string
          format: uri
          description: Link to relevant documentation
          example: https://leadmagic.io/docs/api-reference/errors
        context:
          type: object
          description: Additional context specific to this error type
          additionalProperties: true
    ResponseMeta:
      type: object
      description: Metadata included in all responses
      properties:
        request_id:
          type: string
          format: uuid
          description: Unique identifier for this request (use for debugging/support)
          example: ea6e3248-f4d2-437d-bca3-20881b529129
        timestamp:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the response was generated
          example: '2024-02-01T12:00:00.000Z'
        environment:
          type: string
          description: API environment (production, staging)
          example: production
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        Your LeadMagic API key. Header name is case-insensitive (X-API-Key,
        X-API-KEY, x-api-key all work).

````