Skip to main content
POST
/
api
/
v1
/
analytics
/
sources
/
domains
/
{sourceDomainId}
/
urls
Per-URL drill-down for a specific domain
curl --request POST \
  --url https://api.mentionlab.io/api/v1/analytics/sources/domains/{sourceDomainId}/urls \
  --header 'Content-Type: application/json' \
  --header 'x-project-id: <x-project-id>' \
  --data '
{
  "sourceDomainId": "01234567-89ab-cdef-0123-456789abcdef",
  "startDate": "2025-01-01",
  "endDate": "2025-02-01",
  "countries": [
    "BE",
    "FR"
  ],
  "languages": [
    "en",
    "fr"
  ],
  "models": [
    "gpt-4o",
    "claude-3-5-sonnet"
  ],
  "queryIds": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ],
  "queryTagIds": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ],
  "execTagIds": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ],
  "queryTagMode": "or",
  "execTagMode": "or",
  "timezone": "Europe/Brussels",
  "page": 1,
  "pageSize": 50,
  "entityIds": [
    "01234567-89ab-cdef-0123-456789abcdef"
  ],
  "sort": [
    {
      "field": "citationCount",
      "direction": "desc"
    }
  ]
}
'
{
  "totalResponses": 720,
  "globalTotalCitations": 712,
  "globalTotalBrandCitations": 200,
  "urls": [
    {
      "url": "https://www.reddit.com/r/technology/comments/abc123/title",
      "title": "Best tools for project management - Reddit",
      "citationCount": 15,
      "citationShare": 2.1,
      "brandCitationCount": 6,
      "brandCitationShare": 3.4,
      "successCount": 12,
      "failureCount": 3,
      "entities": [
        {
          "entityId": "01234567-89ab-cdef-0123-456789abcdef",
          "entityName": "Acme Corp",
          "isOwned": true,
          "isPrimary": true,
          "isCompetitor": false
        }
      ]
    }
  ],
  "page": {
    "totalRecords": 123,
    "limit": 123,
    "currentPage": 123,
    "totalPages": 123,
    "nextPage": 123,
    "prevPage": 123
  }
}

Headers

x-project-id
string
required

Project ID to specify the project context

Path Parameters

sourceDomainId
string
required

Identifier of the source domain whose cited URLs are returned. Overrides any value in the request body.

Example:

"d1f8c3a2-9b4e-4c7a-8f21-6e0a5b2c9d10"

Body

application/json
sourceDomainId
string
required

Source domain ID to drill down into.

Example:

"01234567-89ab-cdef-0123-456789abcdef"

startDate
string

Start date (inclusive)

Example:

"2025-01-01"

endDate
string

End date (exclusive)

Example:

"2025-02-01"

countries
string[]

Filter by country codes

Example:
["BE", "FR"]
languages
string[]

Filter by language codes

Example:
["en", "fr"]
models
string[]

Filter by AI models

Example:
["gpt-4o", "claude-3-5-sonnet"]
queryIds
string[]

Filter by query IDs

Example:
["3fa85f64-5717-4562-b3fc-2c963f66afa6"]
hasSources
enum<string>

Filter by source presence: "sources" (only with sources), "no_sources" (only without), "all" (no filter). Legacy true/false values are still accepted.

Available options:
all,
sources,
no_sources
hasShopping
enum<string>

Filter by shopping presence: "shopping" (only with shopping), "no_shopping" (only without), "all" (no filter). Legacy true/false values are still accepted.

Available options:
all,
shopping,
no_shopping
queryTagIds
string[]

Filter by query tag IDs

Example:
["3fa85f64-5717-4562-b3fc-2c963f66afa6"]
execTagIds
string[]

Filter by execution tag IDs

Example:
["3fa85f64-5717-4562-b3fc-2c963f66afa6"]
queryTagMode
enum<string>
default:or

Query tag matching mode: "or" matches ANY tag (default), "and" matches ALL tags.

Available options:
and,
or
execTagMode
enum<string>
default:or

Execution tag matching mode: "or" matches ANY tag (default), "and" matches ALL tags.

Available options:
and,
or
timezone
string
default:UTC

IANA timezone for date bucketing and filtering (e.g. "Europe/Brussels"). Defaults to UTC.

Example:

"Europe/Brussels"

page
number
default:1

Page number (1-based).

Example:

1

pageSize
number
default:50

Items per page (max 200).

Example:

50

entityIds
string[]

Entity IDs to compute brand metrics for (defaults to primary non-blacklisted).

Example:
["01234567-89ab-cdef-0123-456789abcdef"]
sort
object[]

Sorting instructions for the result set. Allowed fields are url, citationCount, citationShare, brandCitationCount, brandCitationShare, successCount and failureCount.

Example:
[
{
"field": "citationCount",
"direction": "desc"
}
]

Response

totalResponses
number
required

Total number of AI responses in the filtered scope.

Example:

720

globalTotalCitations
number
required

Sum of per-domain citation counts across ALL domains. Denominator for citationShare. Consistent with totalCitations in all-domains.

Example:

712

globalTotalBrandCitations
number
required

Sum of per-domain brand citation counts across ALL domains. Denominator for brandCitationShare.

Example:

200

urls
object[]
required

Per-URL statistics ordered by citationCount descending (unless sorted).

page
object
required

Pagination metadata.