Skip to main content
POST
/
api
/
analytics
/
sources
/
timeseries
Timeseries of top 5 sources by citation share
curl --request POST \
  --url https://api.mentionlab.io/api/analytics/sources/timeseries \
  --header 'Content-Type: application/json' \
  --header 'x-project-id: <x-project-id>' \
  --data '
{
  "bucketSize": "day",
  "startDate": "2025-01-01",
  "endDate": "2025-02-01",
  "country": "<string>",
  "language": "<string>",
  "models": [
    "<string>"
  ],
  "hasSources": true,
  "hasShopping": true,
  "queryTagIds": [
    "<string>"
  ],
  "execTagIds": [
    "<string>"
  ],
  "queryTagMode": "or",
  "execTagMode": "or"
}
'
{
  "domains": [
    "reddit.com",
    "wikipedia.org",
    "youtube.com",
    "github.com",
    "stackoverflow.com"
  ],
  "points": [
    {
      "bucket": "2026-03-01T00:00:00.000Z",
      "domain": "reddit.com",
      "resultCount": 12,
      "citationShare": 22.5
    }
  ]
}

Headers

x-project-id
string
required

Project ID to specify the project context

Body

application/json
bucketSize
enum<string>
required

Time bucket granularity

Available options:
day,
week,
month
Example:

"day"

startDate
string

Start date (inclusive)

Example:

"2025-01-01"

endDate
string

End date (exclusive)

Example:

"2025-02-01"

country
string

Filter by country code

language
string

Filter by language code

models
string[]

Filter by AI models

hasSources
boolean

Filter by responses that have sources

hasShopping
boolean

Filter by responses that have shopping products

queryTagIds
string[]

Filter by query tag IDs

execTagIds
string[]

Filter by execution tag IDs

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

Response

200 - application/json
domains
string[]
required

The top 5 domain names ordered by total citations across the full date range. Every bucket in points will contain an entry for each of these 5 domains (0 if absent).

Example:
[
  "reddit.com",
  "wikipedia.org",
  "youtube.com",
  "github.com",
  "stackoverflow.com"
]
points
object[]
required

Flat array of data points — one entry per (bucket × domain) combination. Ordered by bucket ascending, then by domain rank descending within each bucket.