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

# Find company websites

> Company websites for a target such as "marketing agencies in Austin", found by ManyPI's own search. Directories, review sites, marketplaces, media and LinkedIn or Meta pages are left out, and each company appears once. Nothing is scanned: read the sites yourself, or with the ManyPI Chrome extension's Find companies.

Costs **1 crawl credit per results page**, whether or not the page held companies. Up to 5 pages per target.

Requires the `write` permission.



## OpenAPI

````yaml POST /api/leads/web-search
openapi: 3.1.0
info:
  title: ManyPI API
  description: >-
    The REST API behind ManyPI — AI lead generation, email validation,
    cold-email outreach, agent runs and web scraping. Every endpoint is
    authenticated with a ManyPI API key (`mpi_...`) or an OAuth 2.1 access
    token, and honours the permissions granted to that credential.
  version: 2.0.0
  contact:
    name: ManyPI Support
    email: support@manypi.com
    url: https://manypi.com
servers:
  - url: https://app.manypi.com
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Leads
    description: Find, store, enrich and manage leads.
  - name: Email validation
    description: Verify that lead addresses can receive mail.
  - name: Outreach
    description: Inboxes, sequences, campaigns, sending and replies.
  - name: Agent
    description: Agent runs, replies and skills.
  - name: Scraping
    description: Scrapers, runs and extracted data.
  - name: Endpoints
    description: Publish scrapers as typed REST endpoints.
  - name: Account
    description: Key validation and account information.
  - name: Imports
    description: >-
      Bring campaigns, leads and the do-not-contact list over from another
      outreach tool.
paths:
  /api/leads/web-search:
    post:
      tags:
        - Leads
      summary: Find company websites
      description: >-
        Company websites for a target such as "marketing agencies in Austin",
        found by ManyPI's own search. Directories, review sites, marketplaces,
        media and LinkedIn or Meta pages are left out, and each company appears
        once. Nothing is scanned: read the sites yourself, or with the ManyPI
        Chrome extension's Find companies.


        Costs **1 crawl credit per results page**, whether or not the page held
        companies. Up to 5 pages per target.


        Requires the `write` permission.
      operationId: findCompanySites
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - query
              properties:
                query:
                  type: string
                  minLength: 2
                  maxLength: 200
                  description: Who to find, in plain words.
                page:
                  type: integer
                  minimum: 0
                  maximum: 4
                  default: 0
                  description: Results page, starting at 0.
                country:
                  type: string
                  pattern: ^[a-zA-Z]{2}$
                  description: Two-letter country code to search in, for example `de`.
                skip:
                  type: array
                  maxItems: 1000
                  items:
                    type: string
                  description: Domains you already have, left out of the answer.
            example:
              query: marketing agencies in Austin
              page: 0
              country: us
              skip:
                - acme.agency
      responses:
        '200':
          description: Company sites on this results page.
          content:
            application/json:
              schema:
                type: object
                properties:
                  sites:
                    type: array
                    items:
                      type: object
                      properties:
                        domain:
                          type: string
                        url:
                          type: string
                          format: uri
                        title:
                          type: string
                        snippet:
                          type: string
                  page:
                    type: integer
                  next_page:
                    type: integer
                    nullable: true
                    description: The page to ask for next, or null after the last one.
                  charged:
                    type: integer
                    description: Crawl credits this call used.
              example:
                sites:
                  - domain: northwind.studio
                    url: https://northwind.studio/
                    title: Northwind Studio | Brand agency in Austin
                    snippet: Brand and web design for B2B companies.
                page: 0
                next_page: 1
                charged: 1
        '400':
          description: The query is missing or too long, or there is no active workspace.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          description: 'Out of crawl credits (`code: "crawl_credits_exhausted"`).'
        '502':
          description: >-
            Search is unavailable right now (`code: "search_unavailable"`).
            Retry in a minute.
components:
  responses:
    Unauthorized:
      description: >-
        Missing, invalid or expired credential — or a key that lacks the
        permission this route requires.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      properties:
        error:
          description: >-
            Human-readable message. A few validation failures (creating or
            updating an endpoint, bulk lead updates and deletes) send a list of
            the individual problems here instead of one string.
          oneOf:
            - type: string
            - type: array
              items:
                type: object
                properties:
                  path:
                    type: array
                    items:
                      type:
                        - string
                        - integer
                  message:
                    type: string
        code:
          type: string
          description: >-
            A machine-readable code on gated failures: `lead_limit`,
            `outreach_locked`, `validation_credits_exhausted`.
        details:
          description: >-
            Extra detail on some failures, such as the list of parameters that
            failed an endpoint's `param_schema`.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        A ManyPI API key (`mpi_...`) from the profile menu → API Access in the
        dashboard, or an OAuth 2.1 access token obtained through the MCP consent
        flow.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.