Returns the Twitter trends archive of a place, as the lists X showed there over a range of time. Use it for trending on Twitter yesterday, last week or any day since 2026-10-13 02:20 UTC. Xquik stores 1 list per place every 5 minutes and keeps it for 25 months. Pick the place by woeid, country or location name, the range with from & to, and the step with every. from & to take a time or a span back from now, such as 7d, so a schedule can read the last day on every run. Each step returns the first list stored in it, with its own time. Each returned list costs 1 credit, so 24 lists cost 24 credits. A step with no stored list returns none and costs nothing. 1 request returns 24 lists, or up to 100 with limit.
Request
- Base URL: https://xquik.com
- URL: https://xquik.com/api/v1/x/trends/history
- Auth: one of:
- API key in header x-api-key
- HTTP bearer
- none
Query parameters
WOEID of the place, such as 1 for Worldwide or 23424969 for Turkey. It wins over country & location. /x/trends/locations lists every WOEID.
Country to read trends history for, by name or 2-letter code, such as Turkey or TR. Case insensitive. X can add places, so Xquik takes up to 280 characters, the most a post holds.
Town or country to read trends history for, by name, such as Istanbul. Case insensitive. Add country when 2 towns share a name. /x/trends/locations lists every name. X can add places, so Xquik takes up to 280 characters, the most a post holds.
Start of the range. Takes an ISO 8601 time, a date such as 2026-10-13, or Unix seconds. A time without a zone reads as UTC. It also takes a span back from now, as a number & s, m, h or d, so from=7d reads the last 7 days. Defaults to 24 hours before to. History starts 2026-10-13 02:20 UTC, and a range that begins earlier returns the stored part. Alias sinceTime.
End of the range, which it leaves out. Takes the forms of from, so from=2d with to=1d reads the day before the last 24 hours. Defaults to now. Alias untilTime.
Step between 2 returned lists, as a number & m, h or d, such as 15m, 1h or 1d. A step under 5m returns every stored list.
Trends to return in each list, from 1 to 50.
Maximum lists 1 request returns & charges. A wider range gives a next_cursor for the next lists. A low credit balance can return fewer.
The next_cursor of the page before, for the next lists. It keeps the time of the first request, so a range of spans stays the same on every page.
Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields. A longer URL fails at the edge before Xquik reads it.
Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields. A longer URL fails at the edge before Xquik reads it.
Response
Stored trend lists of the place, oldest first
Example response
{
"fromTime": "2026-10-13T00:00:00.000Z",
"toTime": "2026-10-14T00:00:00.000Z",
"snapshots": [
{
"capturedAt": "2026-10-13T14:00:26.000Z",
"count": 1,
"trends": [
{
"name": "#AI",
"description": "Artificial intelligence discussions",
"promotedContent": null,
"query": "%23AI",
"rank": 1,
"tweetVolume": 250000,
"url": "https://x.com/search?q=%23AI"
}
]
}
],
"count": 1,
"woeid": 1,
"location": {
"woeid": 2344116,
"name": "Istanbul",
"country": "Turkey",
"countryCode": "TR",
"placeType": "Town",
"placeTypeCode": 7,
"parentWoeid": 23424969,
"url": "http://where.yahooapis.com/v1/place/2344116"
}
}Changes
- warning
added the new
topup_in_progressenum value to the/////response property for the response status - warning
added the new
topup_in_progressenum value to the//////response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//////response property for the response status - warning
added the new
topup_in_progressenum value to the///////response property for the response status - warning
added the new
topup_in_progressenum value to the//////response property for the response status - warning
added the new
topup_in_progressenum value to the///////response property for the response status
- warning