curl --request POST \
--url https://api.hirebase.org/v2/jobs/export \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"search": {
"job_titles": [
"<string>"
],
"keywords": [
"<string>"
],
"job_board": "<string>",
"job_slug": "<string>",
"location_group": "<string>",
"location_types": [
"<string>"
],
"locations": [
{
"city": "<string>",
"region": "<string>",
"country": "<string>"
}
],
"experience": [
"<string>"
],
"yoe": {
"min": 123,
"max": 123
},
"company_name": "<string>",
"company_slug": "<string>",
"salary": {
"min": 123,
"max": 123
},
"job_types": [
"<string>"
],
"job_category": [
"<string>"
],
"company_types": [
"<string>"
],
"industry": [
"<string>"
],
"sub_industry": [
"<string>"
],
"date_posted": "<string>",
"visa": "<string>",
"sort_by": "<string>",
"sort_order": "<string>",
"currency": "<string>",
"days_ago": 123,
"include_expired": "<string>",
"include_no_salary": "<string>",
"include_yoe": "<string>",
"month": "<string>",
"page": 123,
"limit": 123
},
"format": "<string>"
}
'{
"id": "<string>",
"type": "<string>",
"state": "<string>",
"progress": 123,
"created_at": "<string>",
"updated_at": "<string>",
"started_at": "<string>",
"completed_at": "<string>",
"user_id": "<string>",
"error": "<string>",
"worker_id": "<string>",
"priority": 123,
"input": {},
"result": {
"download_url": "<string>",
"file_size": 123,
"record_count": 123,
"expiry_time": "<string>"
},
"format": "<string>"
}Start a task to export jobs using an existing search query and format
curl --request POST \
--url https://api.hirebase.org/v2/jobs/export \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"search": {
"job_titles": [
"<string>"
],
"keywords": [
"<string>"
],
"job_board": "<string>",
"job_slug": "<string>",
"location_group": "<string>",
"location_types": [
"<string>"
],
"locations": [
{
"city": "<string>",
"region": "<string>",
"country": "<string>"
}
],
"experience": [
"<string>"
],
"yoe": {
"min": 123,
"max": 123
},
"company_name": "<string>",
"company_slug": "<string>",
"salary": {
"min": 123,
"max": 123
},
"job_types": [
"<string>"
],
"job_category": [
"<string>"
],
"company_types": [
"<string>"
],
"industry": [
"<string>"
],
"sub_industry": [
"<string>"
],
"date_posted": "<string>",
"visa": "<string>",
"sort_by": "<string>",
"sort_order": "<string>",
"currency": "<string>",
"days_ago": 123,
"include_expired": "<string>",
"include_no_salary": "<string>",
"include_yoe": "<string>",
"month": "<string>",
"page": 123,
"limit": 123
},
"format": "<string>"
}
'{
"id": "<string>",
"type": "<string>",
"state": "<string>",
"progress": 123,
"created_at": "<string>",
"updated_at": "<string>",
"started_at": "<string>",
"completed_at": "<string>",
"user_id": "<string>",
"error": "<string>",
"worker_id": "<string>",
"priority": 123,
"input": {},
"result": {
"download_url": "<string>",
"file_size": 123,
"record_count": 123,
"expiry_time": "<string>"
},
"format": "<string>"
}Export job search results using the same search parameters asDocumentation Index
Fetch the complete documentation index at: https://www.hirebase.org/docs/llms.txt
Use this file to discover all available pages before exploring further.
/v2/jobs/search, but save the result as a downloadable file. This endpoint creates a task and returns its status and identifier. The user can poll the task using the Get Task Status endpoint.
POST /v2/jobs/export
job_types (plural) — job_type (singular) is silently ignored and your filter will not apply.job_titles inside search is valid.Show child attributes
"Remote", "Hybrid", "In-Person"."Entry", "Junior", "Mid", "Senior", "Executive"."Full Time", "Part Time", "Contract", "Internship").job_types (plural). job_type is silently ignored."Engineering Jobs", "Marketing Jobs")."1-10", "11-50", "51-200", "201-500", "501-1000", "1001-5000", "5001-10000", "10000+". Pass multiple values to combine ranges (e.g., ["11-50", "51-200"]).company_types for historical reasons but currently filters by company size. A separate classification filter (Public Company / Non-Profit / etc.) will be added in a future API update."relevance", "date_posted", "salary", "company", "yoe". Invalid values are silently ignored."asc" or "desc").csv, or json)/v2/jobs/search: The search object accepts most of the same filters as Search Jobs, but a few POST-only conveniences (e.g., return_raw_description, hide_recruiting_agencies) are not applied by the export pipeline. Pagination fields (page, limit) are accepted but the export will process the entire matching result set, not just a single page.id to poll GET /v2/tasks/{task_id}. When state becomes "completed", the result.download_url field will contain the URL to fetch your exported file.Heads-up: The export processes the entire matching result set. limit and page in the search body are ignored — all matching jobs are exported."export_job_data" for this endpointqueued, processing, completed, failed)nullnullnullnulljson, csv).{
"search": {
"job_titles": ["Site/Civil Engineer"],
"geo_locations": [{"city": "Richmond", "region": "Virginia", "country": "United States"}],
"yoe": {"min": 1, "max": 6},
"company_name": "CompanyXYZ",
"job_types": ["Full Time"],
"industry": ["Design", "Construction"],
"sub_industry": ["Architecture", "Building Construction"],
"visa": "true",
"sort_by": "relevance",
"sort_order": "desc",
"page": 1,
"limit": 10
},
"format": "json"
}
{
"id": "7700n868-05b7-4763-af74-e2c789c3260d",
"type": "export_job_data",
"state": "queued",
"progress": 0.0,
"created_at": "2025-06-13T06:10:07.605259",
"updated_at": "2025-06-13T06:10:07.605260",
"started_at": null,
"completed_at": null,
"user_id": "27893d278da3e42f2878gh90",
"error": null,
"worker_id": null,
"priority": 0,
"input": {
"query": {
"job_titles": [
"Site/Civil Engineer"
],
"keywords": null,
"location_group": null,
"location_types": [
"In-Person"
],
"geo_locations": [
{
"city": "Richmond",
"region": "Virginia",
"country": "United States"
}
],
"experience": null,
"yoe": {
"min": 1.0,
"max": 6.0
},
"include_yoe": null,
"company_types": null,
"company_name": "CompanyXYZ",
"date_posted": null,
"days_ago": null,
"month": null,
"salary": null,
"include_no_salary": null,
"currency": null,
"job_types": [
"Full Time"
],
"job_category": null,
"industry": [
"Design",
"Construction"
],
"sub_industry": [
"Architecture",
"Building Construction"
],
"visa": "false",
"include_expired": null,
"hide_seen_jobs": null,
"user_id": null,
"company_slug": null,
"job_slug": null,
"job_board": null,
"sort_by": "relevance",
"sort_order": "desc",
"page": 1,
"limit": 10
},
"format": "json"
},
"result": null
}
401 Unauthorized
403 Forbidden
422 Unprocessable Entity Error
500 Internal Server Error