REST API endpoints for social accounts
Use the REST API to manage social accounts of authenticated users.
About social account administration
If a request URL does not include a {username} parameter then the response will be for the signed-in user (and you must pass authentication information with your request). Additional private information, such as whether a user has two-factor authentication enabled, is included when authenticated through Basic Authentication or OAuth with the user scope.
List social accounts for the authenticated user
Lists all of your social accounts.
fine_grained_access
works_with_fine_grained_tokens:
no_permission_sets
Parameters for "List social accounts for the authenticated user"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Default: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Default: |
http_status_code
| status_code | Description |
|---|---|
200 | OK |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
code_samples
request_example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/user/social_accountsResponse
Status: 200[
{
"provider": "twitter",
"url": "https://twitter.com/github"
}
]Add social accounts for the authenticated user
Add one or more social accounts to the authenticated user's profile.
OAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.
fine_grained_access
works_with_fine_grained_tokens:
permission_set:
- "Profile" user permissions (write)
Parameters for "Add social accounts for the authenticated user"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
account_urls array of strings RequiredFull URLs for the social media profiles to add. |
http_status_code
| status_code | Description |
|---|---|
201 | Created |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
code_samples
request_example
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/user/social_accounts \
-d '{"account_urls":["https://facebook.com/GitHub","https://www.youtube.com/@GitHub"]}'Response
Status: 201[
{
"provider": "twitter",
"url": "https://twitter.com/github"
}
]Delete social accounts for the authenticated user
Deletes one or more social accounts from the authenticated user's profile.
OAuth app tokens and personal access tokens (classic) need the user scope to use this endpoint.
fine_grained_access
works_with_fine_grained_tokens:
permission_set:
- "Profile" user permissions (write)
Parameters for "Delete social accounts for the authenticated user"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
account_urls array of strings RequiredFull URLs for the social media profiles to delete. |
http_status_code
| status_code | Description |
|---|---|
204 | No Content |
304 | Not modified |
401 | Requires authentication |
403 | Forbidden |
404 | Resource not found |
422 | Validation failed, or the endpoint has been spammed. |
code_samples
request_example
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/user/social_accounts \
-d '{"account_urls":["https://facebook.com/GitHub","https://www.youtube.com/@GitHub"]}'Response
Status: 204List social accounts for a user
Lists social media accounts for a user. This endpoint is accessible by anyone.
fine_grained_access
works_with_fine_grained_tokens:
no_permission_sets
allows_public_read_access_no_permissions
Parameters for "List social accounts for a user"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
username string RequiredThe handle for the GitHub user account. |
| Name, Type, Description |
|---|
per_page integer The number of results per page (max 100). For more information, see "Using pagination in the REST API." Default: |
page integer The page number of the results to fetch. For more information, see "Using pagination in the REST API." Default: |
http_status_code
| status_code | Description |
|---|---|
200 | OK |
code_samples
request_example
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2026-03-10" \
http(s)://HOSTNAME/api/v3/users/USERNAME/social_accountsResponse
Status: 200[
{
"provider": "twitter",
"url": "https://twitter.com/github"
}
]