---
title: "Check Follow Relationship"
method: GET
path: "/user/check_follow_relationship"
tags: ["User Reads"]
---

# Check Follow Relationship

`GET /user/check_follow_relationship`

## Request

- Base URL: `https://api.twitterapis.com/twitter`
- URL: `https://api.twitterapis.com/twitter/user/check_follow_relationship`
- Auth: HTTP bearer

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. An account that does not exist returns a 404 with error not_found; the relationship object is null when X returns none. Cost: $0.0008 per call.

## Query parameters

- `source_user_id` string: Numeric ID of the account whose following is checked. Send this or source_username.
- `source_username` string: Handle of the source account, as an alternative to source_user_id. Resolved to its ID first; an unknown handle returns a 404 and nothing is billed.
- `target_user_id` string: Numeric ID of the account being checked against. Send this or target_username.
- `target_username` string: Handle of the target account, as an alternative to target_user_id. Resolved to its ID first; an unknown handle returns a 404 and nothing is billed.
- `fields` string
- `compact` '1'

## Response `200`

Check whether one user follows another.

- object
  - `relationship` Relationship: The directional follow/block/mute relationship between a source and target account.
    - `source_id` string: Numeric ID of the source account.
    - `target_id` string: Numeric ID of the target account.
    - `following` boolean: True when the source account follows the target.
    - `followed_by` boolean: True when the target account follows the source.
    - `blocking` boolean, nullable: True when the source blocks the target; null when not available.
    - `blocked_by` boolean, nullable: True when the source is blocked by the target; null when not available.
    - `muting` boolean, nullable: True when the source mutes the target; null when not available.
    - `can_dm` boolean, nullable: True when the source can send a direct message to the target. Null when X does not say.

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `402`: Insufficient credits
- `403`: Forbidden
- `404`: Not found
- `429`: Rate limited
- `5XX`: Server error

---

[API](https://skmtc.dev/twitterapis/apis/twitterapis-api.md) · [All operations](https://skmtc.dev/twitterapis/apis/twitterapis-api/llms.txt) · [OpenAPI document](https://skmtc.dev/twitterapis/apis/twitterapis-api/revisions/a33ce0fedb3c?raw)
