App running costs in Singapore and Malaysia: the third-party bills
Most of what an app costs to run each month in Singapore or Malaysia is other companies’ bills: hosting, maps, SMS, email, payments and AI. In the worked month below, one build decision, SMS login codes to Malaysian numbers, is 90.6% of a US$1,122.50 bill.
In short
- A small app’s third-party bills can stay under US$50 a month on free tiers. The worked month, with 3,000 SMS login codes to Malaysian numbers, comes to US$1,122.50 before payment fees, database and tax.
- At Twilio’s list price, 3,000 SMS login codes a month to Malaysian numbers cost US$1,016.70, which is 90.6% of the worked month. The same codes as WhatsApp authentication messages cost US$42 on Meta’s rate card effective 1 October 2026.
- Google Maps replaced its US$200 monthly credit on 1 March 2025 with free usage per product: 10,000 free calls a month for most Essentials products, then US$7 per 1,000 Dynamic Maps loads.
- Stripe charges 3.4% + S$0.50 per card payment in Singapore and 3% + RM1.00 in Malaysia, FPX included. Billplz lists flat FPX fees of RM3 or less, so a RM5,000 invoice costs RM151 through Stripe and RM3 or less through Billplz.
- Overseas digital services are taxed: 9% goods and services tax (GST) in Singapore unless a GST-registered business gives the vendor its GST number, and 8% service tax in Malaysia on digital services from registered foreign providers.
Two price changes since March 2025 make older guides to app running costs wrong. Google Maps dropped its US$200 monthly credit on 1 March 2025, and Amazon SES put new accounts on a US$0.16 per 1,000 plan on 21 July 2026.
App running costs in Singapore and Malaysia are mostly other companies’ bills, and they stay small until one usage-priced line takes over. A small app can run on under US$50 a month of third-party services. The worked month below comes to US$1,122.50 before payment fees, database and tax, and 90.6% of that is one build decision: login codes sent by SMS to Malaysian numbers, at US$0.3389 each.
This guide lists the services a business app pays other companies for, each at its published price, and adds them up for one worked month. Each price links to the provider’s own pricing page, and we read it there on 17 October 2026 unless a line says otherwise. Most are in US dollars and providers change them, so treat each figure as a starting estimate. Developer time for maintenance is a separate budget, noted at the end.
1. App running costs come from ten kinds of service, and the per-use ones grow with users
A business app pays for at least three things: somewhere to run, a way to log people in and a way to message them. Beyond those, the list depends on what the app does. Here are the ten kinds of service a business app in Singapore or Malaysia pays other companies for, and how each one charges:
| Service | Typical use | How it is priced |
|---|---|---|
| Hosting and database | Running the app and storing its data | Monthly plan, then usage |
| App stores | Publishing an iOS or Android app | Annual or one-time fee; commission on digital sales |
| Maps | Showing locations, addresses, routes | Per 1,000 calls, after a free monthly allowance |
| SMS | Login codes, alerts | Per message segment, by destination country |
| Notifications, customer replies | Per message, by category and country | |
| Receipts, password resets, notifications | Per 1,000 emails or monthly plan | |
| Payments | Card, PayNow, FPX | Percentage, fixed fee or both, per transaction |
| Document processing | Reading invoices, forms, claims | Per page |
| AI models | Extraction, search, assistants | Per million tokens |
| Login and monitoring | User accounts, error reports | Free tiers, then monthly plans |
At low volume, most of these lines are small. The ones to watch charge per use: per message, per map load, per page, per token. They grow with the number of users, and one design decision, such as sending an SMS code at every login, can multiply them.
2. Hosting is a small share of app running costs, from US$5 a month
Hosting is one of the smaller lines for a business app. Two US$5 plans show the shape of it:
- Cloudflare Workers: the paid plan is US$5 a month for 10 million requests (nearly four a second, around the clock) and 30 million CPU milliseconds, then US$0.30 per million requests and US$0.02 per million CPU milliseconds, with no charge for data transfer out (Cloudflare Workers pricing).
- Amazon Lightsail: the US$5 Linux bundle has 0.5 GB of memory, 2 vCPUs, 20 GB of storage and 1 TB of transfer, and the Singapore region gets that full transfer allowance while the Malaysia and Jakarta regions get half (Amazon Lightsail pricing).
A production app also needs a managed database, backups and a staging copy for testing. They add to that figure, and this guide doesn’t price them, because they depend on the provider and the size of the data. What matters more than the starting price is the shape of the bill: how it grows with users, and whether the provider charges for data transfer out.
Ask your developer for an estimate at today’s usage and at ten times today’s usage.
3. Most business apps pay app store account fees and no commission
The account fees are flat: US$99 a year for Apple and US$25 once for Google. To publish an iOS app, your company needs an Apple Developer Program membership at US$99 a year (Apple Developer Program enrolment). Google Play charges a one-time US$25 registration fee (Google Play developer registration).
A booking app pays no store commission. The commission applies only to digital goods and subscriptions sold inside the app, and a booking, an order for physical goods or a staff tool sells nothing through the store. An internal tool built as a web app avoids the store fees and the review process as well.
Where an app does sell digital goods, the rates are:
- Apple: the Small Business Program takes 15% instead of the standard commission, for developers with no more than US$1 million in proceeds in the previous calendar year, for as long as they stay within US$1 million in the current year (Apple Small Business Program).
- Google Play, current rates: in markets such as Singapore and Malaysia, developers enrolled in the 15% tier pay 15% on the first US$1 million a year and 30% above that (Google Play service fees, checked 17 October 2026).
- Google Play, 2026 structure: lower fees on the first US$1 million and a separate billing fee, in the European Economic Area (EEA), the UK and the US since 30 June 2026 and in Australia and Japan since 30 September 2026. Singapore and Malaysia come under Google’s date for the rest of the world, 30 September 2027, and keep the current rates until then (Google Play’s 2026 fee changes, checked 17 October 2026).
4. Google Maps replaced its US$200 credit with free calls per product
Google changed Maps billing on 1 March 2025, and the US$200 monthly credit went with it. Guides written before that date describe the credit. Google’s own page on the change says (Google Maps Platform, March 2025 changes, checked 17 October 2026):
“Google has replaced the USD $200 monthly recurring credit with a free monthly usage threshold for each Core Services SKU.”
Per SKU is the part that matters. A SKU is Google’s billing unit for one product feature, and the credit used to cover any mix of them. Now each one has its own allowance, which varies by category: for most products, 10,000 free calls a month at the Essentials tier, 5,000 at Pro and 1,000 at Enterprise (Google Maps Platform pricing).
Above the allowance, Google’s Essentials prices per 1,000 calls are US$7 for Dynamic Maps, US$5 for Geocoding, US$5 for Compute Routes, US$2.83 for Autocomplete Requests and US$2 for Static Maps (Google Maps Platform pricing). At 20,000 interactive map loads a month, the first 10,000 are free and the other 10,000 cost US$70.
Three engineering choices keep this line down:
- Static before dynamic: a static map image costs US$2 per 1,000 against US$7 for an interactive map, and a map the user never pans or zooms doesn’t need to be interactive.
- Geocode once: geocoding an address once and storing the coordinates, where Google’s terms allow it, costs less than geocoding it on every page view.
- Quotas: a daily quota on each API in the Google Cloud console caps the bill if a bug or a bot starts calling it in a loop.
5. An SMS login code to Malaysia costs US$0.3389, more than five times the Singapore rate
A one-time password (OTP) by SMS costs more than five times as much to send to Malaysia as to Singapore. Twilio lists US$0.0591 per outbound SMS segment to Singapore numbers (Twilio, Singapore) and US$0.3389 to Malaysian numbers (Twilio, Malaysia), and notes that carrier fees may come on top. Twilio Verify, which generates and checks the codes, adds US$0.05 per successful verification (Twilio Verify pricing).
The price follows the destination country, whatever the size of the app. At 3,000 codes a month, it’s US$177.30 to Singapore and US$1,016.70 to Malaysia:
Side note: Verify’s fee is per successful verification, so a code that expires unused costs the SMS and nothing more.
Singapore adds a fixed cost if you want your company name as the sender. A business registers its sender ID with the SMS Sender ID Registry run by SGNIC (Singapore Network Information Centre): S$545 to set up the organisation’s account and S$218 a year for each sender ID, both including goods and services tax (GST) (SGNIC, SMS Sender ID Registry). One sender ID costs S$763 in the first year and S$218 a year after that.
Since 31 January 2023, messages to Singapore numbers from unregistered sender IDs carry the label “Likely-SCAM” (SGNIC FAQ).
A segment is one SMS, and a long message is two or more of them, each charged. One segment holds 160 characters in the standard GSM-7 encoding, or 70 once the message contains a character outside it, such as an emoji or a Chinese character, and anything longer splits into parts (Twilio, how long can a message be, checked 17 October 2026). Keep the code message short and plain.
SMS is also a fraud target: in “SMS pumping”, bots request codes to expensive numbers and you pay for every message, so cap how many codes the app sends per number and per day.
Other providers price Malaysian numbers differently, so get two or three quotes at your volume. Plivo lists a lower rate for most Malaysian networks and mentions volume discounts (Plivo, Malaysia). Even so, SMS costs far more per code than the other channels:
| Channel | Cost per code | 3,000 codes a month | Source |
|---|---|---|---|
| SMS via Twilio, to Malaysia | US$0.3389 | US$1,016.70 | Twilio Malaysia pricing |
| WhatsApp authentication, to Malaysia | US$0.0140 | US$42.00 | Meta WhatsApp pricing, checked 13 October 2026 |
| Email via Amazon SES (Essentials) | US$0.00016 | US$0.48 | Amazon SES pricing |
What each alternative involves:
- Email codes or magic links: the cheapest channel in the table, provided the sending domain has the records that keep codes out of spam (section 6).
- WhatsApp authentication messages: the table uses Meta’s US-dollar rate card effective 1 October 2026, which we last checked on 13 October 2026 (WhatsApp Business Platform pricing).
- The international rate: a business based outside Malaysia pays the higher authentication-international rate, US$0.0418 on the same card, only once Meta has told it that it is eligible (Meta, authentication-international rates).
- Passkeys or staying signed in: either one lets a trusted device skip the code at most logins, which removes most of the messages.
Marketing and utility messages are priced on the same rate cards, which the WhatsApp Business API pricing guide sets out for Malaysia and Singapore. In a CRM (customer relationship management) system with a WhatsApp inbox, those messages and the replies to them sit in one inbox with the deal they belong to.
Still, SMS is the right channel for some users and some risks. Choose it deliberately, and ask for a code only when a login needs one.
6. Email costs under US$0.20 per 1,000 messages, and deliverability is the real work
Transactional email is cheap at almost any volume. Receipts, password resets and notifications cost cents per thousand:
- Amazon SES: since 21 July 2026, new accounts start on the Essentials plan at US$0.16 per 1,000 emails, as do accounts that haven’t used SES in a region since 1 June 2025, and any account can switch to à la carte pricing at US$0.10 per 1,000 plus US$0.12 per GB of attachments (Amazon SES pricing).
- Resend: a free plan of 3,000 emails a month, capped at 100 a day, then US$20 a month for 50,000 with no daily limit (Resend pricing).
- Postmark: the Basic plan is US$15 a month for 10,000 emails (Postmark pricing).
At 30,000 emails a month, SES Essentials costs US$4.80, less than the US$5 hosting plan.
Deliverability is where the engineering time goes. A sending domain needs SPF, DKIM and DMARC records, or receipts, reset links and the login codes from section 5 land in spam.
7. Payment fees grow with sales, and a flat FPX fee wins on large invoices
The gateway takes a cut of every sale, so for an app that takes money it can be the largest third-party line. That makes the gateway one of the decisions in ecommerce development, and Stripe’s published rates are the reference point:
| Market | Domestic cards | Other methods | Extras |
|---|---|---|---|
| Singapore (Stripe SG) | 3.4% + S$0.50 | PayNow 1.3% | +0.5% international cards; +2% currency conversion |
| Malaysia (Stripe MY) | 3% + RM1.00 | FPX 3% + RM1.00; GrabPay 3% | +1% international cards; +2% currency conversion |
On a S$100 card payment in Singapore, Stripe’s fee is S$3.90, and through PayNow it’s S$1.30. The gap widens with the amount: on a S$2,180 enrolment fee, the kind the parent portal we built for a Singapore school group collects, the same rates come to S$74.62 by card and S$28.34 by PayNow.
On a large invoice, a flat fee beats a percentage. Stripe prices FPX, Malaysia’s online bank transfer network, like a domestic card, so on a RM5,000 invoice its fee is RM151 whether the customer pays by card or FPX. Billplz, a Malaysian gateway, lists a flat fee per FPX payment instead:
- FPX B2C, from a personal bank account: just over RM1 on the free Basic plan and less than RM1 on the Standard plan, which costs RM999 a year (Billplz pricing).
- FPX B2B, from a corporate account: RM3 on Basic and RM2 on Standard.
The same RM5,000 invoice then costs RM3 or less in fees, against RM151. If your customers pay large invoices, offer bank transfer first.
8. Document processing costs US$0.0015 to US$0.05 a page, depending on the feature
Apps that read documents pay per page, and the feature you pick sets the price more than the page count does. Amazon Textract lists US$0.0015 per page for plain text detection, US$0.01 for Analyze Expense, which reads invoices and receipts, and US$0.05 for form extraction (Amazon Textract pricing). Those are the prices for the first million pages a month in US West (Oregon), the region AWS quotes in its examples, so check the price in the region you use.
At 5,000 pages a month, the same pages cost:
- Plain text detection: US$7.50.
- Analyze Expense, for invoices and receipts: US$50.
- Form extraction: US$250, 33 times the plain-text price.
The OCR vs AI document extraction post says when plain optical character recognition (OCR) is enough and when a model is worth the extra, and the post on Claude inside our systems shows the pipeline our ERP, WMS and EAM use for invoices, delivery orders and certificates.
9. The same 10,000 AI questions cost US$4.50 on one model and US$180 on another
Model providers charge per million tokens, and the gap between models is wide. Anthropic lists Claude Haiku 5.5 at US$0.10 input and US$0.50 output per million tokens, Claude Sonnet 5.5 at US$2 and US$10, and Claude Opus 5.5 at US$4 and US$20 (Anthropic pricing, checked 17 October 2026). The Haiku price applies to prompts of up to 100,000 tokens, which covers the questions below, and a longer prompt pays US$0.50 input and US$2.50 output.
At 10,000 questions a month, with about 2,000 input and 500 output tokens each, the month costs:
- Claude Haiku 5.5: US$4.50.
- Claude Sonnet 5.5: US$90, 20 times the Haiku price.
- Claude Opus 5.5: US$180, 40 times the Haiku price and twice the Sonnet price.
One limit on those figures: Anthropic’s pricing page says its Claude 4.7 and later models, these three included, use a newer tokenizer that produces about 30% more tokens for the same text than earlier models. Token counts measured on an older model therefore run low, so count them on the model you plan to use.
Pick the model by the task. Most AI work in an app is small: sorting a message, routing a request, a short summary. Haiku 5.5 is enough for that. Sonnet 5.5 is our default for reading invoices with line items, answering from documents with citations and drafting replies, and we test Haiku on the same documents to see whether it holds up. Opus 5.5 earns its price only on multi-step analysis, such as tracing the cause of a stock variance, or on the cases that fail the checks on the cheaper models.
The prices are the same whether AI is the core of a new app or an addition to existing systems through AI integration services.
10. Login, push and error monitoring are free until the app outgrows the tiers
Three lines cost a small app nothing, up to a limit:
- Login: Firebase Authentication is free up to 50,000 monthly active users, though phone sign-in bills per SMS (Firebase pricing), Clerk’s free plan covers 50,000 monthly retained users (Clerk pricing) and Auth0’s free plan 25,000 monthly active users (Auth0 pricing).
- Push notifications: Firebase Cloud Messaging has no charge (Firebase pricing).
- Error monitoring: Sentry’s free Developer plan includes 5,000 errors a month, and its Team plan is US$26 a month, billed annually (Sentry pricing).
Free tiers are a fair choice for a first version. Note the limits, because an app crosses them in the month it gains users, and the paid plan starts then.
11. A worked month at these prices comes to US$1,122.50, and 90.6% of it is SMS
At 3,000 SMS login codes a month to Malaysian numbers, the codes are 90.6% of the bill. The worked month adds those codes to 20,000 interactive map loads and 30,000 emails, and prices each line at the list prices in sections 2 to 10. Hosting is on Cloudflare Workers, login and push notifications on Firebase, email on the Amazon SES Essentials plan that new accounts start on, and error monitoring on Sentry’s Team plan. The volumes are round inputs for the arithmetic and don’t come from a client’s app, so put your own in their place.
Three things sit outside the table:
- Verification: the codes go out through Twilio’s messaging API in a custom flow rather than Firebase’s phone sign-in, which bills its own SMS, and handling them with Twilio Verify instead would add up to US$150 (3,000 × US$0.05).
- Payments: card and FPX payments through Stripe come on top, at 3% + RM1.00 each in Malaysia (Stripe Malaysia pricing).
- Database: the database, backups and staging copy aren’t priced here, because they depend on the provider and the size of the data.
The month, at list prices:
| Line | Usage | Cost (US$) |
|---|---|---|
| Hosting (Cloudflare Workers) | Within plan | 5.00 |
| SMS login codes (Twilio list price, to Malaysia) | 3,000 × US$0.3389 | 1,016.70 |
| Maps (Dynamic Maps, Essentials) | 10,000 free, then 10,000 × US$7 / 1,000 | 70.00 |
| Email (Amazon SES, Essentials plan) | 30,000 × US$0.16 / 1,000 | 4.80 |
| Login and push (Firebase) | Under free limits | 0.00 |
| Error monitoring (Sentry Team) | Annual plan, per month | 26.00 |
| Total, excluding database, payment fees and tax | 1,122.50 |
Google Maps is 6.2% of the bill, and hosting, email and error monitoring together come to US$35.80, or 3.2%. Every line except SMS adds up to US$105.80, and the SMS line is 9.6 times that.
The options for the login codes, at the per-code prices in section 5:
- Keep SMS through Twilio: US$1,016.70 a month, and the total stays at US$1,122.50.
- Send WhatsApp authentication messages: US$42, for a total of US$147.80.
- Send email codes or magic links: US$0.48, for a total of US$106.28.
- Add passkeys and keep SMS as the fallback: some fraction of the 3,000 codes, which depends on how many logins come from a trusted device, a number to measure rather than assume.
Our choice would be WhatsApp or email for the code, with SMS as the fallback for users who have neither. The bill drops from US$1,122.50 to US$147.80 or US$106.28, so one build decision cuts it by 87% to 91%. The setup cost is real but one-off: WhatsApp needs a Meta business account and an approved authentication template, and email needs the domain records from section 6.
12. Overseas bills carry 9% GST in Singapore and 8% service tax in Malaysia
Where a provider bills from overseas, both countries tax the service, and the invoice may or may not show it, so check each one. The rules differ by country and by whether your business is registered for the tax.
Singapore: 9% GST, unless you give the vendor your GST number. Overseas vendors whose global turnover exceeds S$1 million and whose sales to Singapore consumers exceed S$100,000 must register under the Overseas Vendor Registration regime of IRAS (Inland Revenue Authority of Singapore) (IRAS, overseas businesses). They charge GST at the current rate of 9% (IRAS, current GST rates) to customers who aren’t GST-registered.
A GST-registered business that gives the vendor its GST number isn’t charged GST, and accounts for it under reverse charge only if it can’t claim full input tax. A business without GST registration pays the 9% on top of the US-dollar price, so the worked month’s US$1,122.50 becomes about US$1,224.
Malaysia: 8% service tax on digital services from registered foreign providers. Foreign providers registered for service tax charge 8% on digital services supplied to consumers in Malaysia, up from 6% before 1 March 2024, according to the Royal Malaysian Customs Department (RMCD) (RMCD guideline on the change to 8%). The rate changed once in 2024 and the rules may change again, so confirm your position with your tax adviser.
Side note: a US-dollar invoice with no tax line isn’t always a mistake, since the vendor may be below the registration threshold or you may have given it your GST number.
The other cost of overseas billing is the exchange rate. Every US-dollar line in the worked month moves with the ringgit or the Singapore dollar, and a card payment in a foreign currency can carry a conversion fee from your bank.
13. Takeaways
Estimate the per-use lines before the build. For each paid service, write down the expected monthly volume and the price, and ask your developer for the same table at ten times today’s usage. In the worked month, that table shows the SMS line before a single code goes out.
Choose the cheaper channel by default. Email or WhatsApp before SMS, static maps before interactive ones, plain text detection before form extraction, a smaller AI model before a larger one, wherever the cheaper option does the job. The pairs in this guide differ by a factor of three and a half (static against dynamic maps) to more than 2,000 (email against SMS to Malaysia).
Set quotas and budget alerts on every usage-priced API. Most providers let you cap usage or send an alert at a spending level, and a bug that calls an API in a loop should trip an alert the same day.
Register the accounts to your company. Hosting, app stores, payments, maps and messaging belong in your business’s name, paid with your card, with the developer added as a user. Owning the source code matters less if the accounts it runs on belong to someone else.
Review the bill every quarter. Providers change prices and free tiers, as Google Maps did in March 2025 and Amazon SES did in July 2026, and the pages linked in this guide are the ones to recheck.
The bills above are only part of what an app costs after launch. Developer time for bug fixes, operating system and library updates and new features is a separate budget, in web app development and mobile app development alike. If you’re planning an app, tell us what it needs to do: we reply within 24 hours, and you talk to the technical lead.
Frequently asked questions
How much does it cost to run an app each month?
For a small app, the third-party bills can stay under US$50 a month: hosting from US$5, and free tiers for login, push notifications and error monitoring. Usage-priced lines change that fast. In the worked month in this guide, 3,000 SMS login codes a month to Malaysian numbers take the bill past US$1,100 before payment fees, database and tax, and over 90% of it is the SMS. Estimate SMS, map loads, document pages and AI tokens before launch, and ask for the same estimate at ten times the usage.
How much does an SMS OTP cost in Malaysia?
Twilio lists US$0.3389 per SMS segment to Malaysian numbers (checked 17 October 2026), more than five times its US$0.0591 rate to Singapore. At that rate, 3,000 codes a month cost US$1,016.70, before carrier fees and tax. Other providers, such as Plivo, list lower rates for most Malaysian networks, so compare quotes at your volume. Email codes, passkeys and WhatsApp authentication messages cost far less per login.
Is WhatsApp authentication cheaper than SMS in Malaysia?
Yes, by a wide margin: 3,000 codes a month cost US$42 as WhatsApp authentication messages and US$1,016.70 as SMS at Twilio’s list price. Meta’s US-dollar rate card effective 1 October 2026 charges US$0.0140 per authentication message to a Malaysian number, against Twilio’s US$0.3389 per SMS segment. The limit: a business based outside Malaysia pays the authentication-international rate of US$0.0418 once Meta has told it that it is eligible, which is still a fraction of the SMS price.
Do Apple and Google take a commission from a business app?
Only on digital goods and subscriptions sold inside the app. An app that sells physical goods or services, or that staff use for work, pays the account fees only: US$99 a year for the Apple Developer Program and a one-time US$25 for Google Play.
Does a Singapore business pay GST on overseas software and API bills?
It depends on whether the business is GST-registered. Overseas vendors registered under IRAS’s Overseas Vendor Registration regime charge 9% GST to customers who are not GST-registered. A GST-registered business that gives the vendor its GST number is not charged GST, and accounts for it under reverse charge only if it cannot claim full input tax. Either way, check whether each invoice shows GST.
Who should own the third-party accounts?
Your company. Register hosting, app store, payment, maps and messaging accounts to your business, pay for them with your card and add the developer as a user. Otherwise a change of developer means migrating accounts, keys and payment settings, and owning the source code matters less when the accounts it runs on belong to someone else.