Last updated: September 2026

Why does my LinkedIn API token expire after 60 days?

Because that is the lifetime LinkedIn gives access tokens issued to self-serve apps, and self-serve apps get no refresh token to renew them with. Refresh tokens are limited to LinkedIn approved partner programs. So on day 60 the token stops working, and the only fix is for the member to sign in again.

This is a LinkedIn rule, not a bug in whatever tool you are using. Below is what a self-serve sign-in gives you, what that means for any scheduler, and how OpenTweet handles the expiry.

What a self-serve sign-in gives you

Self-serve covers the products any developer can add without review, including Share on LinkedIn, the one used for posting to a personal profile.

Access token
Yes, valid for 60 days from sign-in.
Refresh token
No. Limited to LinkedIn approved partner programs.
Background renewal
Not possible without a refresh token.
After day 60
The token stops working. The member signs in again.
token response, in outline
{
  "access_token": "AQV...",
  "expires_in": 5184000,
  "scope": "w_member_social"
}

// expires_in is in seconds: 5184000 is 60 days.
// There is no refresh_token field to store.

What that means for any scheduler

Every tool that posts to your profile through a self-serve app lives with the same clock. It cannot quietly renew your token, so once in every 60-day window you will be asked to sign in again. If you are building your own integration, plan for that from day one:

  • Store the expiry with the token, not just the token.
  • Check it before each publish, so an expired token is caught before the post is due rather than as a failed call.
  • Hold posts whose token has expired instead of dropping them, and tell the member.
  • Make signing in again a single click, because the member will do it about six times a year.

LinkedIn has no scheduling API either

Scheduling on LinkedIn always means a queue on the tool side that calls the posting endpoint at the chosen time. That queue is what has to notice an expired token, because LinkedIn does not hold the post for you.

How OpenTweet handles day 60

1

Sign in once

Settings > Accounts > Connect LinkedIn. Sign in with LinkedIn and approve. No developer app, no API key.

2

Post for 60 days

Scheduled and immediate LinkedIn posts go out on your personal profile as normal.

3

The sign-in expires

LinkedIn gives OpenTweet no refresh token, so the connection cannot renew itself. Scheduled LinkedIn posts are held, and OpenTweet emails you to reconnect.

4

Reconnect in one click

Sign in with LinkedIn again from Settings. That starts a fresh 60 days.

OpenTweet uses the self-serve Share on LinkedIn product, so you never register a LinkedIn app, and your LinkedIn posts go to your personal profile feed. Company Pages are not supported, since they need the Community Management API and LinkedIn review. More on that split in posting to LinkedIn without partner approval.

7-day free trial. Cancel anytime.

Frequently asked questions

Why does my LinkedIn API token expire after 60 days?

Because that is the lifetime LinkedIn gives access tokens issued to self-serve apps, such as apps using the Share on LinkedIn product. Those apps get no refresh token, so when the 60 days are up there is nothing to renew the token with, and the member has to sign in again.

Can I get a refresh token from LinkedIn?

Only on an approved partner program. LinkedIn limits refresh tokens to those programs, so an app on the self-serve products, including the Share on LinkedIn product used for posting to a personal profile, gets a 60-day access token and nothing to renew it with.

Is there a way around signing in again every 60 days?

Not on a self-serve app. Without a refresh token there is no background renewal, so the member has to authorize again. That applies to an app you build yourself and to any scheduler built on the self-serve products.

What happens to my scheduled LinkedIn posts in OpenTweet when the sign-in expires?

They are held, and OpenTweet emails you to reconnect. Reconnecting is one click in Settings: the same sign-in with LinkedIn you did the first time, which starts a fresh 60 days.

Do I need my own LinkedIn developer app to use OpenTweet?

No. The OpenTweet LinkedIn app uses the self-serve Share on LinkedIn product, so you only sign in and approve. No developer app, no API key and no partner application. The 60-day clock applies either way, because it is the LinkedIn rule for self-serve apps.

Does the 60-day limit affect my X or Bluesky connection?

No. It is specific to LinkedIn self-serve tokens. Your X and Bluesky connections are separate and do not run on this clock.

One click every 60 days, nothing else to run

No LinkedIn app, no token store, no queue of your own. LinkedIn is on every plan from $11.99 a month.

7-day free trial. Cancel anytime.