curl --request POST \
--url https://api.mentionlab.io/api/entities/list \
--header 'Content-Type: application/json' \
--header 'x-project-id: <x-project-id>' \
--data '
{
"name": "Acme",
"type": "brand",
"isOwned": true,
"isPrimary": true,
"isCompetitor": false,
"isBlacklisted": false,
"isRecurring": true,
"groupId": "018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42",
"rootGroupId": "018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42",
"sort": [
{
"field": "name",
"direction": "ASC"
}
]
}
'import requests
url = "https://api.mentionlab.io/api/entities/list"
payload = {
"name": "Acme",
"type": "brand",
"isOwned": True,
"isPrimary": True,
"isCompetitor": False,
"isBlacklisted": False,
"isRecurring": True,
"groupId": "018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42",
"rootGroupId": "018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42",
"sort": [
{
"field": "name",
"direction": "ASC"
}
]
}
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({
name: 'Acme',
type: 'brand',
isOwned: true,
isPrimary: true,
isCompetitor: false,
isBlacklisted: false,
isRecurring: true,
groupId: '018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42',
rootGroupId: '018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42',
sort: [{field: 'name', direction: 'ASC'}]
})
};
fetch('https://api.mentionlab.io/api/entities/list', 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/entities/list",
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([
'name' => 'Acme',
'type' => 'brand',
'isOwned' => true,
'isPrimary' => true,
'isCompetitor' => false,
'isBlacklisted' => false,
'isRecurring' => true,
'groupId' => '018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42',
'rootGroupId' => '018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42',
'sort' => [
[
'field' => 'name',
'direction' => 'ASC'
]
]
]),
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/entities/list"
payload := strings.NewReader("{\n \"name\": \"Acme\",\n \"type\": \"brand\",\n \"isOwned\": true,\n \"isPrimary\": true,\n \"isCompetitor\": false,\n \"isBlacklisted\": false,\n \"isRecurring\": true,\n \"groupId\": \"018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42\",\n \"rootGroupId\": \"018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42\",\n \"sort\": [\n {\n \"field\": \"name\",\n \"direction\": \"ASC\"\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/entities/list")
.header("x-project-id", "<x-project-id>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Acme\",\n \"type\": \"brand\",\n \"isOwned\": true,\n \"isPrimary\": true,\n \"isCompetitor\": false,\n \"isBlacklisted\": false,\n \"isRecurring\": true,\n \"groupId\": \"018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42\",\n \"rootGroupId\": \"018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42\",\n \"sort\": [\n {\n \"field\": \"name\",\n \"direction\": \"ASC\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mentionlab.io/api/entities/list")
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 \"name\": \"Acme\",\n \"type\": \"brand\",\n \"isOwned\": true,\n \"isPrimary\": true,\n \"isCompetitor\": false,\n \"isBlacklisted\": false,\n \"isRecurring\": true,\n \"groupId\": \"018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42\",\n \"rootGroupId\": \"018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42\",\n \"sort\": [\n {\n \"field\": \"name\",\n \"direction\": \"ASC\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"page": {
"totalRecords": 123,
"limit": 123,
"currentPage": 123,
"totalPages": 123,
"nextPage": 123,
"prevPage": 123
},
"results": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"slug": "<string>",
"type": "brand",
"isOwned": true,
"isPrimary": true,
"isCompetitor": true,
"isBlacklisted": true,
"domains": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"domain": "hubspot.com"
}
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"group": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "group",
"name": "<string>",
"slug": "<string>",
"parent": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"canonicalId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
]
}{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request"
}{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request"
}{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request"
}List entities with filters
Returns a paginated list of entities, excluding merged entities by default, with filtering and sorting options.
curl --request POST \
--url https://api.mentionlab.io/api/entities/list \
--header 'Content-Type: application/json' \
--header 'x-project-id: <x-project-id>' \
--data '
{
"name": "Acme",
"type": "brand",
"isOwned": true,
"isPrimary": true,
"isCompetitor": false,
"isBlacklisted": false,
"isRecurring": true,
"groupId": "018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42",
"rootGroupId": "018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42",
"sort": [
{
"field": "name",
"direction": "ASC"
}
]
}
'import requests
url = "https://api.mentionlab.io/api/entities/list"
payload = {
"name": "Acme",
"type": "brand",
"isOwned": True,
"isPrimary": True,
"isCompetitor": False,
"isBlacklisted": False,
"isRecurring": True,
"groupId": "018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42",
"rootGroupId": "018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42",
"sort": [
{
"field": "name",
"direction": "ASC"
}
]
}
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({
name: 'Acme',
type: 'brand',
isOwned: true,
isPrimary: true,
isCompetitor: false,
isBlacklisted: false,
isRecurring: true,
groupId: '018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42',
rootGroupId: '018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42',
sort: [{field: 'name', direction: 'ASC'}]
})
};
fetch('https://api.mentionlab.io/api/entities/list', 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/entities/list",
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([
'name' => 'Acme',
'type' => 'brand',
'isOwned' => true,
'isPrimary' => true,
'isCompetitor' => false,
'isBlacklisted' => false,
'isRecurring' => true,
'groupId' => '018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42',
'rootGroupId' => '018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42',
'sort' => [
[
'field' => 'name',
'direction' => 'ASC'
]
]
]),
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/entities/list"
payload := strings.NewReader("{\n \"name\": \"Acme\",\n \"type\": \"brand\",\n \"isOwned\": true,\n \"isPrimary\": true,\n \"isCompetitor\": false,\n \"isBlacklisted\": false,\n \"isRecurring\": true,\n \"groupId\": \"018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42\",\n \"rootGroupId\": \"018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42\",\n \"sort\": [\n {\n \"field\": \"name\",\n \"direction\": \"ASC\"\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/entities/list")
.header("x-project-id", "<x-project-id>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Acme\",\n \"type\": \"brand\",\n \"isOwned\": true,\n \"isPrimary\": true,\n \"isCompetitor\": false,\n \"isBlacklisted\": false,\n \"isRecurring\": true,\n \"groupId\": \"018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42\",\n \"rootGroupId\": \"018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42\",\n \"sort\": [\n {\n \"field\": \"name\",\n \"direction\": \"ASC\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mentionlab.io/api/entities/list")
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 \"name\": \"Acme\",\n \"type\": \"brand\",\n \"isOwned\": true,\n \"isPrimary\": true,\n \"isCompetitor\": false,\n \"isBlacklisted\": false,\n \"isRecurring\": true,\n \"groupId\": \"018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42\",\n \"rootGroupId\": \"018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42\",\n \"sort\": [\n {\n \"field\": \"name\",\n \"direction\": \"ASC\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"page": {
"totalRecords": 123,
"limit": 123,
"currentPage": 123,
"totalPages": 123,
"nextPage": 123,
"prevPage": 123
},
"results": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"slug": "<string>",
"type": "brand",
"isOwned": true,
"isPrimary": true,
"isCompetitor": true,
"isBlacklisted": true,
"domains": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"domain": "hubspot.com"
}
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"group": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "group",
"name": "<string>",
"slug": "<string>",
"parent": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"canonicalId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
]
}{
"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
Query Parameters
1 <= x <= 100x >= 1Body
Filter entities by name using a case-insensitive partial match.
"Acme"
Filter entities by their exact type.
"brand"
Filter entities by whether they are owned by the current project.
true
Filter entities by whether they are marked as primary.
true
Filter entities by whether they are flagged as competitors.
false
Filter entities by whether they are blacklisted.
false
Filter entities by whether they have been seen in more than one AI response. Pass true to hide one-off extractions.
true
Filter entities attached to a specific container (group or division), by its ID. Exact-node: a group ID does not include entities in its divisions — use rootGroupId for that.
"018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42"
Filter entities under a top-level group, INCLUDING entities in its divisions.
"018f3a2b-7c4d-7e91-b3f5-2a6c8d0e1f42"
Sort criteria for the entity list. Each item targets a sortable field (name, isPrimary, isOwned, isCompetitor, isBlacklisted, createdAt, updatedAt) with an ASC or DESC direction. Defaults to sorting by name ascending.
Show child attributes
Show child attributes
[{ "field": "name", "direction": "ASC" }]