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

# Forager: Person Role Search

> Search people by role title, dates, skills, industry, location and organization. Returns each person with role history and organization details.

Search people by role title, dates, skills, industry, location and organization.

> [!NOTE]
>
> Tool ID: `forager_person_role_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(
  'forager_person_role_search',
  {
    "page": 123,
    "role_title": "example",
    "role_description": "example"
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute forager_person_role_search --input '{
  "page": 123,
  "role_title": "example",
  "role_description": "example"
}' --json
```

## Example response

The static output schema lacks the details for a reliable example. Use `deepline describe forager_person_role_search --json` for the complete live contract.

## Input reference

OrganizationPersonRole search request serializer.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.page` | `integer` | No | — | — |
| `payload.role_title` | `string` | No | — | This field supports a boolean text search query. |
| `payload.role_description` | `string` | No | — | This field supports a boolean text search query. |
| `payload.role_is_current` | `boolean` | No | `true` | — |
| `payload.role_position_start_date` | `string` | No | — | Format: `date`. |
| `payload.role_position_end_date` | `string` | No | — | Format: `date`. |
| `payload.role_years_on_position_start` | `integer` | No | — | — |
| `payload.role_years_on_position_end` | `integer` | No | — | — |
| `payload.person_name` | `string` | No | — | This field supports a boolean text search query. |
| `payload.person_headline` | `string` | No | — | This field supports a boolean text search query. |
| `payload.person_description` | `string` | No | — | This field supports a boolean text search query. |
| `payload.person_skills` | `array` | No | — | To get a list of IDs use Person skills lookup endpoint . |
| `payload.person_locations` | `array` | No | — | To get a list of IDs use Locations lookup endpoint . |
| `payload.person_industries` | `array` | No | — | To get a list of IDs use Industries lookup endpoint . |
| `payload.person_industries_exclude` | `array` | No | — | To get a list of IDs use Industries lookup endpoint . |
| `payload.person_linkedin_public_identifiers` | `array` | No | — | LinkedIn person "Public identifier/Slug/ID" - "linkedin.com/in/!slug!/". |
| `payload.organizations` | `array` | No | — | To get a list of IDs use Organizations lookup endpoint . |
| `payload.organizations_bulk_domain` | `string` | No | — | — |
| `payload.organization_domains` | `array` | No | — | — |
| `payload.organization_description` | `string` | No | — | This field supports a boolean text search query. |
| `payload.organization_locations` | `array` | No | — | To get a list of IDs use Locations lookup endpoint . |
| `payload.organization_industries` | `array` | No | — | To get a list of IDs use Industries lookup endpoint . |
| `payload.organization_industries_exclude` | `array` | No | — | To get a list of IDs use Industries lookup endpoint . |
| `payload.organization_keywords` | `array` | No | — | To get a list of IDs use Organization keywords lookup endpoint . |
| `payload.organization_web_technologies` | `array` | No | — | To get a list of IDs use Web technologies lookup endpoint . |
| `payload.organization_founded_date_start` | `string` | No | — | Format: `date`. |
| `payload.organization_founded_date_end` | `string` | No | — | Format: `date`. |
| `payload.organization_employees_start` | `integer` | No | — | — |
| `payload.organization_employees_end` | `integer` | No | — | — |
| `payload.organization_revenue_start` | `integer` | No | — | — |
| `payload.organization_revenue_end` | `integer` | No | — | — |
| `payload.organization_domain_rank_start` | `integer` | No | — | — |
| `payload.organization_domain_rank_end` | `integer` | No | — | — |
| `payload.organization_linkedin_public_identifiers` | `array` | No | — | LinkedIn organization "Public identifier/Slug/ID" - "linkedin.com/company/!slug!/". |
| `payload.funding_types` | `array` | No | — | — |
| `payload.funding_total_start` | `integer` | No | — | — |
| `payload.funding_total_end` | `integer` | No | — | — |
| `payload.funding_event_date_featured_start` | `string` | No | — | Format: `date`. |
| `payload.funding_event_date_featured_end` | `string` | No | — | Format: `date`. |
| `payload.job_post_title` | `string` | No | — | This field supports a boolean text search query. |
| `payload.job_post_description` | `string` | No | — | This field supports a boolean text search query. |
| `payload.job_post_is_remote` | `boolean` | No | — | — |
| `payload.job_post_is_active` | `boolean` | No | — | — |
| `payload.job_post_date_featured_start` | `string` | No | — | Format: `date`. |
| `payload.job_post_date_featured_end` | `string` | No | — | Format: `date`. |
| `payload.job_post_locations` | `array` | No | — | To get a list of IDs use Locations lookup endpoint . |
| `payload.job_post_locations_exclude` | `array` | No | — | To get a list of IDs use Locations lookup endpoint . |
| `payload.simple_event_source` | `"product_hunt" \| "form_c_sec_gov" \| "form_d_sec_gov"` | No | — | \* `product_hunt` - Product Hunt \* `form_c_sec_gov` - Form C sec.gov \* `form_d_sec_gov` - Form D sec.gov Allowed: `product_hunt`, `form_c_sec_gov`, `form_d_sec_gov`. |
| `payload.simple_event_reason` | `"report_released" \| "promoted_on_site"` | No | — | \* `report_released` - Report released \* `promoted_on_site` - Promoted on site Allowed: `report_released`, `promoted_on_site`. |
| `payload.simple_event_date_featured_start` | `string` | No | — | Format: `date`. |
| `payload.simple_event_date_featured_end` | `string` | No | — | Format: `date`. |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "OrganizationPersonRole search request serializer.",
    "properties": {
      "page": {
        "type": "integer"
      },
      "role_title": {
        "type": "string",
        "description": "This field supports a boolean text search query."
      },
      "role_description": {
        "type": "string",
        "description": "This field supports a boolean text search query."
      },
      "role_is_current": {
        "type": "boolean",
        "default": true
      },
      "role_position_start_date": {
        "type": "string",
        "format": "date"
      },
      "role_position_end_date": {
        "type": "string",
        "format": "date"
      },
      "role_years_on_position_start": {
        "type": "integer"
      },
      "role_years_on_position_end": {
        "type": "integer"
      },
      "person_name": {
        "type": "string",
        "description": "This field supports a boolean text search query."
      },
      "person_headline": {
        "type": "string",
        "description": "This field supports a boolean text search query."
      },
      "person_description": {
        "type": "string",
        "description": "This field supports a boolean text search query."
      },
      "person_skills": {
        "type": "array",
        "description": "To get a list of IDs use Person skills lookup endpoint .",
        "items": {
          "type": "integer"
        }
      },
      "person_locations": {
        "type": "array",
        "description": "To get a list of IDs use Locations lookup endpoint .",
        "items": {
          "type": "integer"
        }
      },
      "person_industries": {
        "type": "array",
        "description": "To get a list of IDs use Industries lookup endpoint .",
        "items": {
          "type": "integer"
        }
      },
      "person_industries_exclude": {
        "type": "array",
        "description": "To get a list of IDs use Industries lookup endpoint .",
        "items": {
          "type": "integer"
        }
      },
      "person_linkedin_public_identifiers": {
        "type": "array",
        "description": "LinkedIn person \"Public identifier/Slug/ID\" - \"linkedin.com/in/!slug!/\".",
        "items": {
          "type": "string"
        }
      },
      "organizations": {
        "type": "array",
        "description": "To get a list of IDs use Organizations lookup endpoint .",
        "items": {
          "type": "integer"
        }
      },
      "organizations_bulk_domain": {
        "type": "string"
      },
      "organization_domains": {
        "type": "array",
        "items": {
          "type": "string",
          "description": "This field supports a boolean text search query."
        }
      },
      "organization_description": {
        "type": "string",
        "description": "This field supports a boolean text search query."
      },
      "organization_locations": {
        "type": "array",
        "description": "To get a list of IDs use Locations lookup endpoint .",
        "items": {
          "type": "integer"
        }
      },
      "organization_industries": {
        "type": "array",
        "description": "To get a list of IDs use Industries lookup endpoint .",
        "items": {
          "type": "integer"
        }
      },
      "organization_industries_exclude": {
        "type": "array",
        "description": "To get a list of IDs use Industries lookup endpoint .",
        "items": {
          "type": "integer"
        }
      },
      "organization_keywords": {
        "type": "array",
        "description": "To get a list of IDs use Organization keywords lookup endpoint .",
        "items": {
          "type": "integer"
        }
      },
      "organization_web_technologies": {
        "type": "array",
        "description": "To get a list of IDs use Web technologies lookup endpoint .",
        "items": {
          "type": "integer"
        }
      },
      "organization_founded_date_start": {
        "type": "string",
        "format": "date"
      },
      "organization_founded_date_end": {
        "type": "string",
        "format": "date"
      },
      "organization_employees_start": {
        "type": "integer"
      },
      "organization_employees_end": {
        "type": "integer"
      },
      "organization_revenue_start": {
        "type": "integer"
      },
      "organization_revenue_end": {
        "type": "integer"
      },
      "organization_domain_rank_start": {
        "type": "integer"
      },
      "organization_domain_rank_end": {
        "type": "integer"
      },
      "organization_linkedin_public_identifiers": {
        "type": "array",
        "description": "LinkedIn organization \"Public identifier/Slug/ID\" - \"linkedin.com/company/!slug!/\".",
        "items": {
          "type": "string"
        }
      },
      "funding_types": {
        "type": "array",
        "items": {
          "type": "string",
          "description": "* `angel` - Angel * `convertible_note` - Convertible Note * `corporate_round` - Corporate Round * `debt_financing` - Debt Financing * `equity_crowdfunding` - Equity Crowdfunding * `grant` - Grant * `initial_coin_offering` - Initial coin offering (ICO) * `non_equity_assistance` - Non-Equity Assistance * `post_ipo_debt` - Post-IPO Debt * `post_ipo_equity` - Post-IPO Equity * `post_ipo_secondary` - Post-IPO Secondary * `pre_seed` - Pre-Seed * `private_equity` - Private Equity * `product_crowdfunding` - Product Crowdfunding * `secondary_market` - Secondary Market * `seed` - Seed * `series_a` - Series A * `series_b` - Series B * `series_c` - Series C * `series_d` - Series D * `series_e` - Series E * `series_f` - Series F * `series_g` - Series G * `series_h` - Series H * `series_i` - Series I * `series_j` - Series J * `series_unknown` - Venture - Series Unknown * `undisclosed` - Undisclosed",
          "enum": [
            "angel",
            "convertible_note",
            "corporate_round",
            "debt_financing",
            "equity_crowdfunding",
            "grant",
            "initial_coin_offering",
            "non_equity_assistance",
            "post_ipo_debt",
            "post_ipo_equity",
            "post_ipo_secondary",
            "pre_seed",
            "private_equity",
            "product_crowdfunding",
            "secondary_market",
            "seed",
            "series_a",
            "series_b",
            "series_c",
            "series_d",
            "series_e",
            "series_f",
            "series_g",
            "series_h",
            "series_i",
            "series_j",
            "series_unknown",
            "undisclosed"
          ]
        }
      },
      "funding_total_start": {
        "type": "integer"
      },
      "funding_total_end": {
        "type": "integer"
      },
      "funding_event_date_featured_start": {
        "type": "string",
        "format": "date"
      },
      "funding_event_date_featured_end": {
        "type": "string",
        "format": "date"
      },
      "job_post_title": {
        "type": "string",
        "description": "This field supports a boolean text search query."
      },
      "job_post_description": {
        "type": "string",
        "description": "This field supports a boolean text search query."
      },
      "job_post_is_remote": {
        "type": [
          "boolean",
          "null"
        ]
      },
      "job_post_is_active": {
        "type": [
          "boolean",
          "null"
        ]
      },
      "job_post_date_featured_start": {
        "type": "string",
        "format": "date"
      },
      "job_post_date_featured_end": {
        "type": "string",
        "format": "date"
      },
      "job_post_locations": {
        "type": "array",
        "description": "To get a list of IDs use Locations lookup endpoint .",
        "items": {
          "type": "integer"
        }
      },
      "job_post_locations_exclude": {
        "type": "array",
        "description": "To get a list of IDs use Locations lookup endpoint .",
        "items": {
          "type": "integer"
        }
      },
      "simple_event_source": {
        "type": "string",
        "description": "* `product_hunt` - Product Hunt * `form_c_sec_gov` - Form C sec.gov * `form_d_sec_gov` - Form D sec.gov",
        "enum": [
          "product_hunt",
          "form_c_sec_gov",
          "form_d_sec_gov"
        ]
      },
      "simple_event_reason": {
        "type": "string",
        "description": "* `report_released` - Report released * `promoted_on_site` - Promoted on site",
        "enum": [
          "report_released",
          "promoted_on_site"
        ]
      },
      "simple_event_date_featured_start": {
        "type": "string",
        "format": "date"
      },
      "simple_event_date_featured_end": {
        "type": "string",
        "format": "date"
      }
    },
    "required": [],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | OrganizationPersonRole search response serializer. |
| `result.data.search_results` | `array` | Yes | — | — |
| `result.data.search_results[].id` | `integer` | Yes | — | — |
| `result.data.search_results[].role_title` | `string \| null` | No | — | Maximum length: 255. |
| `result.data.search_results[].start_date` | `string \| null` | No | — | Format: `date`. |
| `result.data.search_results[].end_date` | `string \| null` | No | — | Format: `date`. |
| `result.data.search_results[].duration` | `string \| null` | No | — | Maximum length: 255. |
| `result.data.search_results[].description` | `string \| null` | No | — | — |
| `result.data.search_results[].is_current` | `boolean` | Yes | — | — |
| `result.data.search_results[].organization` | `object` | Yes | — | Organization search result(With prefetch events) serializer. |
| `result.data.search_results[].organization.id` | `integer` | Yes | — | — |
| `result.data.search_results[].organization.name` | `string` | Yes | — | Maximum length: 255. |
| `result.data.search_results[].organization.legal_name` | `string` | Yes | — | Maximum length: 255. |
| `result.data.search_results[].organization.website` | `string \| null` | No | — | Format: `uri`. Maximum length: 16384. |
| `result.data.search_results[].organization.domain` | `string \| null` | No | — | Format: `uri`. Maximum length: 200. |
| `result.data.search_results[].organization.domain_rank` | `integer \| null` | Yes | — | Domain rank. |
| `result.data.search_results[].organization.logo` | `string \| null` | No | — | Format: `uri`. Maximum length: 510. |
| `result.data.search_results[].organization.description` | `string \| null` | No | — | — |
| `result.data.search_results[].organization.founded_date` | `string \| null` | No | — | Format: `date`. |
| `result.data.search_results[].organization.operating_status` | `string \| null` | No | — | Maximum length: 255. |
| `result.data.search_results[].organization.employees_range` | `string \| null` | No | — | Maximum length: 255. |
| `result.data.search_results[].organization.employees_amount` | `integer \| null` | No | — | Minimum: 0. Maximum: 2147483647. |
| `result.data.search_results[].organization.keywords` | `array` | Yes | — | — |
| `result.data.search_results[].organization.keywords[].id` | `integer` | Yes | — | — |
| `result.data.search_results[].organization.keywords[].name` | `string` | Yes | — | Maximum length: 255. |
| `result.data.search_results[].organization.location` | `object` | Yes | — | Serializer for the InnerLocation model. |
| `result.data.search_results[].organization.location.id` | `integer` | Yes | — | — |
| `result.data.search_results[].organization.location.name` | `string` | Yes | — | Maximum length: 255. |
| `result.data.search_results[].organization.location.osm_locations` | `array` | Yes | — | — |
| `result.data.search_results[].organization.location.osm_locations[].id` | `integer` | Yes | — | — |
| `result.data.search_results[].organization.location.osm_locations[].name` | `string` | Yes | — | Maximum length: 255. |
| `result.data.search_results[].organization.location.osm_locations[].place_type` | `string` | Yes | — | Maximum length: 255. |
| `result.data.search_results[].organization.finance_info` | `object` | Yes | — | Serializer for the OrganizationFinanceInfo model. |
| `result.data.search_results[].organization.finance_info.revenue` | `integer \| null` | No | — | Format: `int64`. Minimum: 0. Maximum: 9223372036854776000. |
| `result.data.search_results[].organization.linkedin_info` | `object` | Yes | — | Serializer for the OrganizationLinkedinInfo model. |
| `result.data.search_results[].organization.linkedin_info.public_identifier` | `string \| null` | No | — | Maximum length: 255. |
| `result.data.search_results[].organization.linkedin_info.industry` | `object` | Yes | — | Serializer for the LinkedinIndustry document. |
| `result.data.search_results[].organization.linkedin_info.industry.id` | `integer` | Yes | — | — |
| `result.data.search_results[].organization.linkedin_info.industry.name` | `string` | Yes | — | Maximum length: 255. |
| `result.data.search_results[].organization.linkedin_info.public_profile_url` | `string \| null` | Yes | — | Get LinkedIn public profile URL. |
| `result.data.search_results[].organization.addresses` | `array` | Yes | — | — |
| `result.data.search_results[].organization.addresses[].street_number` | `string \| null` | No | — | Maximum length: 255. |
| `result.data.search_results[].organization.addresses[].street_name` | `string \| null` | No | — | Maximum length: 255. |
| `result.data.search_results[].organization.addresses[].city` | `string \| null` | No | — | Maximum length: 255. |
| `result.data.search_results[].organization.addresses[].state` | `string \| null` | No | — | Maximum length: 255. |
| `result.data.search_results[].organization.addresses[].postcode` | `string \| null` | No | — | Maximum length: 64. |
| `result.data.search_results[].organization.addresses[].country` | `string` | Yes | — | Maximum length: 255. |
| `result.data.search_results[].organization.addresses[].summary` | `string` | Yes | — | — |
| `result.data.search_results[].organization.date_updated` | `string` | Yes | — | Format: `date-time`. |
| `result.data.search_results[].organization.found_simple_events` | `array` | Yes | — | Events will be available in case any event field would be used for the search. In results will be available 30 most recent matches. |

The table shows the first 50 fields. Expand the raw schema below for every field.

> [!NOTE]
>
> This output schema is too large for an inline display. Read the complete live contract with `deepline describe forager_person_role_search --json`.

## Deepline cost

* Pricing model: `per_page` (per page).
* Estimated Deepline credits: `0.32` per pricing unit.

## Related documentation

* [Forager provider guide](https://deepline.com/docs/providers/forager/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.