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

# Search companies

> Search for impact data



## OpenAPI

````yaml post /v2/impact/search
openapi: 3.0.0
info:
  title: Forestreet API
  version: 1.0.0
  description: API documentation for Forestreet API
servers:
  - url: https://rest.forestreet.com
    description: Forestreet API V2 server
security:
  - apiKeyAuth: []
  - bearerAuth: []
  - sessionIdQuery: []
tags: []
paths:
  /v2/impact/search:
    post:
      tags:
        - Impact
      summary: Search companies
      description: Search for impact data
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                searchType:
                  type: string
                  enum:
                    - keywordSearch
                    - domainSearch
                  description: 'Type of search to perform: keyword-based or domain-based.'
                keyword:
                  type: string
                  minLength: 1
                  description: Keyword or domain name to search for.
                location:
                  type: string
                  description: Optional location filter to refine search results.
                page:
                  type: number
                  minimum: 1
                  maximum: 100
                  description: Page number for paginated search results (1–100).
                perPage:
                  type: number
                  minimum: 10
                  maximum: 100
                  description: Number of items per page (10–100).
                filters:
                  type: object
                  properties:
                    certifications:
                      type: array
                      items:
                        type: string
                      description: List of certifications to filter companies by.
                    naicsCodes:
                      type: array
                      items:
                        type: object
                        properties:
                          value:
                            type: string
                            description: NAICS code value.
                          label:
                            type: string
                            description: Readable label for the NAICS code.
                        required:
                          - value
                          - label
                      description: List of NAICS codes to filter companies by.
                    companyKeyword:
                      type: string
                      description: Keyword to further filter company names or descriptions.
                  description: Optional filters applied to the search.
                sort:
                  type: object
                  properties:
                    field:
                      type: string
                      enum:
                        - name
                        - relevance
                      description: 'Field to sort by: company name or search relevance.'
                    direction:
                      type: string
                      enum:
                        - asc
                        - desc
                      description: 'Sort direction: ascending or descending.'
                  description: Optional sorting parameters.
              required:
                - searchType
                - keyword
      responses:
        '200':
          description: Search impact data response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        nameOfFirm:
                          type: string
                          nullable: true
                          description: Name of the firm.
                        description:
                          type: string
                          nullable: true
                          description: Brief description of the firm.
                        keywords:
                          type: array
                          nullable: true
                          items:
                            type: string
                          description: List of keywords associated with the firm.
                        certifications:
                          type: array
                          nullable: true
                          items:
                            type: string
                          description: Verified certifications the firm holds.
                        unverifiedCertifications:
                          type: array
                          nullable: true
                          items:
                            type: string
                          description: Unverified certifications claimed by the firm.
                        city:
                          type: string
                          nullable: true
                          description: City where the firm is located.
                        domain:
                          type: string
                          nullable: true
                          description: Website domain of the firm.
                        url:
                          type: string
                          nullable: true
                          description: URL link to the firm’s website.
                        naicsCodes:
                          type: array
                          nullable: true
                          items:
                            type: number
                          description: List of NAICS codes associated with the firm.
                        naicsDescriptions:
                          type: array
                          nullable: true
                          items:
                            type: string
                          description: Descriptions for the firm's NAICS codes.
                        revenue:
                          type: object
                          nullable: true
                          properties:
                            id:
                              type: number
                              nullable: true
                              description: Revenue bracket identifier.
                            label:
                              type: string
                              nullable: true
                              description: Revenue range label.
                            actual:
                              type: object
                              properties:
                                value:
                                  type: number
                                  nullable: true
                                  description: Actual revenue value.
                                currency:
                                  type: string
                                  nullable: true
                                  description: Currency of the revenue.
                          required:
                            - actual
                          description: Revenue information for the firm.
                        size:
                          type: object
                          nullable: true
                          properties:
                            id:
                              type: number
                              nullable: true
                              description: Size bracket identifier.
                            label:
                              type: string
                              nullable: true
                              description: Size range label.
                            actual:
                              type: number
                              nullable: true
                              description: Actual size of the company.
                          description: Company size information.
                        score:
                          type: number
                          nullable: true
                          description: Relevance score of the search result.
                        revenueDelta:
                          type: number
                          nullable: true
                          description: Change in revenue compared to previous data.
                        sizeDelta:
                          type: number
                          nullable: true
                          description: Change in company size compared to previous data.
                        location:
                          type: object
                          properties:
                            state:
                              type: object
                              nullable: true
                              properties:
                                type:
                                  type: string
                                  nullable: true
                                  description: Type of the state location.
                                name:
                                  type: string
                                  nullable: true
                                  description: State name.
                                code:
                                  type: string
                                  nullable: true
                                  description: State code abbreviation.
                                country:
                                  type: string
                                  nullable: true
                                  description: Country of the state.
                            country:
                              type: object
                              nullable: true
                              properties:
                                type:
                                  type: string
                                  nullable: true
                                  description: Type of the country location.
                                name:
                                  type: string
                                  nullable: true
                                  description: Country name.
                                code:
                                  type: string
                                  nullable: true
                                  description: Country code abbreviation.
                          description: Location information for the firm.
                      required:
                        - location
                    description: List of companies returned by the search.
                  meta:
                    type: object
                    properties:
                      totalItems:
                        type: number
                        description: Total number of search results.
                      currentPage:
                        type: number
                        description: Current page number.
                      totalPages:
                        type: number
                        description: Total number of pages available.
                      itemsPerPage:
                        type: number
                        description: Number of items displayed per page.
                    required:
                      - totalItems
                      - currentPage
                      - totalPages
                      - itemsPerPage
                    description: Pagination metadata for the search results.
                required:
                  - data
                  - meta
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  errorCode:
                    type: string
                    enum:
                      - USER_NOT_CONFIRMED
                      - INVALID_CREDENTIALS
                      - INCOMPLETE_CREDENTIALS
                      - INVALID_SESSION_TOKEN
                      - FORCE_CHANGE_PASSWORD
                      - PASSWORD_RESET_REQUIRED
                      - PASSWORD_EXPIRED
                      - CODE_EXPIRED
                      - SESSION_EXPIRED
                      - UNAUTHORISED
                      - AUTHENTICATOR_ERROR
                      - SSO_ACCOUNT
                      - FORBIDDEN
                      - METHOD_NOT_ALLOWED
                      - INVALID_INPUT
                      - PATH_VALIDATION_FAILED
                      - QUERY_VALIDATION_FAILED
                      - BODY_VALIDATION_FAILED
                      - RESPONSE_VALIDATION_FAILED
                      - INVALID_OR_MALFORMED_JSON
                      - INTERNAL_SERVER_ERROR
                      - CONFIGURATION_ERROR
                      - SERVICE_UNAVAILABLE
                      - NOT_FOUND
                      - CONFLICT
                      - LIMIT_EXCEEDED
                      - REVIEW_ALREADY_PENDING
                      - REVIEW_NOT_PENDING
                      - REVIEW_PENDING
                      - REVIEW_INSUFFICIENT_DOMAINS
                      - QUOTA_EXCEEDED
                      - UNSUPPORTED_ENDPOINT_VERSION
                      - ENDPOINT_NOT_FOUND
                      - ENDPOINT_ALREADY_EXISTS
                  message:
                    type: string
                  detail:
                    type: object
                    additionalProperties:
                      nullable: true
                required:
                  - success
                  - errorCode
              examples:
                INVALID_INPUT:
                  value:
                    success: false
                    errorCode: INVALID_INPUT
                    message: Bad Request
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  errorCode:
                    type: string
                    enum:
                      - USER_NOT_CONFIRMED
                      - INVALID_CREDENTIALS
                      - INCOMPLETE_CREDENTIALS
                      - INVALID_SESSION_TOKEN
                      - FORCE_CHANGE_PASSWORD
                      - PASSWORD_RESET_REQUIRED
                      - PASSWORD_EXPIRED
                      - CODE_EXPIRED
                      - SESSION_EXPIRED
                      - UNAUTHORISED
                      - AUTHENTICATOR_ERROR
                      - SSO_ACCOUNT
                      - FORBIDDEN
                      - METHOD_NOT_ALLOWED
                      - INVALID_INPUT
                      - PATH_VALIDATION_FAILED
                      - QUERY_VALIDATION_FAILED
                      - BODY_VALIDATION_FAILED
                      - RESPONSE_VALIDATION_FAILED
                      - INVALID_OR_MALFORMED_JSON
                      - INTERNAL_SERVER_ERROR
                      - CONFIGURATION_ERROR
                      - SERVICE_UNAVAILABLE
                      - NOT_FOUND
                      - CONFLICT
                      - LIMIT_EXCEEDED
                      - REVIEW_ALREADY_PENDING
                      - REVIEW_NOT_PENDING
                      - REVIEW_PENDING
                      - REVIEW_INSUFFICIENT_DOMAINS
                      - QUOTA_EXCEEDED
                      - UNSUPPORTED_ENDPOINT_VERSION
                      - ENDPOINT_NOT_FOUND
                      - ENDPOINT_ALREADY_EXISTS
                  message:
                    type: string
                  detail:
                    type: object
                    additionalProperties:
                      nullable: true
                required:
                  - success
                  - errorCode
              examples:
                FORBIDDEN:
                  value:
                    success: false
                    errorCode: FORBIDDEN
                    message: Forbidden
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  errorCode:
                    type: string
                    enum:
                      - USER_NOT_CONFIRMED
                      - INVALID_CREDENTIALS
                      - INCOMPLETE_CREDENTIALS
                      - INVALID_SESSION_TOKEN
                      - FORCE_CHANGE_PASSWORD
                      - PASSWORD_RESET_REQUIRED
                      - PASSWORD_EXPIRED
                      - CODE_EXPIRED
                      - SESSION_EXPIRED
                      - UNAUTHORISED
                      - AUTHENTICATOR_ERROR
                      - SSO_ACCOUNT
                      - FORBIDDEN
                      - METHOD_NOT_ALLOWED
                      - INVALID_INPUT
                      - PATH_VALIDATION_FAILED
                      - QUERY_VALIDATION_FAILED
                      - BODY_VALIDATION_FAILED
                      - RESPONSE_VALIDATION_FAILED
                      - INVALID_OR_MALFORMED_JSON
                      - INTERNAL_SERVER_ERROR
                      - CONFIGURATION_ERROR
                      - SERVICE_UNAVAILABLE
                      - NOT_FOUND
                      - CONFLICT
                      - LIMIT_EXCEEDED
                      - REVIEW_ALREADY_PENDING
                      - REVIEW_NOT_PENDING
                      - REVIEW_PENDING
                      - REVIEW_INSUFFICIENT_DOMAINS
                      - QUOTA_EXCEEDED
                      - UNSUPPORTED_ENDPOINT_VERSION
                      - ENDPOINT_NOT_FOUND
                      - ENDPOINT_ALREADY_EXISTS
                  message:
                    type: string
                  detail:
                    type: object
                    additionalProperties:
                      nullable: true
                required:
                  - success
                  - errorCode
              examples:
                INTERNAL_SERVER_ERROR:
                  value:
                    success: false
                    errorCode: INTERNAL_SERVER_ERROR
                    message: Internal Server Error
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Pass a static API key for every request, provided by your customer
        support.
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Bearer token authentication, using a sessionId generated by `GET
        /v2/auth/session`.
    sessionIdQuery:
      type: apiKey
      in: query
      name: sessionId
      description: >-
        Session ID passed as a query parameter for authentication, provided by
        `GET /v2/auth/session`.

````