Tweets
t.co link resolver API for X (Twitter) short links
Resolve up to 100 t.co links in 1 call. Get the URL each X short link leads to, in the order sent. Pay 1 credit per resolved link. Unknown links are free.
- 200
- 400
- 401
- 402
- 424
- 429
- 502
- 503
GET
t.co link resolver API for X (Twitter) short links
1 credit per resolved link · All plans from $0.00012/credit
GET /api/v1/x/links/resolve.
GET /x/links/resolve when you hold t.co links and need their targets.
X shortens every link in a post to a t.co link.
Xquik reads where each link points and never opens the target page.
Resolve links in bulk
Collect the t.co links from tweet text, bios, or your own logs. Send up to 100 in 1 call, separated by commas.links comes back in the order sent, with each link once.
A link t.co does not have comes back without resolvedUrl. It costs nothing.
Each resolved link costs 1 credit.
A link X does not answer for in time comes back in unprocessedUrls.
It costs nothing. Send it again in your next call.
resolvedUrl is the address the link’s author set. Xquik does not check it.
Check a target before you open it.
Tweets already carry their links’ targets in entities.urls[].expanded_url.
Read them with Get tweet when you hold the tweet ID.
Query parameters
string
required
1 to 100 links of the form
https://t.co/Xe1nm2pkSX, separated by commas. Any other link returns 400 invalid_input.Headers
string
Full account key. Sessions and OAuth also work.
string
Bearer xq_your_guest_key_here for paid_reads.Response
200 OK
object[]
string[]
Links not read, in the order sent. X did not answer for them in time, or available credits ran out. Send them again.
400 Invalid input
urls is missing, holds over 100 links, or holds a link in another form. Send each link as https://t.co/ and its code.
401 Unauthenticated
x-api-key header value.
402 Payment required
Account keys get account options. Guest keys get guest top-up only. No checkout starts automatically. Confirm any payment action.502 X API unavailable
503 Service busy
Retry-After header, then send the same links again. The request costs nothing.
429 Rate limit exceeded
Retry-After header before retrying.
424 Dependency failed
t.co link resolver API questions
How do I resolve a t.co link with an API?
CallGET /x/links/resolve with the link in urls.
The response holds the target in links[0].resolvedUrl.
How many t.co links can I resolve in 1 call?
Send 1 to 100 links, separated by commas. Repeated links count once.Which link forms does the endpoint accept?
Onlyhttps://t.co/ followed by the link’s code.
Other sites, http:// links, and links without https:// return 400 invalid_input.
How much does resolving a t.co link cost?
Each resolved link costs 1 credit. A link t.co does not have costs nothing. A link X does not answer for costs nothing. A refused or failed request costs nothing.What happens when X does not answer for a link?
The call still returns the links that resolved. The unanswered links come back inunprocessedUrls. Send them again.
Does Xquik visit the target page?
No. Xquik reads where the t.co link points and stops there.Does this replace X’s official API?
No. This page documents Xquik, an independent third-party service. It does not document X’s official API.Next steps. Get tweet reads a tweet with its links’ targets, or Search Tweets finds tweets that share a link.