Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A hit counter looks like a one-line job: send an increment, read back the total. On a phone, that line depends on a connection that can drop in the middle of a request, a free service that can retire the version you called or start requiring signup, a quota that may already be used up, and a retry that can count the same tap twice. Free and simple remove none of those constraints. They only hide them until the number stops moving.

Why does my API request fail on mobile data?

A direct HTTP request needs a usable connection at the moment it is sent and again at the moment the response comes back. Mobile devices break both conditions routinely: Wi-Fi hands off to cellular, a tunnel or elevator cuts signal, the operating system suspends the app, or the user switches networks while a request is in flight.

When a counter call fails, one of three things has happened, and each calls for different handling:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • The request never reached the server. The count did not change. Resending is safe.
  • The server processed the request, but the response was lost. The count did change. Resending may add a second increment.
  • The server rejected the request. The status code and response body tell you why: an expired key, a retired version, a quota limit, or a malformed request. Resending the same request usually fails the same way.

Most simple counter code treats all three as “request failed” and moves on, which is why the counts drift without any visible error.

#1 Best Overall
RoamWiFi Mobile Hotspot Pocket WiFi, Portable WiFi No SIM Card Needed, MiFi
  • 【Global Seamless Roaming with a Variety of Data Plans】RoamWiFi offers seamless, high-speed connectivity in 170+ countries. Enjoy stable networks worldwide without SIM changes or international roaming fees. We provide diverse data plans for short-term travel to long-term stays. RoamWiFi lets you browse social media, make video calls, and work online worry-free.
  • 【Multi-Device Sharing and Intelligent Network Optimization】RoamWiFi supports simultaneous connections for up to 10 devices, including smartphones, tablets, laptops, gaming consoles, etc., providing convenient internet access for your family and friends during travels. Furthermore, equipped with advanced intelligent network selection technology, RoamWiFi automatically detects and connects to the optimal network signal from various carriers to ensure the best online experience wherever you go.
  • 【Ultimate Portability and Long Battery Life】 Designed to be compact and lightweight, RoamWiFi is easy to carry, fitting comfortably in your pocket or backpack. Its powerful battery life also means you don't need to charge it frequently, ensuring a prolonged online experience. Whether you're traveling, at home, or gaming, RoamWiFi is your ideal companion.
  • 【Built-in Data Plan with 30 Days Validity】 RoamWiFi offers an exclusive built-in data plan that includes 1GB of local data valid across the United States (US), Canada (CA), and Mexico (MEX)
  • 【No Contract or SIM Card Required, Easy to Use】RoamWiFi needs no contract or SIM card; just power on for automatic internet connection with no complex settings. Our 24/7 customer support ensures a hassle-free experience. Perfect for travel or daily use, RoamWiFi brings digital convenience to your life. For any issues, please contact our customer service first; we're dedicated to resolving them promptly.

Why did this free API stop working?

A tutorial, an old sample, or a snippet copied from a forum can keep calling an endpoint after its version or access model has changed. CounterAPI’s documentation gives a concrete case. Its “Rate Limits” page states that, as of August 7, 2026, V1 is deprecated and no longer available, and points readers to migration notes. Its V2 documentation describes signup as required and a limit of 600 requests per minute per URL path.

These are CounterAPI-specific terms, dated as the documentation stood when it was checked. They do not describe how other free APIs behave. The lesson applies more widely: an endpoint that worked anonymously last year may now require an account, a different path, or a different key.

Before assuming a counter is broken in your code, check the following:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
SIMO Solis Hero, 4G Mobile Hotspot, 1GB/Monthly + 30GB Global Data
  • 2-in-1 Solution: The SIMO Hero features a powerful hotspot device along with an 5250mAH powerbank built-in. Note: For best results please use the charging cable included.
  • Optimized to Share WiFi: Confidently connect up to 10 devices simultaneously.
  • SignalScan AI: Easily find the strongest signal across multiple mobile carriers – No SIM and No Locked-In Contracts Needed.
  • Global Coverage: SIMO delivers WiFi in 140 countries with 300+ carriers worldwide.
  • Two Data Packs Included: Each SIMO device comes bundled with 1GB of Free Data every month, forever (12GB Yearly) along with a one-time 30GB pack of Global Data (30GBs expires in 30 days)
  • Which version of the API your URL targets, and whether the provider’s docs still list it as current.
  • Whether the provider has published migration notes or a deprecation date.
  • Whether the current docs require a key, an account, or a registered app.
  • Whether the error body names a version or authentication problem rather than a generic failure.

What does HTTP 429 mean in my app?

HTTP 429 (“Too Many Requests”) is the usual signal that you have hit a rate limit. But not every provider uses it the same way, and quota errors are not always 429. Google’s documentation for Google Analytics states that quota overages return either 403 or 429, so a 403 from that API may be a quota problem rather than a permissions problem. Check the response, not just the number.

Providers also scope limits differently. The table below lists only what the cited documentation states.

Provider (documentation) Quota signal Example limit given in the documentation Documented handling guidance
Google Analytics (Google for Developers, “Limits and quotas on API requests”) 403 or 429 on quota overage 50,000 requests per project per day; 10 queries per second per IP address. These are Google Analytics API limits, page accessed 2026. Not stated in the cited excerpt
Apple App Store Connect (Apple Developer Documentation, “Identifying Rate Limits”) Rate-limit response headers; 429 response Illustrative header example of 3,500 requests per rolling hour with 500 remaining. This is an example on the page, not a general Apple limit. Log the failure and queue the job to be processed again at a later time.
GitHub REST API (GitHub Docs, “Rate limits for the REST API”) Rate-limit headers and reset information Not stated in the cited excerpt; limits are GitHub-specific Wait for the reset timestamp or the Retry-After value; use increasing delays when secondary limits persist.
CounterAPI V2 (CounterAPI Documentation, “Rate Limits”) Not stated in the cited excerpt 600 requests per minute per URL path; signup required for V2 Not stated in the cited excerpt

The sample numbers above belong to those providers. Do not copy them into your app as universal values; read the current limits for the exact service and plan you call.

Rank #3
Roam 6 AX1500 Portable Wi-Fi 6 Travel Router Dual-Band USB C 3.0
  • 𝐑𝐨𝐚𝐦 𝟔 𝐀𝐗𝟏𝟓𝟎𝟎 𝐝𝐮𝐚𝐥-𝐛𝐚𝐧𝐝 𝐬𝐩𝐞𝐞𝐝𝐬 - Wi-Fi 6 Speeds up to 1,201 Mbps (5 GHz) and 300 Mbps (2.4 GHz) for up to 60 devices simultaneously. Actual Wi-Fi speeds vary based on source bandwidth, environment, distance to devices, and obstacles. ◇§
  • 𝐏𝐨𝐫𝐭𝐚𝐛𝐥𝐞 𝐚𝐧𝐝 𝐝𝐮𝐫𝐚𝐛𝐥𝐞 𝐝𝐞𝐬𝐢𝐠𝐧 - Roam 6 AX1500 is a pocket-sized travel router compactly designed for trips and adventures, featuring a 1 Gbps WAN/LAN port and a 1 Gbps LAN port for reliable wired connectivity.
  • 𝗦𝗲𝗰𝘂𝗿𝗲 𝗪𝗶-𝗙𝗶 𝗼𝗻-𝘁𝗵𝗲-𝗴𝗼 - Connects to public Wi-Fi and creates a private, secure network for all your devices. Supports multiple devices at once, ideal for hotels, Airbnbs, airports, and even home use. VPN connectivity enables secure remote work.
  • 𝐌𝐮𝐥𝐭𝐢𝐩𝐥𝐞 𝐰𝐚𝐲𝐬 𝐭𝐨 𝐜𝐨𝐧𝐧𝐞𝐜𝐭 - (1) Router Mode: Connects to public Wi-Fi, ISP, or phone (USB tethering). (2) AP/RE/Client Mode: Adds WiFi to wired setups, extends WiFi, or connects wired devices wirelessly.
  • 𝐎𝐮𝐫 𝐜𝐲𝐛𝐞𝐫𝐬𝐞𝐜𝐮𝐫𝐢𝐭𝐲 𝐜𝐨𝐦𝐦𝐢𝐭𝐦𝐞𝐧𝐭 - TP-Link is a signatory of the U.S. Cybersecurity and Infrastructure Security Agency’s (CISA) Secure-by-Design pledge. Advanced security is integrated into the device’s design, development, and ongoing maintenance.

How to handle a rate-limit or quota response

  1. Read the status code and every rate-limit header before doing anything else.
  2. Separate quota denial from invalid-request and authentication errors. Use the response body and documented codes, not the status number alone.
  3. Stop tight retry loops. A failed counter call should not trigger an immediate second call in the same tick.
  4. If the provider sends a reset timestamp or a Retry-After value, wait for that time.
  5. If no timing is given, use bounded exponential backoff with jitter, and cap the number of attempts.
  6. Store events you cannot send yet, so they can be processed later, as Apple’s guidance describes. Queue only the operations whose meaning and retention you understand.
  7. Send failure codes and counts to your telemetry, so a quota problem shows up as a quota problem rather than as a silent drift in totals.

How do I count events when a user is offline?

A plain HTTP call has no answer for an offline event: the event either goes out now or it is lost. Several architectures handle this differently, and the right choice depends on how much you can afford to lose and how much you control the backend.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Approach What happens when the device is offline Main trade-off
Immediate best-effort HTTP call The event is dropped unless your code stores it Simplest to build; undercounts on unreliable networks
App-side queue with retries Events are saved on the device and sent when connectivity returns You must persist the queue across app restarts and handle duplicates
Cloud Firestore with offline persistence (Firebase, “Access data offline”) Reads and writes go to a local cache and synchronize on reconnection. Offline persistence is supported on Android, Apple platforms, and the web, but web persistence is disabled by default and has browser-specific support. Multiple changes to the same document resolve with last-write-wins, so a single shared counter field can be overwritten
Firebase Realtime Database on the web (Firebase, “Read and Write Data on the Web”) The client keeps working after network loss, but web data is not persisted offline beyond the session Unsent writes can be lost if the page or session ends before the connection returns

The Firestore row needs one design note. Last-write-wins means that if many devices update one counter document, the final value depends on which write lands last, not on a sum of all increments. A safer shape is to write one record per event, or one record per device, and aggregate them. That is a design choice you make in your data model; the documentation does not prescribe it.

Why a retry can count the same event twice

The most subtle failure is the lost response. The server adds the increment, but the acknowledgment never reaches the phone. The app sees a timeout, retries, and the server adds a second increment. This is a general engineering pattern, not a behavior the cited provider pages describe for their own counters, but it follows directly from retrying any non-idempotent write.

Rank #4
SIMO Solis PRO, 5G WiFi Hotspot with 1GB/Monthly + 30GB Global Data
  • 2-in-1 Solution: The SIMO Pro features a next gen 5G hotspot device (Wi-Fi 6E) along with a 8000mAH power bank built-in
  • Optimized to Share WiFi: Confidently connect up to 20 devices simultaneously.
  • SignalScan AI: Easily find the strongest signal across multiple mobile carriers – No SIM and No Locked-In Contracts Needed.
  • Global Coverage: SIMO delivers WiFi in 140 countries with 300+ carriers worldwide, offering a reliable signal with high-speed data wherever you go.
  • Two Data Packs Included: Each SIMO device comes bundled with 1GB of Free Data every month, forever (12GB Yearly) along with a one-time 30GB pack of Global Data

Reliable counting usually needs two decisions:

  • Give each event an identifier when it happens. Generate a unique ID on the device at the moment of the tap or view, and send that same ID with every retry of that event.
  • Make the server ignore repeats. The server records which event IDs it has already accepted and skips duplicates. Alternatively, design the write so that repeating it produces the same stored state, such as setting a record keyed by event ID rather than adding one to a total.

Before you write any of this, decide what you are counting. These measures are not interchangeable, and a raw counter endpoint does not make them equal:

  • Page views and unique visitors
  • Button taps and completed actions
  • App opens and active sessions

A “hit” that means every tap is a different number from a “hit” that means one per user per day, and the counter cannot tell which you meant.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Can I safely put an API key in a mobile app?

Treat anything shipped inside a mobile app as available to the people who install it. Renaming a key or hiding it in the app bundle does not protect it. Whether a key is a harmless identifier or a real credential depends on the vendor, so check that vendor’s documentation.

Best Value
Sale
TP-Link Roam 6 AX1500 Portable Wi-Fi 6 Travel Router (TL-WR1502X)
  • 𝐑𝐨𝐚𝐦 𝟔 𝐀𝐗𝟏𝟓𝟎𝟎 𝐃𝐮𝐚𝐥-𝐁𝐚𝐧𝐝 𝐓𝐫𝐚𝐯𝐞𝐥 𝐑𝐨𝐮𝐭𝐞𝐫 - Delivers fast Wi-Fi 6 speeds (1201 Mbps on 5 GHz, 300 Mbps on 2.4 GHz) for uninterrupted video streaming, downloading, and online gaming all at the same time. Actual Wi-Fi speeds vary based on source bandwidth, environment, and distance to devices.
  • 𝐒𝐞𝐜𝐮𝐫𝐞 𝐖𝐢-𝐅𝐢 𝐎𝐧-𝐓𝐡𝐞-𝐆𝐨 - Connects to public Wi-Fi and creates a private, secure network for all your devices. Supports multiple devices at once, ideal for hotels, Airbnbs, airports, and even home use. VPN connectivity enables secure remote work. This is not a Mi-Fi device or mobile hotspot.
  • 𝐂𝐨𝐧𝐧𝐞𝐜𝐭 𝐀𝐧𝐲𝐰𝐡𝐞𝐫𝐞, 𝐀𝐧𝐲 𝐖𝐚𝐲 - Offers (1) Router Mode for Ethernet or USB (phone) tethering connections, (2) Hotspot Mode for secure access to public WiFi , and (3) AP/RE/Client Mode to extend WiFi, add WiFi to wired setups, or connect wired devices wirelessly.
  • 𝐏𝐨𝐫𝐭𝐚𝐛𝐥𝐞 𝐚𝐧𝐝 𝐃𝐮𝐫𝐚𝐛𝐥𝐞 𝐃𝐞𝐬𝐢𝐠𝐧 - The Roam 6 AX1500, measuring a compact 4.09 in. × 3.54 in. × 1.10 in., is a pocket-sized travel router perfect for your next trip or adventure.
  • 𝐌𝐮𝐥𝐭𝐢𝐩𝐥𝐞 𝐰𝐚𝐲𝐬 𝐭𝐨 𝐩𝐨𝐰𝐞𝐫 𝐲𝐨𝐮𝐫 𝐫𝐨𝐮𝐭𝐞𝐫 - Power the Roam 6 via its USB-C port using the included adapter or any 5V/3A PD power source, like a power bank.

Firebase is an example of the first type. Its documentation for managing API keys says that Firebase API keys identify the project, and that access to Realtime Database, Cloud Firestore, and Cloud Storage is enforced by Firebase Security Rules and, for covered APIs, by App Check, not by keeping the Firebase API key secret. You should still restrict keys and set quotas as the documentation advises. This model is specific to Firebase and should not be applied to third-party API keys.

If a key can write data, spend credits, or read private information, keep that call on a server you control. The app can then send its request to your backend, which holds the real credential, checks the user, applies per-user limits, and forwards only what is allowed.

Quick Recap

Bestseller No. 2
SIMO Solis Hero, 4G Mobile Hotspot, 1GB/Monthly + 30GB Global Data
SIMO Solis Hero, 4G Mobile Hotspot, 1GB/Monthly + 30GB Global Data
Optimized to Share WiFi: Confidently connect up to 10 devices simultaneously.; Global Coverage: SIMO delivers WiFi in 140 countries with 300+ carriers worldwide.
$179.99
Bestseller No. 4
SIMO Solis PRO, 5G WiFi Hotspot with 1GB/Monthly + 30GB Global Data
SIMO Solis PRO, 5G WiFi Hotspot with 1GB/Monthly + 30GB Global Data
Optimized to Share WiFi: Confidently connect up to 20 devices simultaneously.
$349.99

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.