Schedule Search
All POST data should be sent in the JSON format (UTF-8 encoding). The task setting is done using the POST method when the array of tasks is sent into json format. We recommend to set up to 100 tasks at a time. Such limits were set due to the variations of task setting methods that you may use.
Requires authentication
POST
https://api.serphouse.com/trends/schedule
Headers
Request Body
{
"status": "success",
"msg": "Task(s) successfully scheduled",
"results": [
{
"status": 0,
"cronned": 0,
"user_id": 4281,
"se": "",
"q": "google",
"domain": "trends.google.com",
"lang": "en",
"country_iso": null,
"loc": "US",
"lat": null,
"long": null,
"device": "desktop",
"serp_type": "trends",
"verbatim": 0,
"pingback_url": "https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58",
"postback_url": "https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58",
"is_scheduled": 1,
"page": 0,
"time_zone_offset": -330,
"time": "now 1-d",
"category": 0,
"property": "youtube",
"updated_at": "2023-05-27T06:43:44.000000Z",
"created_at": "2023-05-27T06:43:44.000000Z",
"id": 76849564
}
]
}
{
"status": "error",
"msg": "validation_error",
"error": {
"data.0.time_zone_offset": [
"The data.0.time_zone_offset field is required."
]
}
}
{
"status": "error",
"msg": "Your SERPHouse account has either run out of available credits (try upgrading your Plan), or there is a payment problem.",
"error": ""
}
{
"status": "error",
"msg": "Unauthenticated"
}
Example request:
curl --location --request POST 'https://api.serphouse.com/trends/schedule' \
--header 'Authorization: Bearer <YOUR_API_KEY>' \
--header 'Content-Type: application/json' \
--data-raw '{
"data" : [
{
"time_zone_offset": -330,
"keywords": "google",
"time": "now 1-d",
"property": "youtube",
"category": 0,
"geo": "us",
"langauge_code": "en",
"postback_url": "https:\/\/webhook.site\/277a9716-691d-4255-be89-a5f8f0240b58",
"pingback_url": "https:\/\/webhook.site\/277a9716-691d-4255-be89-a5f8f0240b58"
}
]
}'
require "uri"
require "json"
require "net/http"
url = URI("https://api.serphouse.com/trends/schedule")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "Bearer <YOUR_API_KEY>"
request.body = JSON.dump({
"data": [
{
"time_zone_offset": "-330",
"keywords": "google",
"time": "now 1-d",
"property": "youtube",
"category": "0",
"geo": "us",
"langauge_code": "en",
"postback_url": "https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58",
"pingback_url": "https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58"
}
]
})
response = https.request(request)
puts response.read_body
import requests
import json
url = "https://api.serphouse.com/trends/schedule"
payload = json.dumps({
"data": [
{
"time_zone_offset": -330,
"keywords": "google",
"time": "now 1-d",
"property": "youtube",
"category": 0,
"geo": "us",
"langauge_code": "en",
"postback_url": "https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58",
"pingback_url": "https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58"
}
]
})
headers = {
'Authorization': 'Bearer <YOUR_API_KEY>',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
var axios = require('axios');
var data = JSON.stringify({
"data": [
{
"time_zone_offset": "-330",
"keywords": "google",
"time": "now 1-d",
"property": "youtube",
"category": "0",
"geo": "us",
"langauge_code": "en",
"postback_url": "https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58",
"pingback_url": "https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58"
}
]
});
var config = {
method: 'post',
url: 'https://api.serphouse.com/trends/schedule',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer <YOUR_API_KEY>'
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
<?php
$serphouse = new SERPHouse\SERPHouseClient('YOUR_API_KEY');
$body = [
"data" => [
[
'time_zone_offset' => '-330',
'keywords' => 'google,youtube',
'time' => 'now 1-d',
'property' => 'youtube',
'category' => '0',
'geo' => 'us',
'language_code' => 'en',
"postback_url" => "https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58",
"pingback_url" => "https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58"
]
]
];
$res = $serphouse->trends->schedule($body);
echo $res->getResponse();
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
JSONObject jsonObject = new JSONObject();
jsonObject.put("data", new JSONArray()
.put(new JSONObject()
.put("time_zone_offset", -330)
.put("keywords", "google")
.put("time", "now 1-d")
.put("property", "youtube")
.put("category", 0)
.put("geo", "us")
.put("langauge_code", "en")
.put("postback_url", "https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58")
.put("pingback_url", "https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58")
)
);
String bodyJson = jsonObject.toString();
RequestBody body = RequestBody.create(mediaType, bodyJson);
Request request = new Request.Builder()
.url("https://api.serphouse.com/trends/schedule")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer <YOUR_API_KEY>")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer <YOUR_API_KEY>");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"data": [
{
"time_zone_offset": -330,
"keywords": "google",
"time": "now 1-d",
"property": "youtube",
"category": 0,
"geo": "us",
"langauge_code": "en",
"postback_url": "https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58",
"pingback_url": "https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58"
}
]
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.serphouse.com/trends/schedule", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.serphouse.com/trends/schedule"
method := "POST"
payload := strings.NewReader(`{
"data": [
{
"time_zone_offset": "-330",
"keywords": "google",
"time": "now 1-d",
"property": "youtube",
"category": "0",
"geo": "us",
"langauge_code": "en",
"postback_url": "https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58",
"pingback_url": "https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58"
}
]
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Bearer <YOUR_API_KEY>")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
var client = new RestClient("https://api.serphouse.com/trends/schedule");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer <YOUR_API_KEY>");
var body = @"
{
""data"": [
{
""time_zone_offset"": ""-330"",
""keywords"": ""google"",
""time"": ""now 1-d"",
""property"": ""youtube"",
""category"": ""0"",
""geo"": ""us"",
""language_code"": ""en"",
""postback_url"": ""https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58"",
""pingback_url"": ""https://webhook.site/277a9716-691d-4255-be89-a5f8f0240b58""
}
]
}";
request.AddParameter("application/json", body, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
Last updated