The Search Nitro Inventory API is available to select partners to provide automotive dealership inventory data in bulk.
Access is governed a secret account id and api key pair. To request access, email admin@searchnitro.io.
API fees are paid at a negotiated rate per domain per calendar month.
Each function may be called at the respective endpoint/pathname on this domain as a POST request encoded as 'x-www-form-encoded'.
Each of the examples included below may use variables to designate the api key, account, and domain. To run tests using the browser console, fill in the blanks with the appropriate values provided during setup and declare these variable before running the example Javascript snippets.
const myAccount = _________________________;
const myApi = _________________________;
const myDomain = _________________________;
Used to add domains to the Search Nitro account. Parent designations allow for combined requests group by parent domain.
/domains/add/
{
"api":"", // Required
"account":"", // Required
"domain":"", // Required
"parent":"", // Optional
}
List of each active domain for the account. Parent domains also list children domains.
Endpoint/domains/list/
{
"api":"", // Required
"account":"", // Required
}
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
const urlencoded = new URLSearchParams();
urlencoded.append("api", "${api}");
urlencoded.append("account",myAccount);
const requestOptions = {
method: "POST",
headers: myHeaders,
body: urlencoded,
redirect: "follow"
};
fetch("https://vehicles.streamlinedealer.com/domains/list/", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
List all available domains for export.
Endpoint/domains/list/all/
{
"api":"", // Required
"account":"", // Required
}
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
const urlencoded = new URLSearchParams();
urlencoded.append("api", "${api}");
urlencoded.append("account",myAccount);
const requestOptions = {
method: "POST",
headers: myHeaders,
body: urlencoded,
redirect: "follow"
};
fetch("https://vehicles.streamlinedealer.com/domains/list/all/", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
Used to remove domains from the Search Nitro account.
/domains/remove/
{
"api":"", // Required
"account":"", // Required
"domain":"", // Required
"parent":"", // Optional
}
Used to fetch inventory by domain.
/inventory/query/
{
"api":"", // Required
"account":"", // Required
"domain":"", // Required
}
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
const urlencoded = new URLSearchParams();
urlencoded.append("api", myApi);
urlencoded.append("account",myAccount);
urlencoded.append("domain", myDomain);
const requestOptions = {
method: "POST",
headers: myHeaders,
body: urlencoded,
redirect: "follow"
};
fetch("https://vehicles.streamlinedealer.com/inventory/query/", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
Refresh the inventory feed cache daily and after adjusting the active domains
/inventory/refresh/
{
"api":"", // Required
"account":"", // Required
"domain":"", // Required
}
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
const urlencoded = new URLSearchParams();
urlencoded.append("api", myApi);
urlencoded.append("account",myAccount);
urlencoded.append("domain", myDomain);
const requestOptions = {
method: "POST",
headers: myHeaders,
body: urlencoded,
redirect: "follow"
};
fetch("https://vehicles.streamlinedealer.com/inventory/refresh/", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));
Summary data about vehicle count and average price by make/model is now in early development available at the version 1.1 endpoint. This information is delivered in the "summary" key rather than the "data" key.
/v1.1/inventory/query/
{
"api":"", // Required
"account":"", // Required
"domain":"", // Required
}
const myHeaders = new Headers();
myHeaders.append("Content-Type", "application/x-www-form-urlencoded");
const urlencoded = new URLSearchParams();
urlencoded.append("api", myApi);
urlencoded.append("account",myAccount);
urlencoded.append("domain", myDomain);
const requestOptions = {
method: "POST",
headers: myHeaders,
body: urlencoded,
redirect: "follow"
};
fetch("https://vehicles.streamlinedealer.com/v1.1/inventory/query/", requestOptions)
.then((response) => response.text())
.then((result) => console.log(result))
.catch((error) => console.error(error));