What Changed in 2025–2026
As of October 2026, the LINE Messaging API changes that matter since 2025 are practical ones: two endpoints got much lower rate limits (multicast and Get rich menu list), new endpoints arrived (mark as read, coupons, rich menu statistics), group chats now send a messageEdited webhook event, a LIFF SDK security fix deprecated LIFF v2.20.0 to v2.31.0, the Node.js SDK v11 removed the legacy Client, LINE MINI Apps opened up in Taiwan and Thailand, and LINE Official Account prices changed in Japan (October 1, 2026) and Taiwan (November 1, 2026). LINE Notify has been shut down since March 31, 2025.
Everything below comes from LINE's developer news and the Messaging API reference, with the date of each announcement. LINE stopped publishing a roadmap for LINE Login and LIFF on December 9, 2025, so this page lists what has shipped, not predictions.
| Date | Change | What to do |
|---|---|---|
| 2026-10-07 | LIFF v2.31.2: the LIFF browser keeps a ? inside query values | Test LIFF apps that pass URLs as query parameters |
| 2026-10-01 | Additional-message fees revised in Japan | Re-check the cost of sends above your plan's allowance |
| 2026-09-30 | LIFF v2.31.1 security fix; v2.20.0–v2.31.0 deprecated | Update @line/liff to 2.31.1 or later now |
| 2026-09-30 | New Taiwan prices announced, effective November 1, 2026 | Re-check your plan |
| 2026-08-12 | Users can edit messages in group chats; new messageEdited event | Handle or ignore the new event type |
| 2026-07-01 | Statistics for rich menus created with the API | Use the new rich menu insight endpoints |
| 2026-05-26 | Get rich menu list: 2,000 → 10 requests per second | Store rich menu IDs instead of listing them |
| 2026-04-03 | @line/bot-sdk v11 removes the legacy Client | Move to LineBotClient on Node.js 22+ |
| 2026-03-11 | LINE MINI Apps can be published in Taiwan and Thailand | Consider a MINI App instead of a plain LIFF app |
| 2025-11-05 | Any channel can mark user messages as read | Use markAsReadToken from the webhook |
| 2025-10-21 | Narrowcast can refuse partial delivery | Set forbidPartialDelivery when needed |
| 2025-08-06 | Coupons can be created and sent through the API | Optional |
| 2025-04-23 | Multicast: 2,000 → 200 requests per second | Throttle multicast; use push for single users |
| 2025-03-31 | LINE Notify shut down | Send notifications with the Messaging API |
Message Pricing and Free Messages by Country
The Messaging API has no price list of its own. Messages sent through it are billed by the LINE Official Account plan of the channel, so the API's "free tier" is the free plan of each market. Per LINE's Messaging API pricing page:
- Counted: push, multicast, broadcast and narrowcast messages, plus broadcasts sent from LINE Official Account Manager.
- Not counted: reply messages (Reply API), 1:1 chat, greeting messages and auto-replies.
- One message per recipient: a push with four message objects to a group of five people counts as five. Users who blocked you, or IDs that don't exist, aren't counted.
- At the limit: the API returns
429with "You have reached your monthly limit." and nothing is sent.
Plans as of October 2026 (prices exclude tax):
Thailand (LINE for Business Thailand, prices exclude 7% VAT)
| Plan | Monthly fee | Messages included | Each additional message |
|---|---|---|---|
| Free | ฿0 | 300 | Not available |
| Basic | ฿1,280 | 15,000 | ฿0.10 |
| Pro | ฿1,780 | 35,000 | ฿0.06 |
Japan (LINE公式アカウント pricing)
| Plan | Monthly fee | Messages included | Each additional message |
|---|---|---|---|
| Communication | ¥0 | 200 | Not available |
| Light | ¥5,000 | 5,000 | Not available |
| Standard | ¥15,000 | 30,000 | ¥3 up to 200,000 a month, then ¥2.5 (since October 1, 2026) |
Taiwan (LINE官方帳號 2026 price announcement)
| Plan | Monthly fee until Oct 31, 2026 | Monthly fee from Nov 1, 2026 | Messages included | Additional messages |
|---|---|---|---|---|
| Light usage (輕用量) | NT$0 | NT$0 | 200 | Not available |
| Medium usage (中用量) | NT$800 | NT$1,000 | 3,000 | Not available (upgrade instead) |
| High usage (高用量) | NT$1,200 | NT$1,400 | 6,000 | From Nov 1: NT$0.2 each for the first 50,000, then NT$0.15 |
So the free monthly allowance is 300 messages in Thailand and 200 in Japan and Taiwan, and replies are free in all three markets. Thailand has no "Light ฿749" or "Standard ฿1,499" plan, whatever older articles say. To check where a channel stands, call the quota endpoints:
# Monthly limit of the plan
curl -H "Authorization: Bearer $LINE_CHANNEL_ACCESS_TOKEN" https://api.line.me/v2/bot/message/quota
# Messages counted so far this month
curl -H "Authorization: Bearer $LINE_CHANNEL_ACCESS_TOKEN" https://api.line.me/v2/bot/message/quota/consumption
Plan-by-plan comparisons and worked examples are in our LINE Official Account pricing guide.
Messaging API Features Added or Changed
Mark messages as read (November 5, 2025)
The "mark as read" API used to be limited to approved corporate partners. Now any channel can use it: message events carry a markAsReadToken, and POST https://api.line.me/v2/bot/chat/markAsRead marks that message and all earlier ones as read. It only works when Chat is turned on in the response settings of LINE Official Account Manager; with Chat off, LINE marks messages as read automatically. (news, guide)
import { LineBotClient, webhook } from "@line/bot-sdk"
const client = LineBotClient.fromChannelAccessToken({
channelAccessToken: process.env.LINE_CHANNEL_ACCESS_TOKEN!,
})
// Marks the user's message, and everything before it, as read
async function markRead(event: webhook.Event) {
if (event.type !== "message" || event.message.type !== "text") return
const token = event.message.markAsReadToken
if (token) await client.markMessagesAsReadByToken({ markAsReadToken: token })
}
Coupons through the API (August 6, 2025)
Four endpoints (create with POST /v2/bot/coupon, discontinue, list, get details) and a coupon message type let you create and send coupons from code instead of building them by hand in LINE Official Account Manager. (news)
Narrowcast that refuses partial delivery (October 21, 2025)
With upToRemainingQuota: true, a narrowcast goes out to as many recipients as your remaining quota allows. Adding forbidPartialDelivery: true cancels the send instead when the audience is larger than that maximum; the narrowcast progress endpoint then shows phase: "failed" with errorCode: 5. (news)
"limit": {
"upToRemainingQuota": true,
"forbidPartialDelivery": true
}
Multicast limited to 200 requests per second (April 23, 2025)
Send multicast message dropped from 2,000 to 200 requests per second per channel. Each request still takes up to 500 user IDs. For a single recipient, LINE recommends push messages, which stay at 2,000 requests per second. (news)
Membership, shared audiences and Tracking Tag audiences
- Membership (February 13, 2025): an endpoint returns the user IDs of your paid membership members, and a
membershipwebhook event fires when someone joins, renews or leaves. (news) - Shared audiences (February 12, 2025): narrowcasts can target audiences shared in Business Manager. (news)
- Tracking Tag audiences (January 21, 2026): web-traffic audiences built with Tracking Tag work with the API, for Japanese accounts that are verified or premium and connected to an authenticated Business Manager organization. (news)
Edited messages in group chats (August 12, 2026)
Users can now edit text messages they sent in a group chat that includes your LINE Official Account. Your webhook receives a messageEdited event (group chats only, not 1:1 or multi-person chats) that includes a reply token. If your bot stores or moderates group messages, update the stored text when this event arrives. The Node.js SDK added the type in v11.2.0. (news)
Smaller changes worth knowing
| Date | Change |
|---|---|
| 2026-09-30 | The Messaging API, LINE Login and LINE MINI App demo apps were discontinued |
| 2026-08-17 | Call endpoints exactly as written in the reference: a trailing slash (/v2/bot/message/push/) makes behavior undefined (news) |
| 2026-04-08 | Documentation source published as Markdown on GitHub |
| 2026-02-12 | New "Tips for Developers" section on the LINE Developers site |
| 2025-12-02 | Docs available as Markdown, plus an llms.txt index for AI tools |
| 2025-11-26 | Sent-message statistics removed from the console's Statistics tab: use GET /v2/bot/insight/message/delivery or the Insight tab of LINE Official Account Manager |
| 2025-11-10 | New guide on how message impressions are measured |
| 2025-06-25 | Japan: new LINE Official Accounts must connect to Business Manager, existing ones by March 2026 |
| 2025-06-10 | New Verify webhook signature guide (our Express middleware example applies it) |
| 2025-04-14 | LINE Bot MCP Server published as a trial, so AI agents can send messages through the Messaging API |
Rich Menu Changes and the 1,000 Limit
- Get rich menu list is limited to 10 requests per second since May 26, 2026 (it was 2,000). If your code lists menus on every request to find an ID, store the IDs in your database or use rich menu aliases. (news)
- Statistics for rich menus created with the API (July 1, 2026):
GET /v2/bot/insight/richmenu/{richMenuId}/summaryand.../dailyreturn views and clicks for a period. They're limited to 60 requests per hour and return no figures when fewer than 20 unique users clicked. These numbers don't appear in LINE Official Account Manager, and Manager's own rich menu statistics aren't in the API. (news) - The 1,000 limit hasn't changed: a LINE Official Account can have up to 1,000 rich menus and 1,000 rich menu aliases created through the Messaging API. Creating and deleting rich menus is limited to 100 requests per hour (menus made in LINE Official Account Manager don't count), and the batch link/unlink endpoint to 3 per hour.
Actions you can put on rich menu areas:
| Action | What it does | Notes |
|---|---|---|
uri | Opens a URL, a LIFF or MINI App URL, or a LINE URL scheme | |
message | Sends a fixed text as if the user typed it | Works with keyword auto-replies |
postback | Sends a postback event with data to your webhook | Can also open or close the rich menu or the keyboard |
datetimepicker | Opens a date or time picker; the result arrives in a postback | |
richmenuswitch | Switches to another rich menu through its alias | Rich menus only |
Camera, camera roll and location actions only work on quick reply buttons, not in rich menus. For image sizes and tap-area layouts, see the LINE rich menu size guide.
LINE MINI App Changes
LINE is folding LIFF into the LINE MINI App brand, and most MINI App news since 2025 follows from that:
- New LIFF apps should be MINI Apps (February 12, 2025). LINE recommends creating new LIFF apps as LINE MINI Apps; existing LIFF apps keep working. (news)
- Open in any web browser (October 1, 2025). Everyone, including people without LINE, can open a MINI App in a web browser from its landing page; the old "redirect to browser" option ended. (news)
- Japan: channel consent simplification always on (January 8, 2026) for new MINI App channels set to Japan. Channels for Thailand and Taiwan aren't affected. (news)
- Japan: in-app purchases (February 19, 2026). Verified MINI Apps in Japan can sell digital content after an in-app purchase review; service fees apply to usage from July 2026. (news)
- Taiwan and Thailand (March 11, 2026). Customers permitted under the LINE MINI App Policy can create MINI App channels for services in Taiwan and Thailand and publish them as unverified MINI Apps. Only channels under a certified provider can apply for verified status there. (news)
The LINE MINI App Policy was revised several times this year, most recently on October 14, 2026, so read the current version before you submit. If you want a MINI App or a LIFF app built for your business, we do that as custom LINE app development.
LIFF Changes and the v2.31.1 Security Update
Update now. On September 30, 2026, LINE released LIFF v2.31.1 to fix an issue with potential security implications (it occurs when a LIFF app is opened in an external browser with crafted query parameters) and deprecated LIFF v2.20.0 through v2.31.0. Apps that load the SDK from the edge CDN path (https://static.line-scdn.net/liff/edge/2/sdk.js) were updated automatically. Apps that install @line/liff from npm or pin a fixed CDN version must update themselves. (release notes)
npm install @line/liff@latest # 2.31.2 as of October 2026
Other LIFF SDK changes:
| Version (date) | Change |
|---|---|
| v2.31.2 (2026-10-07) | In the LIFF browser, a ? inside a query value is no longer replaced with & |
| v2.30.0 (2026-08-17) | New arguments for liff.permission.requestAll(), liff.getFriendship() and liff.requestFriendship() when "Use multiple accounts" is enabled on a MINI App channel |
| v2.28.0 (2026-03-24) | liff.requestFriendship() asks the user to add or unblock your LINE Official Account |
| v2.27.2 (2025-09-08) | Console warning when liff.init() runs outside the endpoint URL |
| v2.27.0 (2025-06-25) | liff.permission.getGrantedAll() returns the scopes the user granted |
Changes in the LINE app that affect LIFF apps:
- LINE 15.12.0 (August 4, 2025): a multi-tab view lets users keep several LIFF apps open and switch between them.
- LINE 15.20.0 (December 3, 2025):
liff.openWindow()opens universal links and app links in LINE's in-app browser unless you passexternal: true. - LINE for Android 26.3.0 (from March 9, 2026): edge-to-edge layout; the view extends under the navigation bar, so pad buttons at the bottom with
env(safe-area-inset-bottom). - LINE 26.7.0 (May 19, 2026): a new LIFF browser header with a ⋮ menu (refresh, share, minimize, permissions and more).
Also: the LIFF CLI officially supports ngrok since v0.4 (use v0.4.1 or later), and LINE Notify ended on March 31, 2025; its API stopped working the next day. If you still send alerts through Notify, see LINE Notify alternatives. For a complete LIFF tutorial, read our LIFF app development guide.
SDK Changes: Node.js v11, Python v3, PHP
Node.js (@line/bot-sdk). Versions 10.8.0 and 11.0.0 came out the same day, April 3, 2026. v10.8.0 added the unified LineBotClient and deprecated the old API; v11.0.0 removed the legacy Client and OAuth classes and the optional axios dependency. v11.0.1 dropped Node.js 20, so the SDK now needs Node.js 22 or later (11.3.0 is current). Coming from v9 or v10, upgrade to 10.8.0 first and clear the deprecation warnings. (releases)
// Before (legacy client, removed in v11):
// const client = new Client({ channelAccessToken, channelSecret })
// await client.replyMessage(event.replyToken, { type: "text", text: "Hi" })
// v11: one client, request objects instead of positional arguments
import { LineBotClient, webhook } from "@line/bot-sdk"
const client = LineBotClient.fromChannelAccessToken({
channelAccessToken: process.env.LINE_CHANNEL_ACCESS_TOKEN!,
})
async function reply(event: webhook.MessageEvent) {
if (!event.replyToken) return
await client.replyMessage({
replyToken: event.replyToken,
messages: [{ type: "text", text: "Hi" }],
})
}
Webhook types now live in the webhook namespace (webhook.Event, webhook.MessageEvent), and messagingApi.MessagingApiClient is still available. A full Express setup with signature validation is in our @line/bot-sdk Express middleware example.
Python (line-bot-sdk). Only the linebot.v3 modules are maintained; the 2.x style (LineBotApi, TextSendMessage) prints deprecation warnings. Version 3.26.0 needs Python 3.10 or later. (repository)
PHP (linecorp/line-bot-sdk). v12 requires PHP 8.2 or later; signatures are checked with \LINE\Parser\SignatureValidator::validateSignature(). (repository)
Java, Go and Ruby also have official SDKs; check their release notes before upgrading.
Migration Checklist for Existing Bots
- Update
@line/liffto 2.31.1 or later (2.31.2 is current), or load the edge CDN path - Test LIFF apps that pass URLs in query parameters (v2.31.2 behavior)
- Node.js bots: run Node.js 22+, upgrade
@line/bot-sdkvia 10.8.0 to 11.x, replacenew Client()withLineBotClient.fromChannelAccessToken() - Python bots: move to
linebot.v3 - Stop calling Get rich menu list on every request; store rich menu IDs or aliases
- Keep multicast under 200 requests per second; use push for single users
- Group bots: handle or explicitly ignore
messageEditedevents - Calling the API without an SDK? Check every endpoint path (no trailing slash)
- Narrowcast: add
forbidPartialDeliveryif a partial send is worse than no send - Replace anything still built on LINE Notify
- Read delivery counts from
/v2/bot/insight/message/deliveryinstead of the console Statistics tab - Re-check your plan: Japan fees changed on October 1, Taiwan prices change on November 1, 2026
- Android: check bottom-of-screen buttons in LIFF apps with
env(safe-area-inset-bottom) - Japan: connect the LINE Official Account to Business Manager
How LineBot.pro Fits In
LineBot.pro is not an SDK or an API wrapper and has no public API, so none of the changes above changes how you use it. Two parts are useful when you build on the Messaging API yourself:
- The AI Rich Message generator designs a Flex Message bubble (hero image, text, button) and gives you its JSON, ready to send with
replyMessageorpushMessage. It costs 8 credits. - The Rich Menu generator creates a 1–6 button menu image plus its JSON, which you can create through the API or upload in LINE Official Account Manager. It costs 10 credits.
New accounts get 50 free credits; credits come in one-time packs, with no subscription, and never expire (pricing). If you'd rather have the integration built (a Messaging API backend, a LIFF app or a LINE MINI App), that's custom development on request.
Frequently Asked Questions
Q: What are the most important LINE Messaging API changes in 2026?
The LIFF v2.31.1 security update (v2.20.0 to v2.31.0 deprecated), the Node.js SDK v11 removing the legacy Client, the Get rich menu list limit dropping to 10 requests per second, new rich menu statistics endpoints, the messageEdited event in group chats, LINE MINI Apps opening in Taiwan and Thailand, and new LINE Official Account prices in Japan (October 1) and Taiwan (November 1).
Q: How many free messages does the LINE Messaging API include per month? It depends on the LINE Official Account plan of the channel. Free plans include 300 messages a month in Thailand and 200 in Japan and Taiwan. Paid plans include 15,000 or 35,000 (Thailand), 5,000 or 30,000 (Japan) and 3,000 or 6,000 (Taiwan). Replies never count.
Q: Is the LINE rich menu limit still 1,000? Yes. As of October 2026, a LINE Official Account can have up to 1,000 rich menus and 1,000 aliases created through the Messaging API. Delete unused menus to make room; creating and deleting is limited to 100 requests per hour.
Q: Do I have to upgrade @line/bot-sdk to v11?
Nothing breaks on a fixed date, because older versions call the same HTTP endpoints. But v11 removed the legacy Client, new endpoints and event types only ship in current versions, and v11 needs Node.js 22 or later. Plan the move: upgrade to 10.8.0, fix the deprecation warnings, then go to 11.x.
Q: Is LIFF being replaced by LINE MINI App? LINE says LIFF will be integrated into the LINE MINI App brand and recommends creating new LIFF apps as MINI Apps. Existing LIFF apps keep working, and MINI Apps are still built with the LIFF SDK (v2.31.2 as of October 2026).
Q: Are reply messages still free? Yes. Messages sent with a reply token don't count toward the monthly quota in any market. A reply token can be used once and should be used right away: LINE only guarantees it within one minute of the webhook.
Next steps:
- Update your webhook code with the @line/bot-sdk Express middleware example
- Build or update a LIFF app with the LIFF app development guide
- Compare plans in the LINE Official Account pricing guide
- Want it built for you? See our LINE development services



