> ## 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.

# Investor Portfolio and Deals API

> Retrieve an investor's complete deal history by any identifier, paginated.



## OpenAPI

````yaml openapi.json GET /investor/deals
openapi: 3.0.3
info:
  title: Fundable API
  description: >-
    Canonical OpenAPI specification for the Fundable API. This file bundles the
    Deals, Companies, Investors, People, Alerts, Location, and Industry
    endpoints.
  version: 2.0.0
  contact:
    name: Fundable API Support
    url: mailto: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: deals
    description: Venture capital deals data
  - name: companies
    description: Company data, search, and discovery operations
  - name: investors
    description: Investor data and search operations
  - name: people
    description: People search and detail operations
  - name: alerts
    description: Saved alert configurations and deal data
  - name: locations
    description: Location search and utility operations
  - name: industries
    description: Industry and super category search operations
paths:
  /investor/deals:
    get:
      summary: Get deals for an investor by identifier
      description: >
        Retrieve all deals for an investor using any supported identifier
        format.

        The API intelligently detects the identifier type and queries
        accordingly.


        Provide ONE of the following query parameters to identify the investor:

        - `id` - Investor UUID

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

        - `linkedin` - LinkedIn company URL

        - `crunchbase` - Crunchbase organization URL


        The response includes the investor's deals with pagination. If the
        identifier matches multiple investors (e.g., a16z has multiple firms),
        deals from all matches are returned together.
      operationId: getInvestorDeals
      parameters:
        - name: id
          in: query
          description: Investor UUID
          required: false
          schema:
            type: string
            format: uuid
          example: 550e8400-e29b-41d4-a716-446655440000
        - 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
        - name: page
          in: query
          description: Page number (0-based)
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
          example: 0
        - name: page_size
          in: query
          description: Number of results per page (1-500)
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 10
          example: 10
      responses:
        '200':
          description: Successful response with deals for the investor
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: object
                    properties:
                      deals:
                        type: array
                        items:
                          $ref: '#/components/schemas/InvestorDeal'
                  meta:
                    type: object
                    properties:
                      total_count:
                        type: integer
                        description: Total number of deals for this investor
                        example: 247
                      page:
                        type: integer
                        example: 0
                      page_size:
                        type: integer
                        example: 10
                      credits_used:
                        type: integer
                        description: Number of credits consumed by this request
                        example: 10
                      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
        '400':
          description: Validation error (missing, multiple, or invalid identifier)
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - MISSING_IDENTIFIER
                          - MULTIPLE_IDENTIFIERS
                          - INVALID_PARAMETER
                          - INVALID_DOMAIN
                          - INVALID_LINKEDIN_URL
                          - INVALID_CRUNCHBASE_URL
                          - INVALID_PAGE
                          - INVALID_PAGE_SIZE
                        example: MISSING_IDENTIFIER
                      message:
                        type: string
                        example: An identifier parameter is required
                      details:
                        type: object
                        properties:
                          help:
                            type: string
                            example: >-
                              Provide one of: domain, linkedin, or crunchbase.
                              Example: ?domain=sequoiacap.com
        '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'
        '404':
          description: No investor found matching the provided identifier
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - NOT_FOUND
                        example: NOT_FOUND
                      message:
                        type: string
                        example: No investor found matching the provided identifier
                      details:
                        type: object
                        properties:
                          identifier_type:
                            type: string
                            example: domain
                          identifier_value:
                            type: string
                            example: nonexistent.com
        '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:
    InvestorDeal:
      type: object
      description: >-
        Deal returned by the /investor/deals endpoint. Same shape as the Deal
        schema in the Deals API.
      properties:
        id:
          type: string
          format: uuid
        round_type:
          type: string
          nullable: true
        extension:
          type: boolean
          nullable: true
        intermediate:
          type: string
          nullable: true
        pre:
          type: boolean
          nullable: true
        date:
          type: string
          format: date-time
          nullable: true
        created_at:
          type: string
          format: date-time
          nullable: true
        total_round_raised:
          type: number
          nullable: true
        deal_descriptions:
          type: object
          nullable: true
          properties:
            short_description:
              type: string
              nullable: true
            long_description:
              type: string
              nullable: true
        company_id:
          type: string
          format: uuid
        investor_ids:
          type: array
          description: >-
            UUIDs of firm investors participating in this deal. Angels are
            surfaced separately in `angel_investor_ids`.
          items:
            type: string
            format: uuid
        angel_investor_ids:
          type: array
          description: >-
            UUIDs of angel investors (people) on this deal. Resolve via
            `/people/{id}`. Empty array when no angels.
          items:
            type: string
            format: uuid
        financings:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              type:
                type: string
              size_usd:
                type: number
                nullable: true
              size_native:
                type: number
                nullable: true
              currency:
                type: string
                nullable: true
        valuation:
          type: object
          nullable: true
          properties:
            valuation_currency:
              type: string
              nullable: true
            valuation_usd:
              type: number
              nullable: true
            valuation_native:
              type: number
              nullable: true
            type:
              type: string
      required:
        - id
        - company_id
        - investor_ids
        - angel_investor_ids
        - financings
    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 provided as a Bearer token

````