Documentation Index
Fetch the complete documentation index at: https://docs.crustdata.com/llms.txt
Use this file to discover all available pages before exploring further.
Worked examples for Search Jobs. Each
example is a full working request you can copy, paste, and adapt.
For filter grammar, operators, and the full field catalog, see
Search reference. For sorting, pagination,
field selection, and aggregations, see
Pagination & sorting.
Replace YOUR_API_KEY in each example with your actual API key. All
requests require the x-api-version: 2025-11-01 header.
SDR / BDR keyword search across multiple companies
The long forms "Sales Development Representative" and "Business Development Representative" use (.) (all-words match), but the short
acronym "SDR" uses [.] (exact phrase). Short acronyms with (.)
can overmatch — e.g. "SDR" would also match "USDR". Use [.] for
2–3 character acronyms.
curl --request POST \
--url https://api.crustdata.com/job/search \
--header 'authorization: Bearer YOUR_API_KEY' \
--header 'content-type: application/json' \
--header 'x-api-version: 2025-11-01' \
--data '{
"filters": {
"op": "and",
"conditions": [
{ "field": "company.basic_info.company_id", "type": "in", "value": [631394, 631811, 673947] },
{ "field": "metadata.date_added", "type": "=>", "value": "2025-01-01" },
{
"op": "or",
"conditions": [
{ "field": "job_details.title", "type": "(.)", "value": "Sales Development Representative" },
{ "field": "job_details.title", "type": "[.]", "value": "SDR" },
{ "field": "job_details.title", "type": "(.)", "value": "Business Development Representative" }
]
}
]
},
"fields": [
"job_details.title",
"company.basic_info.name",
"location.raw",
"metadata.date_added"
],
"sorts": [{ "column": "metadata.date_added", "order": "desc" }],
"limit": 2
}'
Companies indexing both Software Engineers and Account Executives
Because filters operate on individual job rows, you cannot ask for
“companies with both roles” in a single query. Instead, run two
bounded-window aggregations and intersect the company ids client-side.
Watch out for short-acronym false positives. (.) is an all-words
match, so a query of "AE" in job_details.title can also match
unrelated titles. Prefer [.] for 2–3 character acronyms.
Query 1 — companies with Software Engineer listings
{
"filters": {
"op": "and",
"conditions": [
{ "field": "metadata.date_added", "type": "=>", "value": "2025-01-01" },
{ "field": "metadata.date_added", "type": "<", "value": "2026-01-01" },
{
"op": "or",
"conditions": [
{ "field": "job_details.title", "type": "(.)", "value": "Software Engineer" },
{ "field": "job_details.title", "type": "[.]", "value": "SWE" }
]
}
]
},
"limit": 0,
"aggregations": [
{ "type": "group_by", "column": "company.basic_info.company_id", "agg": "count", "size": 500 }
]
}
Query 2 — companies with Account Executive listings
{
"filters": {
"op": "and",
"conditions": [
{ "field": "metadata.date_added", "type": "=>", "value": "2025-01-01" },
{ "field": "metadata.date_added", "type": "<", "value": "2026-01-01" },
{
"op": "or",
"conditions": [
{ "field": "job_details.title", "type": "(.)", "value": "Account Executive" },
{ "field": "job_details.title", "type": "[.]", "value": "AE" }
]
}
]
},
"limit": 0,
"aggregations": [
{ "type": "group_by", "column": "company.basic_info.company_id", "agg": "count", "size": 500 }
]
}
Intersect the company ids client-side
engineering_ids = {b["key"] for b in response_1["aggregations"][0]["buckets"]}
ae_ids = {b["key"] for b in response_2["aggregations"][0]["buckets"]}
both = engineering_ids & ae_ids
Mid-market companies indexing SDR listings
Combine an inclusive headcount range with keyword search on the title field.
{
"filters": {
"op": "and",
"conditions": [
{ "field": "company.headcount.total", "type": "=>", "value": 51 },
{ "field": "company.headcount.total", "type": "=<", "value": 500 },
{ "field": "metadata.date_added", "type": "=>", "value": "2025-01-01" },
{
"op": "or",
"conditions": [
{ "field": "job_details.title", "type": "(.)", "value": "Sales Development Representative" },
{ "field": "job_details.title", "type": "[.]", "value": "SDR" },
{ "field": "job_details.title", "type": "(.)", "value": "Business Development Representative" }
]
}
]
},
"fields": [
"crustdata_job_id",
"job_details.title",
"company.basic_info.crustdata_company_id",
"company.basic_info.name",
"company.basic_info.primary_domain",
"company.headcount.total",
"location.raw",
"metadata.date_added"
],
"sorts": [{ "column": "metadata.date_added", "order": "desc" }],
"limit": 50
}
Companies that closed a Series B between two dates and are indexing new listings
{
"filters": {
"op": "and",
"conditions": [
{ "field": "company.funding.last_round_type", "type": "=", "value": "series_b" },
{ "field": "company.funding.last_fundraise_date", "type": "=>", "value": "2025-01-01" },
{ "field": "company.funding.last_fundraise_date", "type": "<", "value": "2025-07-01" },
{ "field": "metadata.date_added", "type": "=>", "value": "2025-01-01" }
]
},
"fields": [
"job_details.title",
"company.basic_info.crustdata_company_id",
"company.basic_info.name",
"company.basic_info.primary_domain",
"company.funding.last_round_type",
"company.funding.last_fundraise_date",
"company.funding.total_investment_usd"
],
"sorts": [
{ "column": "company.funding.last_fundraise_date", "order": "desc" }
],
"limit": 100
}
Hiring volume by workplace type in the United States
Country values are not normalized. location.country can appear as
"USA", "United States", or "United States of America". The in
array below covers the three most common forms, but for full coverage
you should first run a group_by on location.country and collect the
exact bucket keys present in your dataset slice.
{
"filters": {
"op": "and",
"conditions": [
{
"field": "location.country",
"type": "in",
"value": ["USA", "United States", "United States of America"]
},
{ "field": "metadata.date_added", "type": "=>", "value": "2025-01-01" },
{ "field": "metadata.date_added", "type": "<", "value": "2026-01-01" }
]
},
"limit": 0,
"aggregations": [
{ "type": "group_by", "column": "job_details.workplace_type", "agg": "count", "size": 10 }
]
}
Full-text keyword hunt in job descriptions
{
"filters": {
"op": "and",
"conditions": [
{ "field": "content.description", "type": "(.)", "value": "kubernetes" },
{ "field": "metadata.date_added", "type": "=>", "value": "2025-01-01" }
]
},
"fields": [
"job_details.title",
"company.basic_info.name",
"location.raw",
"metadata.date_added"
],
"sorts": [{ "column": "metadata.date_added", "order": "desc" }],
"limit": 20
}
Next steps