Tool ID:
crustdata_v3_job_searchRun this action
Use the TypeScript SDK for a single call. Putctx.tools.execute(...) inside a Play when the call should be durable, scheduled, or run across a CSV.
import { Deepline } from 'deepline';
const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
'crustdata_v3_job_search',
{
"filters": {
"field": "email",
"type": "=",
"value": "example"
},
"cursor": "cursor_123",
"limit": 20
},
);
console.log(result.toolResponse.raw);
CLI
deepline tools execute crustdata_v3_job_search --input '{
"filters": {
"field": "email",
"type": "=",
"value": "example"
},
"cursor": "cursor_123",
"limit": 20
}' --json
Example response
The SDK exposes this shape atresult.toolResponse.raw. Values below are representative.
{
"data": {
"job_listings": [
{
"crustdata_job_id": 123,
"job_details": {
"job_id": 1,
"title": "VP of Engineering",
"category": "example"
},
"company": {
"basic_info": {},
"locations": {},
"headcount": {}
}
}
]
}
}
deepline tools get crustdata_v3_job_search --json for the latest machine-readable contract.
Input reference
Request body for searching the indexed job dataset with filters, pagination, sorting, field selection, and aggregations.| Name | Type | Required | Default | Details |
|---|---|---|---|---|
payload.filters | object | No | — | Search filter conditions. Can be a single condition or a nested group combined with AND/OR logic. Only indexed fields are filterable — see SearchCondition.field for the full list. |
payload.cursor | string | No | — | Opaque pagination cursor returned in a prior response’s next_cursor field. Pass this to fetch the next page of results with the same filter, sort, and field selection. |
payload.limit | integer | No | 20 | Maximum number of job listings to return per page. Set to 0 when you only want aggregations. Minimum: 0. Maximum: 1000. |
payload.sorts | array | No | — | Sort specifications for ordering results. Sorts are applied in order. |
payload.fields | array | No | — | Fields to return in each job listing. Use dot-notation for nested fields (e.g., “job_details.title”, “company.basic_info.name”). If omitted, all available fields are returned. Valid top-level groups: crustdata_job_id, job_details, company, location, content, metadata. Nested fields are supported (e.g., company.basic_info, company.headcount, company.funding). |
payload.aggregations | array | No | — | Aggregation queries to run alongside the search. Set limit: 0 if you want only aggregation results and no job rows. |
This input schema is too large to embed without slowing the page. Get the complete live contract with
deepline tools get crustdata_v3_job_search --json.Output reference
Standard tool result payload.| Name | Type | Required | Default | Details |
|---|---|---|---|---|
result.data | object | Yes | — | Paginated response from the indexed job search endpoint. |
result.data.job_listings | array | Yes | — | Job listings matching the search criteria for the current page. Empty when limit is 0 or when an aggregation-only query is made. |
result.data.job_listings[].crustdata_job_id | integer | No | — | Unique Crustdata internal job identifier. |
result.data.job_listings[].job_details | object | No | — | Core information about the job posting itself. |
result.data.job_listings[].job_details.job_id | integer | null | No | — | Job identifier (currently mirrors crustdata_job_id). |
result.data.job_listings[].job_details.title | string | null | No | — | Job title as posted. |
result.data.job_listings[].job_details.category | string | null | No | — | High-level job category (e.g., Engineering, Sales, Operations, Consultancy, Others). |
result.data.job_listings[].job_details.workplace_type | string | null | No | — | Workplace type if provided (e.g., Remote, Hybrid, On-site). May be empty. |
result.data.job_listings[].job_details.url | string | null | No | — | Canonical URL for the job posting. |
result.data.job_listings[].job_details.reposted_job | boolean | null | No | — | Whether the posting was detected as a repost of a prior listing. |
result.data.job_listings[].job_details.number_of_openings | integer | null | No | — | Number of openings the posting is hiring for. |
result.data.job_listings[].company | object | No | — | Hiring company’s firmographics at the time of indexing. |
result.data.job_listings[].company.basic_info | object | No | — | Core identifiers, domain, industries. |
result.data.job_listings[].company.basic_info.crustdata_company_id | integer | null | No | — | Unique Crustdata internal company identifier. |
result.data.job_listings[].company.basic_info.name | string | null | No | — | Official company name. |
result.data.job_listings[].company.basic_info.primary_domain | string | null | No | — | Primary web domain for the company. |
result.data.job_listings[].company.basic_info.website | string | null | No | — | Company website URL. |
result.data.job_listings[].company.basic_info.professional_network_id | string | null | No | — | Identifier for the company on the professional network profile source. |
result.data.job_listings[].company.basic_info.industries | array | null | No | — | Industry classifications assigned to the company. |
result.data.job_listings[].company.locations | object | No | — | Company’s registered or primary office location. |
result.data.job_listings[].company.locations.country | string | null | No | — | ISO country code for the primary office. |
result.data.job_listings[].company.locations.state | string | null | No | — | State or region for the primary office. |
result.data.job_listings[].company.locations.city | string | null | No | — | City for the primary office. |
result.data.job_listings[].company.locations.street_address | string | null | No | — | Full street address for the primary office. |
result.data.job_listings[].company.headcount | object | No | — | Company headcount at the time of indexing. |
result.data.job_listings[].company.headcount.total | integer | null | No | — | Total current headcount across all offices. |
result.data.job_listings[].company.headcount.range | string | null | No | — | Headcount bracket (e.g., “51-200”, “5001-10000”). |
result.data.job_listings[].company.headcount.largest_headcount_country | string | null | No | — | ISO country code where the company has the most employees. |
result.data.job_listings[].company.followers | object | No | — | Public profile follower counts. |
result.data.job_listings[].company.followers.count | integer | null | No | — | Total followers of the company’s public profile. |
result.data.job_listings[].company.revenue | object | No | — | Estimated revenue and public market signals. |
result.data.job_listings[].company.revenue.estimated | object | No | — | Estimated annual revenue range in USD. |
result.data.job_listings[].company.revenue.estimated.lower_bound_usd | integer | null | No | — | Lower bound of the estimated annual revenue range, in USD. |
result.data.job_listings[].company.revenue.estimated.upper_bound_usd | integer | null | No | — | Upper bound of the estimated annual revenue range, in USD. |
result.data.job_listings[].company.revenue.public_markets | object | null | No | — | Public market information when the company is listed. |
result.data.job_listings[].company.revenue.public_markets.stock_symbols | array | null | No | — | Stock ticker symbols associated with the company. |
result.data.job_listings[].company.revenue.public_markets.fiscal_year_end | string | null | No | — | Fiscal year end if reported. |
result.data.job_listings[].company.revenue.acquisition_status | string | null | No | — | Acquisition status if known (e.g., acquired, merged). |
result.data.job_listings[].company.funding | object | No | — | Venture funding details. |
result.data.job_listings[].company.funding.total_investment_usd | number | null | No | — | Total capital raised to date, in USD. |
result.data.job_listings[].company.funding.valuation_usd | number | null | No | — | Most recent valuation in USD. |
result.data.job_listings[].company.funding.last_fundraise_date | string | null | No | — | Date of the most recent funding event (ISO 8601). |
result.data.job_listings[].company.funding.last_round_type | string | null | No | — | Type of the most recent funding round (e.g., seed, series_a, series_b, secondary_market). |
result.data.job_listings[].company.funding.num_funding_rounds | integer | null | No | — | Total number of funding rounds recorded. |
result.data.job_listings[].company.funding.investors | array | null | No | — | Known investors across all rounds. |
result.data.job_listings[].company.competitors | object | No | — | Known competitor companies. |
result.data.job_listings[].company.competitors.websites | array | null | No | — | List of competitor website URLs. |
result.data.job_listings[].location | object | No | — | Job’s advertised location. The city, state, and country fields are derived by geocoding the raw location string, so their values are normalized place names (e.g. United States rather than the raw text’s country wording). |
result.data.job_listings[].location.raw | string | null | No | — | Raw location string as advertised on the job posting. |
result.data.job_listings[].location.city | string | null | No | — | City from geocoding the raw location. Empty string when the raw location resolves to a broader area than a city (e.g. a metro area). |
This output schema is too large to embed without slowing the page. Get the complete live contract with
deepline tools get crustdata_v3_job_search --json.Deepline cost
- Pricing model:
per_result(per result). - Estimated Deepline credits:
0.02per pricing unit.