Job post event search totals
curl --request POST \
--url https://api-v2.forager.ai/api/{account_id}/datastorage/job_search/totals/ \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"page": 123,
"date_featured_start": "2023-12-25",
"date_featured_end": "2023-12-25",
"organization_ids": [
123
],
"title": "<string>",
"description": "<string>",
"is_remote": true,
"is_active": true,
"locations": [
123
],
"locations_exclude": [
123
]
}
'import requests
url = "https://api-v2.forager.ai/api/{account_id}/datastorage/job_search/totals/"
payload = {
"page": 123,
"date_featured_start": "2023-12-25",
"date_featured_end": "2023-12-25",
"organization_ids": [123],
"title": "<string>",
"description": "<string>",
"is_remote": True,
"is_active": True,
"locations": [123],
"locations_exclude": [123]
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
page: 123,
date_featured_start: '2023-12-25',
date_featured_end: '2023-12-25',
organization_ids: [123],
title: '<string>',
description: '<string>',
is_remote: true,
is_active: true,
locations: [123],
locations_exclude: [123]
})
};
fetch('https://api-v2.forager.ai/api/{account_id}/datastorage/job_search/totals/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
page: 123,
date_featured_start: '2023-12-25',
date_featured_end: '2023-12-25',
organization_ids: [123],
title: '<string>',
description: '<string>',
is_remote: true,
is_active: true,
locations: [123],
locations_exclude: [123]
})
};
fetch('https://api-v2.forager.ai/api/{account_id}/datastorage/job_search/totals/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-v2.forager.ai/api/{account_id}/datastorage/job_search/totals/"
payload := strings.NewReader("{\n \"page\": 123,\n \"date_featured_start\": \"2023-12-25\",\n \"date_featured_end\": \"2023-12-25\",\n \"organization_ids\": [\n 123\n ],\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"is_remote\": true,\n \"is_active\": true,\n \"locations\": [\n 123\n ],\n \"locations_exclude\": [\n 123\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api-v2.forager.ai/api/{account_id}/datastorage/job_search/totals/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"page\": 123,\n \"date_featured_start\": \"2023-12-25\",\n \"date_featured_end\": \"2023-12-25\",\n \"organization_ids\": [\n 123\n ],\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"is_remote\": true,\n \"is_active\": true,\n \"locations\": [\n 123\n ],\n \"locations_exclude\": [\n 123\n ]\n}"
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-v2.forager.ai/api/{account_id}/datastorage/job_search/totals/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'page' => 123,
'date_featured_start' => '2023-12-25',
'date_featured_end' => '2023-12-25',
'organization_ids' => [
123
],
'title' => '<string>',
'description' => '<string>',
'is_remote' => true,
'is_active' => true,
'locations' => [
123
],
'locations_exclude' => [
123
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://api-v2.forager.ai/api/{account_id}/datastorage/job_search/totals/")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"page\": 123,\n \"date_featured_start\": \"2023-12-25\",\n \"date_featured_end\": \"2023-12-25\",\n \"organization_ids\": [\n 123\n ],\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"is_remote\": true,\n \"is_active\": true,\n \"locations\": [\n 123\n ],\n \"locations_exclude\": [\n 123\n ]\n}")
.asString();{
"total_search_results": 1
}{
"detail": "Authentication credentials were not provided."
}Job postings API: result totals
Get the total number of matches for a job post event search.
POST
https://api-v2.forager.ai
/
api
/
{account_id}
/
datastorage
/
job_search
/
totals
/
Job post event search totals
curl --request POST \
--url https://api-v2.forager.ai/api/{account_id}/datastorage/job_search/totals/ \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"page": 123,
"date_featured_start": "2023-12-25",
"date_featured_end": "2023-12-25",
"organization_ids": [
123
],
"title": "<string>",
"description": "<string>",
"is_remote": true,
"is_active": true,
"locations": [
123
],
"locations_exclude": [
123
]
}
'import requests
url = "https://api-v2.forager.ai/api/{account_id}/datastorage/job_search/totals/"
payload = {
"page": 123,
"date_featured_start": "2023-12-25",
"date_featured_end": "2023-12-25",
"organization_ids": [123],
"title": "<string>",
"description": "<string>",
"is_remote": True,
"is_active": True,
"locations": [123],
"locations_exclude": [123]
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
page: 123,
date_featured_start: '2023-12-25',
date_featured_end: '2023-12-25',
organization_ids: [123],
title: '<string>',
description: '<string>',
is_remote: true,
is_active: true,
locations: [123],
locations_exclude: [123]
})
};
fetch('https://api-v2.forager.ai/api/{account_id}/datastorage/job_search/totals/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
page: 123,
date_featured_start: '2023-12-25',
date_featured_end: '2023-12-25',
organization_ids: [123],
title: '<string>',
description: '<string>',
is_remote: true,
is_active: true,
locations: [123],
locations_exclude: [123]
})
};
fetch('https://api-v2.forager.ai/api/{account_id}/datastorage/job_search/totals/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api-v2.forager.ai/api/{account_id}/datastorage/job_search/totals/"
payload := strings.NewReader("{\n \"page\": 123,\n \"date_featured_start\": \"2023-12-25\",\n \"date_featured_end\": \"2023-12-25\",\n \"organization_ids\": [\n 123\n ],\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"is_remote\": true,\n \"is_active\": true,\n \"locations\": [\n 123\n ],\n \"locations_exclude\": [\n 123\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://api-v2.forager.ai/api/{account_id}/datastorage/job_search/totals/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"page\": 123,\n \"date_featured_start\": \"2023-12-25\",\n \"date_featured_end\": \"2023-12-25\",\n \"organization_ids\": [\n 123\n ],\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"is_remote\": true,\n \"is_active\": true,\n \"locations\": [\n 123\n ],\n \"locations_exclude\": [\n 123\n ]\n}"
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-v2.forager.ai/api/{account_id}/datastorage/job_search/totals/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'page' => 123,
'date_featured_start' => '2023-12-25',
'date_featured_end' => '2023-12-25',
'organization_ids' => [
123
],
'title' => '<string>',
'description' => '<string>',
'is_remote' => true,
'is_active' => true,
'locations' => [
123
],
'locations_exclude' => [
123
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://api-v2.forager.ai/api/{account_id}/datastorage/job_search/totals/")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"page\": 123,\n \"date_featured_start\": \"2023-12-25\",\n \"date_featured_end\": \"2023-12-25\",\n \"organization_ids\": [\n 123\n ],\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"is_remote\": true,\n \"is_active\": true,\n \"locations\": [\n 123\n ],\n \"locations_exclude\": [\n 123\n ]\n}")
.asString();{
"total_search_results": 1
}{
"detail": "Authentication credentials were not provided."
}When to use this endpoint
You want to know how many job postings a job search would return before paging through results. Thetotals endpoint takes the same body as the search and returns only the count, so count first and page only through the matches you need.
Example request
cURL
curl -X POST "https://api-v2.forager.ai/api/$FORAGER_ACCOUNT_ID/datastorage/job_search/totals/" \
-H "X-API-KEY: $FORAGER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Senior Data Engineer",
"is_remote": true,
"is_active": true
}'
FORAGER_API_KEY and FORAGER_ACCOUNT_ID as in the quickstart.
Example response
200 (illustrative values)
{
"total_search_results": 1
}
Credits
The credit cost of this operation is not documented yet. See API credits and pricing.Authorizations
Path Parameters
Body
application/jsonapplication/x-www-form-urlencodedmultipart/form-data
JobPostEvent search request serializer.
indeed- Indeedlinkedin- LinkedInangellist- AngelList
Available options:
indeed, linkedin, angellist To get a list of IDs use Organizations lookup endpoint.
This field supports a boolean text search query.
This field supports a boolean text search query.
To get a list of IDs use Locations lookup endpoint.
To get a list of IDs use Locations lookup endpoint.
Response
OrganizationJobPostEvent search totals response serializer.
Required range:
x >= 0Last modified on November 1, 2026