Instagram Platform

Access Token

Updated: Mar 9, 2026
The /access_token endpoint allows you to exchange short-lived Instagram User Access Tokens, those that expire in one hour, for long-lived Instagram User access Tokens that expire in 60 days.

Creating

This operation is not supported.

Reading

GET /access_token
Exchange a short-lived Instagram User access token, that expires in one hour, for long-lived Instagram User access token that expires in 60 days.

Limitations

Requests for long-lived tokens include your app secret so should only be made in server-side code, never in client-side code or in an app binary that could be decompiled. Do not share your app secret with anyone, expose it in code, send it to a client, or store it in a device.

Requirements

Access tokens

  • An Instagram User access token requested from a person who can send a message from the Instagram professional account

Base URL

All endpoints can be accessed via the graph.instagram.com host.

Endpoints

  • /access_token

Required Parameters

The following table contains the required parameters for each API request.
Key Value
client_secret
Required
String
Your Instagram app’s secret from the App Dashboard
grant_type
Required
String
Set this to ig_exchange_token
access_token
Required
String
The valid (unexpired) short-lived Instagram User Access Token that you want to exchange for a long-lived token.

Permissions

  • instagram_basic for apps that implemented Facebook Login for Business
  • instagram_business_basic for apps that implemented Business Login for Instagram

Request Syntax

Formatted for readability.
GET https://graph.instagram.com/access_token
  ?grant_type=ig_exchange_token
  &client_secret=<INSTAGRAM_APP_SECRET>
  &access_token=<VALID_SHORT_LIVED_ACCESS_TOKEN>

Response

Upon success, your app receives a JSON-formatted object containing the following:
  • access_token set to the new, long-lived Instagram User access token; numeric string
  • token_type set to bearer; string
  • expires_in set to the number of seconds until the token expires; integer

cURL Example

Request

curl -X GET "https://graph.instagram.com/access_token?grant_type=ig_exchange_token&&client_secret=eb87G...&access_token=IGQVJ..."

Response

{
  "access_token": "lZAfb2dhVW...",
  "token_type": "bearer",
  "expires_in": 5184000
}

Updating

This operation is not supported.

Deleting

This operation is not supported.