Social — entry 017 of 39

Line

Verified Jul 2026

LINE's developer platform covers OAuth 2.0-based LINE Login for social sign-in alongside the Messaging API, which uses per-channel access tokens (rather than user OAuth) to let official accounts send and receive text, stickers, images, and Flex Messages through api.line.me. The Messaging API is free to start, with paid plans unlocked once an account's monthly free message allowance is exceeded.

socialmessagingoauthchatbots
AuthenticationOAuthRequires an OAuth flow; expect app registration.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score74out of 100
Authentication8/25OAuth flow required
Pricing17/20Freemium tier available
Docs20/20Machine-readable spec file bundled
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 74 on greatapis.com
<a href="https://greatapis.com/api/line/"><img src="https://greatapis.com/badge/line.svg" alt="Scored 74 on greatapis.com"></a>

Auth quickstart

  1. Register an app / run the OAuth flow to obtain a bearer token.
  2. Send it as an Authorization headerAuthorization: Bearer <token>
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://api.line.me
Auth
Bearer
messaging-api68
POST/bot/pnp/push
Parameters
NameInRequiredType
X-Line-Delivery-Tagheadernostring
Request body

application/jsonPnpMessagesRequest (required)

Responses
StatusDescriptionSchema
200OK
422Unprocessable EntityErrorResponse
GET/v2/bot/channel/webhook/endpoint
Responses
StatusDescriptionSchema
200OKGetWebhookEndpointResponse
PUT/v2/bot/channel/webhook/endpoint
Request body

application/jsonSetWebhookEndpointRequest (required)

Responses
StatusDescriptionSchema
200OK
POST/v2/bot/channel/webhook/test
Request body

application/jsonTestWebhookEndpointRequest

Responses
StatusDescriptionSchema
200OKTestWebhookEndpointResponse
POST/v2/bot/chat/loading/start
Request body

application/jsonShowLoadingAnimationRequest (required)

Responses
StatusDescriptionSchema
202AcceptedShowLoadingAnimationResponse
400An invalid chat ID is specified, or the loadingSeconds value is invalid.ErrorResponse
POST/v2/bot/chat/markAsRead
Request body

application/jsonMarkMessagesAsReadByTokenRequest (required)

Responses
StatusDescriptionSchema
200OK
400An invalid markAsReadToken is specified. Tokens must be used by the bot that received them via Webhook.ErrorResponse
GET/v2/bot/coupon
Parameters
NameInRequiredType
statusquerynoarray
startquerynostring
limitquerynointeger
Responses
StatusDescriptionSchema
200OKMessagingApiPagerCouponListResponse
400Bad RequestErrorResponse
POST/v2/bot/coupon
Request body

application/jsonCouponCreateRequest

Responses
StatusDescriptionSchema
200OKCouponCreateResponse
400Bad RequestErrorResponse
GET/v2/bot/coupon/{couponId}
Parameters
NameInRequiredType
couponIdpathyesstring
Responses
StatusDescriptionSchema
200OKCouponResponse
400Bad RequestErrorResponse
404Not FoundErrorResponse
PUT/v2/bot/coupon/{couponId}/close
Parameters
NameInRequiredType
couponIdpathyesstring
Responses
StatusDescriptionSchema
200OK
400Bad RequestErrorResponse
404Not FoundErrorResponse
410GoneErrorResponse
GET/v2/bot/followers/ids
Parameters
NameInRequiredType
startquerynostring
limitquerynointeger
Responses
StatusDescriptionSchema
200OKGetFollowersResponse
POST/v2/bot/group/{groupId}/leave
Parameters
NameInRequiredType
groupIdpathyesstring
Responses
StatusDescriptionSchema
200OK
400Bad RequestErrorResponse
404Not FoundErrorResponse
GET/v2/bot/group/{groupId}/member/{userId}
Parameters
NameInRequiredType
groupIdpathyesstring
userIdpathyesstring
Responses
StatusDescriptionSchema
200OKGroupUserProfileResponse
GET/v2/bot/group/{groupId}/members/count
Parameters
NameInRequiredType
groupIdpathyesstring
Responses
StatusDescriptionSchema
200OKGroupMemberCountResponse
GET/v2/bot/group/{groupId}/members/ids
Parameters
NameInRequiredType
groupIdpathyesstring
startquerynostring
Responses
StatusDescriptionSchema
200OKMembersIdsResponse
GET/v2/bot/group/{groupId}/summary
Parameters
NameInRequiredType
groupIdpathyesstring
Responses
StatusDescriptionSchema
200OKGroupSummaryResponse
GET/v2/bot/info
Responses
StatusDescriptionSchema
200OKBotInfoResponse
GET/v2/bot/membership/list
Responses
StatusDescriptionSchema
200OKMembershipListResponse
404Unable to get information about the memberships.ErrorResponse
GET/v2/bot/membership/subscription/{userId}
Parameters
NameInRequiredType
userIdpathyesstring
Responses
StatusDescriptionSchema
200OKGetMembershipSubscriptionResponse
400An invalid user ID is specified.ErrorResponse
404Unable to get information about the membership to which the user subscribes.ErrorResponse
GET/v2/bot/membership/{membershipId}/users/ids
Parameters
NameInRequiredType
startquerynostring
limitquerynointeger
membershipIdpathyesinteger
Responses
StatusDescriptionSchema
200OKGetJoinedMembershipUsersResponse
400`start` is incorrect or expired, or `limit` is under 1 or over 1000.ErrorResponse
404Membership ID is not owned by the bot or does not exist.ErrorResponse
GET/v2/bot/message/aggregation/info
Responses
StatusDescriptionSchema
200OKGetAggregationUnitUsageResponse
GET/v2/bot/message/aggregation/list
Parameters
NameInRequiredType
limitquerynostring
startquerynostring
Responses
StatusDescriptionSchema
200OKGetAggregationUnitNameListResponse
POST/v2/bot/message/broadcast
Parameters
NameInRequiredType
X-Line-Retry-Keyheadernostring
Request body

application/jsonBroadcastRequest (required)

Responses
StatusDescriptionSchema
200OKBroadcastResponse
400Bad RequestErrorResponse
403ForbiddenErrorResponse
409ConflictErrorResponse
429Too Many RequestsErrorResponse
GET/v2/bot/message/delivery/broadcast
Parameters
NameInRequiredType
datequeryyesstring
Responses
StatusDescriptionSchema
200OKNumberOfMessagesResponse
GET/v2/bot/message/delivery/multicast
Parameters
NameInRequiredType
datequeryyesstring
Responses
StatusDescriptionSchema
200OKNumberOfMessagesResponse
GET/v2/bot/message/delivery/pnp
Parameters
NameInRequiredType
datequeryyesstring
Responses
StatusDescriptionSchema
200OKNumberOfMessagesResponse
GET/v2/bot/message/delivery/push
Parameters
NameInRequiredType
datequeryyesstring
Responses
StatusDescriptionSchema
200OKNumberOfMessagesResponse
GET/v2/bot/message/delivery/reply
Parameters
NameInRequiredType
datequeryyesstring
Responses
StatusDescriptionSchema
200OKNumberOfMessagesResponse
POST/v2/bot/message/markAsRead
Request body

application/jsonMarkMessagesAsReadRequest (required)

Responses
StatusDescriptionSchema
200OK
POST/v2/bot/message/multicast
Parameters
NameInRequiredType
X-Line-Retry-Keyheadernostring
Request body

application/jsonMulticastRequest (required)

Responses
StatusDescriptionSchema
200OKMulticastResponse
400Bad RequestErrorResponse
403ForbiddenErrorResponse
409ConflictErrorResponse
429Too Many RequestsErrorResponse
POST/v2/bot/message/narrowcast
Parameters
NameInRequiredType
X-Line-Retry-Keyheadernostring
Request body

application/jsonNarrowcastRequest (required)

Responses
StatusDescriptionSchema
202AcceptedNarrowcastResponse
400Bad RequestErrorResponse
403ForbiddenErrorResponse
409ConflictErrorResponse
429Too Many RequestsErrorResponse
GET/v2/bot/message/progress/narrowcast
Parameters
NameInRequiredType
requestIdqueryyesstring
Responses
StatusDescriptionSchema
200OKNarrowcastProgressResponse
POST/v2/bot/message/push
Parameters
NameInRequiredType
X-Line-Retry-Keyheadernostring
Request body

application/jsonPushMessageRequest (required)

Responses
StatusDescriptionSchema
200OKPushMessageResponse
400Bad RequestErrorResponse
403ForbiddenErrorResponse
409ConflictErrorResponse
429Too Many RequestsErrorResponse
GET/v2/bot/message/quota
Responses
StatusDescriptionSchema
200OKMessageQuotaResponse
GET/v2/bot/message/quota/consumption
Responses
StatusDescriptionSchema
200OKQuotaConsumptionResponse
POST/v2/bot/message/reply
Request body

application/jsonReplyMessageRequest (required)

Responses
StatusDescriptionSchema
200OKReplyMessageResponse
400Bad requestErrorResponse
429Too Many RequestsErrorResponse
POST/v2/bot/message/validate/broadcast
Request body

application/jsonValidateMessageRequest (required)

Responses
StatusDescriptionSchema
200OK
POST/v2/bot/message/validate/multicast
Request body

application/jsonValidateMessageRequest (required)

Responses
StatusDescriptionSchema
200OK
POST/v2/bot/message/validate/narrowcast
Request body

application/jsonValidateMessageRequest (required)

Responses
StatusDescriptionSchema
200OK
POST/v2/bot/message/validate/push
Request body

application/jsonValidateMessageRequest (required)

Responses
StatusDescriptionSchema
200OK
POST/v2/bot/message/validate/reply
Request body

application/jsonValidateMessageRequest (required)

Responses
StatusDescriptionSchema
200OK
GET/v2/bot/profile/{userId}
Parameters
NameInRequiredType
userIdpathyesstring
Responses
StatusDescriptionSchema
200OKUserProfileResponse
POST/v2/bot/richmenu
Request body

application/jsonRichMenuRequest (required)

Responses
StatusDescriptionSchema
200OKRichMenuIdResponse
POST/v2/bot/richmenu/alias
Request body

application/jsonCreateRichMenuAliasRequest (required)

Responses
StatusDescriptionSchema
200OK
400Bad RequestErrorResponse
GET/v2/bot/richmenu/alias/list
Responses
StatusDescriptionSchema
200OKRichMenuAliasListResponse
GET/v2/bot/richmenu/alias/{richMenuAliasId}
Parameters
NameInRequiredType
richMenuAliasIdpathyesstring
Responses
StatusDescriptionSchema
200OKRichMenuAliasResponse
POST/v2/bot/richmenu/alias/{richMenuAliasId}
Parameters
NameInRequiredType
richMenuAliasIdpathyesstring
Request body

application/jsonUpdateRichMenuAliasRequest (required)

Responses
StatusDescriptionSchema
200OK
400Bad RequestErrorResponse
DELETE/v2/bot/richmenu/alias/{richMenuAliasId}
Parameters
NameInRequiredType
richMenuAliasIdpathyesstring
Responses
StatusDescriptionSchema
200OK
400Bad RequestErrorResponse
POST/v2/bot/richmenu/batch
Request body

application/jsonRichMenuBatchRequest (required)

Responses
StatusDescriptionSchema
202Accepted
POST/v2/bot/richmenu/bulk/link
Request body

application/jsonRichMenuBulkLinkRequest (required)

Responses
StatusDescriptionSchema
202Accepted
POST/v2/bot/richmenu/bulk/unlink
Request body

application/jsonRichMenuBulkUnlinkRequest (required)

Responses
StatusDescriptionSchema
202Accepted
GET/v2/bot/richmenu/list
Responses
StatusDescriptionSchema
200OKRichMenuListResponse
GET/v2/bot/richmenu/progress/batch
Parameters
NameInRequiredType
requestIdqueryyesstring
Responses
StatusDescriptionSchema
200OKRichMenuBatchProgressResponse
POST/v2/bot/richmenu/validate
Request body

application/jsonRichMenuRequest (required)

Responses
StatusDescriptionSchema
200OK
POST/v2/bot/richmenu/validate/batch
Request body

application/jsonRichMenuBatchRequest (required)

Responses
StatusDescriptionSchema
200OK
GET/v2/bot/richmenu/{richMenuId}
Parameters
NameInRequiredType
richMenuIdpathyesstring
Responses
StatusDescriptionSchema
200OKRichMenuResponse
DELETE/v2/bot/richmenu/{richMenuId}
Parameters
NameInRequiredType
richMenuIdpathyesstring
Responses
StatusDescriptionSchema
200OK
POST/v2/bot/room/{roomId}/leave
Parameters
NameInRequiredType
roomIdpathyesstring
Responses
StatusDescriptionSchema
200OK
GET/v2/bot/room/{roomId}/member/{userId}
Parameters
NameInRequiredType
roomIdpathyesstring
userIdpathyesstring
Responses
StatusDescriptionSchema
200OKRoomUserProfileResponse
GET/v2/bot/room/{roomId}/members/count
Parameters
NameInRequiredType
roomIdpathyesstring
Responses
StatusDescriptionSchema
200OKRoomMemberCountResponse
GET/v2/bot/room/{roomId}/members/ids
Parameters
NameInRequiredType
roomIdpathyesstring
startquerynostring
Responses
StatusDescriptionSchema
200OKMembersIdsResponse
GET/v2/bot/user/all/richmenu
Responses
StatusDescriptionSchema
200OKRichMenuIdResponse
DELETE/v2/bot/user/all/richmenu
Responses
StatusDescriptionSchema
200OK
POST/v2/bot/user/all/richmenu/{richMenuId}
Parameters
NameInRequiredType
richMenuIdpathyesstring
Responses
StatusDescriptionSchema
200OK
POST/v2/bot/user/{userId}/linkToken
Parameters
NameInRequiredType
userIdpathyesstring
Responses
StatusDescriptionSchema
200OKIssueLinkTokenResponse
GET/v2/bot/user/{userId}/richmenu
Parameters
NameInRequiredType
userIdpathyesstring
Responses
StatusDescriptionSchema
200OKRichMenuIdResponse
DELETE/v2/bot/user/{userId}/richmenu
Parameters
NameInRequiredType
userIdpathyesstring
Responses
StatusDescriptionSchema
200OK
POST/v2/bot/user/{userId}/richmenu/{richMenuId}
Parameters
NameInRequiredType
userIdpathyesstring
richMenuIdpathyesstring
Responses
StatusDescriptionSchema
200OK
messaging-api-blob5
GET/v2/bot/message/{messageId}/content
Parameters
NameInRequiredType
messageIdpathyesstring
Responses
StatusDescriptionSchema
200OK
GET/v2/bot/message/{messageId}/content/preview
Parameters
NameInRequiredType
messageIdpathyesstring
Responses
StatusDescriptionSchema
200OK
GET/v2/bot/message/{messageId}/content/transcoding
Parameters
NameInRequiredType
messageIdpathyesstring
Responses
StatusDescriptionSchema
200OKGetMessageContentTranscodingResponse
GET/v2/bot/richmenu/{richMenuId}/content
Parameters
NameInRequiredType
richMenuIdpathyesstring
Responses
StatusDescriptionSchema
200OK
POST/v2/bot/richmenu/{richMenuId}/content
Parameters
NameInRequiredType
richMenuIdpathyesstring
Request body

*/* (required)

Responses
StatusDescriptionSchema
200OK

Try it

Developer reference

Base URLhttps://api.line.me
Rate limit

LINE tiers Messaging API limits per endpoint per channel (developers.line.biz/en/reference/messaging-api/#rate-limits): push, reply, and profile-lookup endpoints allow 2,000 requests/second, multicast messages are capped at 200 requests/second, and broadcast messages are limited to 60 requests/hour; exceeding a tier returns HTTP 429.

Key endpoints
  • POST/v2/bot/message/push
  • POST/v2/bot/message/reply
  • POST/v2/bot/message/broadcast
  • POST/v2/bot/message/multicast
  • GET/v2/bot/profile/{userId}