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

# Search Investors

> Look up investors using one of four search methods. Exactly one parameter must be provided.

**Search types:**
- `name` — Fuzzy name search with relevance scoring
- `domain` — Investor domain or full URL
- `linkedin` — LinkedIn company URL
- `crunchbase` — Crunchbase organization URL

Identifier lookups (`domain`, `linkedin`, `crunchbase`) return `relevance_score: 1`.
Examples:
- `?linkedin=https://linkedin.com/company/sequoia-capital`
- `?crunchbase=https://crunchbase.com/organization/sequoia-capital`




## OpenAPI

````yaml openapi/openapi-investors.yaml GET /investor/search
openapi: 3.0.3
info:
  title: Fundable Investors API
  description: >
    API for accessing investor data including search, detailed investor
    information, and filtered investor discovery.


    ## Authentication

    All API requests require authentication using an API key in the
    Authorization header.


    ## Rate Limits

    API usage is tracked and may be subject to monthly limits depending on your
    API key tier.


    ## Investor Identifiers

    Investors can be identified using query parameters with any of the following
    formats:

    - `id` - UUID format (e.g., "?id=550e8400-e29b-41d4-a716-446655440000")

    - `domain` - Domain or full URL (e.g., "?domain=sequoiacap.com" or
    "?domain=https://sequoiacap.com")

    - `linkedin` - LinkedIn company URL (e.g.,
    "?linkedin=https://linkedin.com/company/sequoia-capital")

    - `crunchbase` - Crunchbase organization URL (e.g.,
    "?crunchbase=https://crunchbase.com/organization/sequoia-capital")


    ## Parameter Validation (for /investors endpoint)

    The /investors endpoint (POST) enforces strict validation on the JSON
    request body:

    - **Unknown Fields**: Any field not in the allowed set will result in a `422
    UNKNOWN_PARAMETER` error

    - **Enum Values**: Fields like `financing_types`, `sort_by`,
    `employee_count`, and `ipo_status` only accept exact enum values

    - **Data Types**: Array fields must be arrays (not comma-separated strings),
    numeric fields must be numbers

    - **Array Fields**: Cannot be empty arrays; provide values or omit the field
    entirely

    - **Batch Limits**: Identifier batch lookups are limited to 100 items each


    ## Investor List Endpoint (/investors)

    The `/investors` endpoint accepts a POST request with a structured JSON body
    organized into three filter sections:


    ### `identifiers` — Investor lookup filters

    - `ids` — Investor UUIDs

    - `domains` — Investor domains (max 100)

    - `linkedin_urls` — Investor LinkedIn URLs (max 100)

    - `crunchbase_urls` — Investor Crunchbase URLs (max 100)


    ### `investor` — Entity-level filters

    - `locations` — Investor HQ location (permalinks)

    - `employee_count` — Investor firm employee count ranges


    ### `company_investments` — Portfolio filters

    - `search_query` — Semantic search; a flexible replacement for an industry
    tag. Targets a niche industry or specific product type by describing **what
    portfolio companies do** (product/technology/business model); not for other
    attributes like stage, location, or funding — use the dedicated fields
    below. Results ranked by portfolio relevance

    - `min_relevance` — Minimum relevance threshold (0–1) for the portfolio
    semantic search

    - `company_ids` — Specific portfolio companies (by UUID)

    - `industries`, `super_categories`, `locations` — Portfolio company
    attributes

    - `employee_count`, `ipo_status` — Portfolio company characteristics

    - `total_raised_min`, `total_raised_max` — Portfolio company total raised
    range

    - `financing_types`, `deal_size_min`, `deal_size_max`, `deal_start_date`,
    `deal_end_date` — Deal characteristics

    - `only_lead_deals` — Only count deals where investor was lead

    - `min_matching_deals` — Minimum deals matching above criteria


    When portfolio filters are active, each investor in the response includes
    `filtered_deal_count` and `filtered_lead_count`.
  version: 1.0.0
  contact:
    name: Fundable API Support
    url: jacob@tryfundable.ai
  license:
    name: Proprietary
    url: https://www.tryfundable.ai/terms/privacy/
servers:
  - url: https://www.tryfundable.ai/api/v1
    description: Production server
security:
  - bearerAuth: []
tags:
  - name: investors
    description: Investor data and search operations
paths:
  /investor/search:
    get:
      summary: Search investors by name, domain, LinkedIn, or Crunchbase
      description: >
        Look up investors using one of four search methods. Exactly one
        parameter must be provided.


        **Search types:**

        - `name` — Fuzzy name search with relevance scoring

        - `domain` — Investor domain or full URL

        - `linkedin` — LinkedIn company URL

        - `crunchbase` — Crunchbase organization URL


        Identifier lookups (`domain`, `linkedin`, `crunchbase`) return
        `relevance_score: 1`.

        Examples:

        - `?linkedin=https://linkedin.com/company/sequoia-capital`

        - `?crunchbase=https://crunchbase.com/organization/sequoia-capital`
      operationId: searchInvestors
      parameters:
        - name: name
          in: query
          description: Investor name (fuzzy search with relevance scoring)
          required: false
          schema:
            type: string
          example: sequoia
        - name: domain
          in: query
          description: >-
            Investor domain or full URL (e.g., "sequoiacap.com" or
            "https://sequoiacap.com") — URLs are automatically parsed to extract
            the domain
          required: false
          schema:
            type: string
          example: sequoiacap.com
        - name: linkedin
          in: query
          description: LinkedIn company URL
          required: false
          schema:
            type: string
          example: https://linkedin.com/company/sequoia-capital
        - name: crunchbase
          in: query
          description: Crunchbase organization URL
          required: false
          schema:
            type: string
          example: https://crunchbase.com/organization/sequoia-capital
      responses:
        '200':
          description: Successful search results
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: object
                    properties:
                      investors:
                        type: array
                        items:
                          $ref: '#/components/schemas/InvestorSearchResult'
                  meta:
                    type: object
                    properties:
                      total_count:
                        type: integer
                        description: Number of investors returned
                        example: 8
                      page:
                        type: integer
                        example: 0
                      page_size:
                        type: integer
                        example: 1
                      credits_used:
                        type: integer
                        description: Number of credits consumed by this request
                        example: 0
                      credit_source:
                        type: string
                        nullable: true
                        enum:
                          - monthly
                          - purchased
                        description: >-
                          Source of credits used (only included for non-API tier
                          keys)
                        example: monthly
                      monthly_credits_remaining:
                        type: integer
                        nullable: true
                        description: >-
                          Remaining monthly credits (only included for non-API
                          tier keys)
                        example: 990
                      purchased_credits_remaining:
                        type: integer
                        nullable: true
                        description: >-
                          Remaining purchased credits (only included for non-API
                          tier keys)
                        example: 500
                required:
                  - success
                  - data
                  - meta
              example:
                success: true
                data:
                  investors:
                    - id: 770e8400-e29b-41d4-a716-446655440000
                      guru_permalink: acme-ventures
                      name: Acme Ventures
                      description: Early-stage venture capital firm focused on AI startups
                      image: https://example.com/acme-ventures-logo.png
                      relevance_score: 0.92
                      domain: acmeventures.com
                      website: https://acmeventures.com
                    - id: 880e8400-e29b-41d4-a716-446655440001
                      guru_permalink: acme-capital
                      name: Acme Capital
                      description: Growth-stage investment firm
                      image: https://example.com/acme-capital-logo.png
                      relevance_score: 0.85
                      domain: acmecap.com
                      website: https://acmecap.com
                meta:
                  total_count: 2
                  page: 0
                  page_size: 1
                  credits_used: 0
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - MISSING_SEARCH_PARAMS
                          - MULTIPLE_SEARCH_PARAMS
                          - EMPTY_SEARCH_TERM
                          - INVALID_DOMAIN
                          - INVALID_LINKEDIN_URL
                          - INVALID_CRUNCHBASE_URL
                        example: MISSING_SEARCH_PARAMS
                      message:
                        type: string
                        example: At least one search parameter is required
                      details:
                        type: object
                        properties:
                          help:
                            type: string
                            example: >-
                              Provide one of: name, domain, linkedin, or
                              crunchbase. Example: ?name=sequoia or
                              ?domain=sequoiacap.com
                          provided:
                            type: string
                            nullable: true
                          examples:
                            type: object
                            nullable: true
                            properties:
                              valid:
                                type: array
                                items:
                                  type: string
                              invalid:
                                type: array
                                items:
                                  type: string
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthError'
        '402':
          description: Insufficient credits to complete request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsufficientCreditsError'
        '429':
          description: Rate limit exceeded (per-minute)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
          headers:
            Retry-After:
              description: Number of seconds to wait before retrying
              schema:
                type: integer
                example: 60
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
components:
  schemas:
    InvestorSearchResult:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the investor
          example: 550e8400-e29b-41d4-a716-446655440000
        guru_permalink:
          type: string
          nullable: true
          description: Fundable permalink for the investor
          example: acme-ventures
        name:
          type: string
          description: Investor name
          example: Acme Ventures
        description:
          type: string
          nullable: true
          description: Brief description of the investor
          example: Early-stage venture capital firm focused on AI startups
        relevance_score:
          type: number
          description: Search relevance score (0-1)
          example: 0.92
        domain:
          type: string
          nullable: true
          description: Investor website domain
          example: acmeventures.com
        website:
          type: string
          nullable: true
          format: uri
          description: Investor website URL
        linkedin:
          type: string
          nullable: true
          description: LinkedIn profile URL
        crunchbase:
          type: string
          nullable: true
          description: Crunchbase profile URL
    AuthError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - AUTH_ERROR
                - INVALID_API_KEY
                - INACTIVE_API_KEY
              example: AUTH_ERROR
            message:
              type: string
              example: API key not provided
            details:
              type: object
              properties:
                help:
                  type: string
                  example: Please provide your API key in the Authorization header
                format:
                  type: string
                  example: Bearer vg_your_api_key_here
      required:
        - error
    InsufficientCreditsError:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: object
          properties:
            code:
              type: string
              example: INSUFFICIENT_CREDITS
            message:
              type: string
              example: >-
                Not enough credits to complete this request. Visit
                https://www.tryfundable.ai/api-access to purchase more.
            details:
              type: object
              properties:
                credits_needed:
                  type: integer
                  nullable: true
                  description: >-
                    Number of credits required (included when known
                    post-execution)
                  example: 25
                monthly_credits_remaining:
                  type: integer
                  description: Remaining monthly credits
                  example: 0
                purchased_credits_remaining:
                  type: integer
                  description: Remaining purchased credits
                  example: 0
                help:
                  type: string
                  example: >-
                    Purchase additional credits at
                    https://www.tryfundable.ai/api-access or upgrade your plan.
      required:
        - error
    RateLimitError:
      type: object
      properties:
        success:
          type: boolean
          example: false
        error:
          type: object
          properties:
            code:
              type: string
              example: RATE_LIMIT_EXCEEDED
            message:
              type: string
              example: Rate limit exceeded. Maximum 200 requests per minute.
            details:
              type: object
              properties:
                limit:
                  type: integer
                  description: Maximum requests allowed per window
                  example: 200
                window:
                  type: string
                  description: Rate limit window duration
                  example: 60 seconds
                help:
                  type: string
                  example: Please reduce your request frequency and try again.
      required:
        - error
    ServerError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: INTERNAL_SERVER_ERROR
            message:
              type: string
              example: An unexpected error occurred
            details:
              type: string
              nullable: true
              description: Error details (only in development mode)
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: |
        API key authentication using Bearer token format.
        Format: `Authorization: Bearer vg_your_api_key_here`

        API keys follow the pattern: `vg_[12_hex_chars]_[32_base64url_chars]`

````