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

# PitchBook: Service Provider Search

> Search service providers such as law firms, banks and accountants by name, type and location. Includes inputs, outputs, SDK V2 examples, and Deepline cost.

Search service providers such as law firms, banks and accountants by name, type and location.

> [!NOTE]
>
> Tool ID: `pitchbook_service_provider_search`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'pitchbook_service_provider_search',
  {
    "serviceProviderNames": "example",
    "serviceProviderType": "example",
    "city": "San Francisco"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute pitchbook_service_provider_search --input '{
  "serviceProviderNames": "example",
  "serviceProviderType": "example",
  "city": "San Francisco"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "stats": {
      "total": 123,
      "perPage": 123,
      "page": 123
    },
    "items": [
      {
        "serviceProviderId": "service_provider_123",
        "serviceProviderName": "Example",
        "sandbox": true
      }
    ]
  }
}
```

Use `deepline describe pitchbook_service_provider_search --json` for the latest machine-readable contract.

## Input reference

Retrieves service providers matching the specified criteria

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.serviceProviderNames` | `string` | No | — | Accepts service provider names, pbIds, websites, and tickers. Returns a list of service providers that are an exact match. Use a comma to separate multiple values |
| `payload.serviceProviderType` | `string` | No | — | Service providers can be found by their service service provider type code |
| `payload.city` | `string` | No | — | Search for service providers by their city location |
| `payload.stateProvince` | `string` | No | — | Search for service providers by their state code or province code |
| `payload.country` | `string` | No | — | Search for service providers by their country code |
| `payload.postCode` | `string` | No | — | Search for service providers by their postcode, included to support searching for both US postal code and foreign |
| `payload.locationType` | `string` | No | — | Search for service providers by additional parameter specifying HQ Only (HQ\_ONLY), Non-HQ Only (NON\_HQ\_ONLY) or any office location (ANY) values. Set this parameter in pair with city, stateProvince, country, postCode options |
| `payload.hiredForGeneralServices` | `string` | No | — | Find service providers hired for general services to other entities. Set this parameter as True |
| `payload.hiredForFundraising` | `string` | No | — | Find service providers hired for services on a fund to other entities. Set this parameter as True |
| `payload.hiredForDealWork` | `string` | No | — | Find service providers hired for services on a deal to other entities. Set this parameter as True |
| `payload.numberOfDeals` | `string` | No | — | Search for service providers by the serviced deals. Find service providers with a deals count greater than a value using the > operator, service providers with a deals count smaller than a value using the \< operator and service providers with a deals count between values using the ^ operator |
| `payload.dealDate` | `string` | No | — | Find service providers who have been hired for a deal within a certain time frame. Search for service providers hired for a deal after a certain date using the > operator, service providers hired for a deal before a certain date using the \< operator and service providers hired for a deal between 2 dates using the ^ operator. Format: YYYY-MM-DD |
| `payload.dealSize` | `string` | No | — | Find service providers who have been hired for deals of a certain size. Search for service providers hired for deals larger than an amount using the > operator, service providers hired for deals smaller than a certain amount using the \< operator and service providers hired for deals in a range using the ^ operator. Amounts in millions |
| `payload.includeDealsWithoutDealSize` | `string` | No | — | Include service providers on deals without a known deal size. Set this parameter as True only when Deal Size parameter is applied. False by default |
| `payload.excludeDealsWithoutDealSize` | `string` | No | — | Exclude service providers on deals without a known deal size. Set this parameter as True only when Deal Size parameter is not applied. False by default |
| `payload.dealType` | `string` | No | — | Find service providers by the types of deals they have been hired for. Pass a deal type code |
| `payload.serviceTypesOnDeal` | `string` | No | — | Find service providers by the service types within the deals they have been hired for. Pass a service type on deal code |
| `payload.companyStateProvince` | `string` | No | — | Search for service providers hired for services to companies by their state code or province code |
| `payload.companyCountry` | `string` | No | — | Search for service providers hired for services to companies by their country code |
| `payload.companyLocationType` | `string` | No | — | Search for service providers hired for services to companies by additional parameter specifying HQ Only (HQ\_ONLY), Non-HQ Only (NON\_HQ\_ONLY) or any office location (ANY) values. Set this parameter in pair with companyStateProvince, companyCountry |
| `payload.companyUniverse` | `string` | No | — | Search for service providers hired for services to companies by their universe code |
| `payload.companyKeywords` | `string` | No | — | Search for service providers hired for services to companies by their keywords |
| `payload.companyIndustry` | `string` | No | — | Search for service providers hired for services to companies by their industries via industry code |
| `payload.companyVerticals` | `string` | No | — | Search for service providers hired for services to companies by their verticals via vertical code |
| `payload.companyIndustryAndVertical` | `string` | No | — | When using both company industry and company vertical, "OR" logic is used by default. To use "AND" logic, set this parameter to True |
| `payload.currency` | `string` | No | — | Specify the currency that your other parameters, such as dealSize, are entered as. It depends on the currency in user preferences |
| `payload.page` | `string` | No | — | Results are returned so that they can be paged through. Set this parameter to increment the page |
| `payload.perPage` | `string` | No | — | How many returned results show on page |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Retrieves service providers matching the specified criteria",
    "properties": {
      "serviceProviderNames": {
        "type": "string",
        "description": "Accepts service provider names, pbIds, websites, and tickers. Returns a list of service providers that are an exact match. Use a comma to separate multiple values"
      },
      "serviceProviderType": {
        "type": "string",
        "description": "Service providers can be found by their service service provider type code"
      },
      "city": {
        "type": "string",
        "description": "Search for service providers by their city location"
      },
      "stateProvince": {
        "type": "string",
        "description": "Search for service providers by their state code or province code"
      },
      "country": {
        "type": "string",
        "description": "Search for service providers by their country code"
      },
      "postCode": {
        "type": "string",
        "description": "Search for service providers by their postcode, included to support searching for both US postal code and foreign"
      },
      "locationType": {
        "type": "string",
        "description": "Search for service providers by additional parameter specifying HQ Only (HQ_ONLY), Non-HQ Only (NON_HQ_ONLY) or any office location (ANY) values. Set this parameter in pair with city, stateProvince, country, postCode options"
      },
      "hiredForGeneralServices": {
        "type": "string",
        "description": "Find service providers hired for general services to other entities. Set this parameter as True"
      },
      "hiredForFundraising": {
        "type": "string",
        "description": "Find service providers hired for services on a fund to other entities. Set this parameter as True"
      },
      "hiredForDealWork": {
        "type": "string",
        "description": "Find service providers hired for services on a deal to other entities. Set this parameter as True"
      },
      "numberOfDeals": {
        "type": "string",
        "description": "Search for service providers by the serviced deals. Find service providers with a deals count greater than a value using the > operator, service providers with a deals count smaller than a value using the < operator and service providers with a deals count between values using the ^ operator"
      },
      "dealDate": {
        "type": "string",
        "description": "Find service providers who have been hired for a deal within a certain time frame. Search for service providers hired for a deal after a certain date using the > operator, service providers hired for a deal before a certain date using the < operator and service providers hired for a deal between 2 dates using the ^ operator. Format: YYYY-MM-DD"
      },
      "dealSize": {
        "type": "string",
        "description": "Find service providers who have been hired for deals of a certain size. Search for service providers hired for deals larger than an amount using the > operator, service providers hired for deals smaller than a certain amount using the < operator and service providers hired for deals in a range using the ^ operator. Amounts in millions"
      },
      "includeDealsWithoutDealSize": {
        "type": "string",
        "description": "Include service providers on deals without a known deal size. Set this parameter as True only when Deal Size parameter is applied. False by default"
      },
      "excludeDealsWithoutDealSize": {
        "type": "string",
        "description": "Exclude service providers on deals without a known deal size. Set this parameter as True only when Deal Size parameter is not applied. False by default"
      },
      "dealType": {
        "type": "string",
        "description": "Find service providers by the types of deals they have been hired for. Pass a deal type code"
      },
      "serviceTypesOnDeal": {
        "type": "string",
        "description": "Find service providers by the service types within the deals they have been hired for. Pass a service type on deal code"
      },
      "companyStateProvince": {
        "type": "string",
        "description": "Search for service providers hired for services to companies by their state code or province code"
      },
      "companyCountry": {
        "type": "string",
        "description": "Search for service providers hired for services to companies by their country code"
      },
      "companyLocationType": {
        "type": "string",
        "description": "Search for service providers hired for services to companies by additional parameter specifying HQ Only (HQ_ONLY), Non-HQ Only (NON_HQ_ONLY) or any office location (ANY) values. Set this parameter in pair with companyStateProvince, companyCountry"
      },
      "companyUniverse": {
        "type": "string",
        "description": "Search for service providers hired for services to companies by their universe code"
      },
      "companyKeywords": {
        "type": "string",
        "description": "Search for service providers hired for services to companies by their keywords"
      },
      "companyIndustry": {
        "type": "string",
        "description": "Search for service providers hired for services to companies by their industries via industry code"
      },
      "companyVerticals": {
        "type": "string",
        "description": "Search for service providers hired for services to companies by their verticals via vertical code"
      },
      "companyIndustryAndVertical": {
        "type": "string",
        "description": "When using both company industry and company vertical, \"OR\" logic is used by default. To use \"AND\" logic, set this parameter to True"
      },
      "currency": {
        "type": "string",
        "description": "Specify the currency that your other parameters, such as dealSize, are entered as. It depends on the currency in user preferences"
      },
      "page": {
        "type": "string",
        "description": "Results are returned so that they can be paged through. Set this parameter to increment the page"
      },
      "perPage": {
        "type": "string",
        "description": "How many returned results show on page"
      }
    },
    "required": [],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.stats` | `object` | No | — | — |
| `result.data.stats.total` | `integer` | No | — | Format: `int32`. |
| `result.data.stats.perPage` | `integer` | No | — | Format: `int32`. |
| `result.data.stats.page` | `integer` | No | — | Format: `int32`. |
| `result.data.stats.lastPage` | `integer` | No | — | Format: `int32`. |
| `result.data.items` | `array` | No | — | — |
| `result.data.items[].serviceProviderId` | `string` | No | — | — |
| `result.data.items[].serviceProviderName` | `string` | No | — | — |
| `result.data.items[].sandbox` | `boolean` | No | — | — |
| `result.data.items[].website` | `string` | No | — | — |
| `result.meta` | `object` | No | — | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Provider response payload.",
        "properties": {
          "stats": {
            "type": "object",
            "properties": {
              "total": {
                "type": "integer",
                "format": "int32"
              },
              "perPage": {
                "type": "integer",
                "format": "int32"
              },
              "page": {
                "type": "integer",
                "format": "int32"
              },
              "lastPage": {
                "type": "integer",
                "format": "int32"
              }
            },
            "additionalProperties": false
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "serviceProviderId": {
                  "type": "string"
                },
                "serviceProviderName": {
                  "type": "string"
                },
                "sandbox": {
                  "type": "boolean"
                },
                "website": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          }
        },
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [PitchBook provider guide](https://deepline.com/docs/providers/pitchbook/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


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