This API finds content keyword documents (content profiles) that match specified filters but have no associated traffic events within a given time period. The API is useful for answering questions such as "find pages about sports that haven't received any traffic in the last week", where "pages about sports" are the subject to filtering and the requested result is a set of URLs that exist but have no events.
The user must be authenticated and have read permissions to the specified sites.
Request
The request object has the following fields:
|
Name |
Type |
Required |
Description |
|---|---|---|---|
|
|
Array of String |
No |
The set of sites to search within. |
|
|
String |
No |
The site to search within. A more convenient alternative to |
|
|
Array of String |
No |
The set of site groups to search within. |
|
|
String |
No |
The site group to search within. A more convenient alternative to |
|
|
Array of Object |
No |
Filters to be applied. Conjunctive semantics ( |
|
|
String/Integer |
No |
Start time for the search period. Defaults to -1d (1 day ago). |
|
|
String/Integer |
No |
End time for the search period. Defaults to now. |
|
|
Integer |
No |
Starting offset for pagination. Defaults to 0. |
|
|
Integer |
No |
Maximum number of results to return. Defaults to 10,000. |
Response
The response object has the following fields:
|
Name |
Type |
Description |
|---|---|---|
|
|
Integer |
The number of URLs returned in this response. |
|
|
Integer |
The total number of URLs that match the criteria (before pagination). |
|
|
Array of Object |
Array of URL objects containing the URLs that match the criteria but have no events. |
Each object in the data array has the following structure:
|
Name |
Type |
Description |
|---|---|---|
|
|
String |
The URL without events. |
Examples
Find pages about a specific company with no events
$ python cx.py /content/keyword/data/no-events '{"siteId":"12345", "filters":[{"type":"keyword","group":"company","item":"lolcompany"}]}'
{
"count": 1,
"totalCount": 1,
"data": [
{
"url": "url.com/without/events"
}
]
}
$ python cx.py /content/keyword/data/no-events '{"siteIds":["12345"], "start":"-7d", "stop":"-0d", "filters":[{"type":"keyword","group":"pageclass","item":"article"}]}'
{
"count": 5,
"totalCount": 5,
"data": [
{
"url": "example.com/article1"
},
{
"url": "example.com/article2"
},
{
"url": "example.com/article3"
},
{
"url": "example.com/article4"
},
{
"url": "example.com/article5"
}
]
}
Find content matching filters with pagination
$ python cx.py /content/keyword/data/no-events '{"siteId":"12345", "paginationStart":0, "count":10, "filters":[{"type":"or", "filters":[{"type":"keyword","group":"category","item":"sports"},{"type":"keyword","group":"category","item":"news"}]}]}'
{
"count": 10,
"totalCount": 50,
"data": [
{
"url": "example.com/sports-page-1"
},
{
"url": "example.com/news-page-1"
},
{
"url": "example.com/sports-page-2"
},
{
"url": "example.com/news-page-2"
},
{
"url": "example.com/sports-page-3"
},
{
"url": "example.com/news-page-3"
},
{
"url": "example.com/sports-page-4"
},
{
"url": "example.com/news-page-4"
},
{
"url": "example.com/sports-page-5"
},
{
"url": "example.com/news-page-5"
}
]
}