Check Twitter Follow Relationship API
Return the directional relationship between a source and target user: whether source follows target (following) and target follows source (followed_by), plus block, mute, and DM-eligibility flags. The relationship object is null when either user is not found. Cost: $0.0008 per call.
Check Follow Relationship returns the directional relationship between a source and target user: whether source follows target and target follows source, plus block, mute, and DM-eligibility flags. Pass both numeric user IDs; the relationship is null when either user is not found. It is a single $0.0008 read.
Authorization
bearerAuth Pass your API key as a bearer token on every request: Authorization: Bearer <API_KEY>.
In: header
Query Parameters
Numeric ID of the account whose following is checked.
Numeric ID of the account being checked against.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/user/check_follow_relationship?source_user_id=745273&target_user_id=2178758961"{ "relationship": { "source_id": "745273", "target_id": "2178758961", "following": true, "followed_by": false, "blocking": null, "blocked_by": null, "muting": null, "can_dm": true }}{ "error": "bad_request", "message": "Missing or malformed parameter. Fix the request before retrying."}{ "error": "unauthorized", "message": "The API key is missing, malformed, or revoked. Check the Authorization header."}{ "error": "insufficient_credits", "message": "Your balance is exhausted. Top up your credits to continue."}{ "error": "not_found", "message": "The resource does not exist, for example a deleted tweet or a private account."}{ "error": "rate_limited", "message": "Too many requests. Back off and retry with exponential backoff."}{ "error": "server_error", "message": "Something failed on our side. Retry with backoff; if it persists, contact support."}Pricing
| Unit | Price |
|---|---|
| Per call | $0.0008 |
| Per 1,000 calls | $0.80 |
When to use
Use it to verify a follow edge between two accounts, for example confirming whether a lead follows your brand before outreach.
Related endpoints
- User Followers: Page through the accounts that follow a user.
- User Following: Page through the accounts a user follows.
- User Info by ID: Fetch a full profile by numeric user ID.
FAQ
What flags does the relationship object include?
It returns following, followed_by, blocking, blocked_by, muting, and can_dm, plus the source and target IDs, in one directional object.
What identifiers does it take?
Two numeric user IDs: source_user_id and target_user_id. Resolve handles to IDs first with User Info by Username if needed.
What happens if a user is not found?
The relationship object is null when either the source or target user cannot be resolved, so check for null before reading flags.
User Affiliates GET
Return the affiliated accounts linked under an organization's Verified Organizations profile. Useful for mapping a company to its employees and brand accounts. Cost: $0.0008 per call.
Blocked Accounts GET
Return the accounts blocked by the account behind your registered session, as full user objects, cursor-paginated. This reads your OWN block list. There is no user_id parameter because X exposes no way to read another account's blocks, so the endpoint does not pretend to offer one. Requires a registered session or per-call inline credentials. Cost: $0.0008 per call.