curl --request POST \
--url https://api.mentionlab.io/api/queries/many \
--header 'Content-Type: application/json' \
--header 'x-project-id: <x-project-id>' \
--data '
{
"queries": [
{
"query": "machine learning trends",
"language": "en",
"country": "US",
"type": "informative"
}
]
}
'import requests
url = "https://api.mentionlab.io/api/queries/many"
payload = { "queries": [
{
"query": "machine learning trends",
"language": "en",
"country": "US",
"type": "informative"
}
] }
headers = {
"x-project-id": "<x-project-id>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-project-id': '<x-project-id>', 'Content-Type': 'application/json'},
body: JSON.stringify({
queries: [
{
query: 'machine learning trends',
language: 'en',
country: 'US',
type: 'informative'
}
]
})
};
fetch('https://api.mentionlab.io/api/queries/many', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mentionlab.io/api/queries/many",
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([
'queries' => [
[
'query' => 'machine learning trends',
'language' => 'en',
'country' => 'US',
'type' => 'informative'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-project-id: <x-project-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mentionlab.io/api/queries/many"
payload := strings.NewReader("{\n \"queries\": [\n {\n \"query\": \"machine learning trends\",\n \"language\": \"en\",\n \"country\": \"US\",\n \"type\": \"informative\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-project-id", "<x-project-id>")
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))
}HttpResponse<String> response = Unirest.post("https://api.mentionlab.io/api/queries/many")
.header("x-project-id", "<x-project-id>")
.header("Content-Type", "application/json")
.body("{\n \"queries\": [\n {\n \"query\": \"machine learning trends\",\n \"language\": \"en\",\n \"country\": \"US\",\n \"type\": \"informative\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mentionlab.io/api/queries/many")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-project-id"] = '<x-project-id>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"queries\": [\n {\n \"query\": \"machine learning trends\",\n \"language\": \"en\",\n \"country\": \"US\",\n \"type\": \"informative\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body[
{
"id": "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6",
"project": "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6",
"tags": [
1,
2,
3
],
"query": "mentionlab",
"language": "en",
"country": "US",
"updatedAt": "2023-08-22T10:00:00.000Z",
"type": "comparative",
"recurrenceSetting": {
"id": "018f3a2b-7c4d-7e1a-9b2c-3d4e5f6a7b8c",
"name": "Daily core queries"
}
}
]{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request"
}{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request"
}{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request"
}Create queries
Creates (upserts) several queries at once along with their tag associations; all referenced tag IDs are validated against the project first.
curl --request POST \
--url https://api.mentionlab.io/api/queries/many \
--header 'Content-Type: application/json' \
--header 'x-project-id: <x-project-id>' \
--data '
{
"queries": [
{
"query": "machine learning trends",
"language": "en",
"country": "US",
"type": "informative"
}
]
}
'import requests
url = "https://api.mentionlab.io/api/queries/many"
payload = { "queries": [
{
"query": "machine learning trends",
"language": "en",
"country": "US",
"type": "informative"
}
] }
headers = {
"x-project-id": "<x-project-id>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-project-id': '<x-project-id>', 'Content-Type': 'application/json'},
body: JSON.stringify({
queries: [
{
query: 'machine learning trends',
language: 'en',
country: 'US',
type: 'informative'
}
]
})
};
fetch('https://api.mentionlab.io/api/queries/many', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mentionlab.io/api/queries/many",
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([
'queries' => [
[
'query' => 'machine learning trends',
'language' => 'en',
'country' => 'US',
'type' => 'informative'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-project-id: <x-project-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.mentionlab.io/api/queries/many"
payload := strings.NewReader("{\n \"queries\": [\n {\n \"query\": \"machine learning trends\",\n \"language\": \"en\",\n \"country\": \"US\",\n \"type\": \"informative\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-project-id", "<x-project-id>")
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))
}HttpResponse<String> response = Unirest.post("https://api.mentionlab.io/api/queries/many")
.header("x-project-id", "<x-project-id>")
.header("Content-Type", "application/json")
.body("{\n \"queries\": [\n {\n \"query\": \"machine learning trends\",\n \"language\": \"en\",\n \"country\": \"US\",\n \"type\": \"informative\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mentionlab.io/api/queries/many")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-project-id"] = '<x-project-id>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"queries\": [\n {\n \"query\": \"machine learning trends\",\n \"language\": \"en\",\n \"country\": \"US\",\n \"type\": \"informative\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body[
{
"id": "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6",
"project": "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6",
"tags": [
1,
2,
3
],
"query": "mentionlab",
"language": "en",
"country": "US",
"updatedAt": "2023-08-22T10:00:00.000Z",
"type": "comparative",
"recurrenceSetting": {
"id": "018f3a2b-7c4d-7e1a-9b2c-3d4e5f6a7b8c",
"name": "Daily core queries"
}
}
]{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request"
}{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request"
}{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request"
}Headers
Project ID to specify the project context
Body
List of queries to create in a single batch. Must contain at least one query, and each item is validated against the CreateQueryDto schema.
Show child attributes
Show child attributes
[
{
"query": "machine learning trends",
"language": "en",
"country": "US",
"type": "informative"
}
]
Response
Unique identifier (UUID) of the query.
"a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6"
The project this query belongs to
"a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6"
The tags IDs this query belongs to
[1, 2, 3]
The search query text tracked for this entry.
"mentionlab"
ISO 639-1 language code used to scope the query results.
"en"
ISO 3166-1 alpha-2 country code used to scope the query results.
"US"
Timestamp of the last time the query was updated.
"2023-08-22T10:00:00.000Z"
The type of question the query asks. Null for queries that have not been classified.
comparative, informative, perception The recurrence setting this query is linked to, or null when the query does not recur.
Show child attributes
Show child attributes