AutoSugges vs a static JSON file
When a static JSON file in your bundle is enough for a dropdown and when AutoSugges autocomplete fits better, compared on facts and dated 2026-10-25.
Is a static JSON file enough, or should I use AutoSugges?
A static JSON file is enough for a short list that rarely changes and lives in one app. Use AutoSugges when the list is large, shared across apps, changes over time, or needs aliases, hierarchy, ranking and accessible keyboard behaviour that you would otherwise build and keep correct yourself.
What a static JSON file is for
A static JSON file is the simplest option: the list sits in your repository, ships inside your bundle or from your own CDN, and your code filters it. There is nothing to sign up for and nothing to depend on.
As of .
Where a static JSON file fits better
- The list is short, fixed and used in one place, such as a handful of plan names.
- The app must work with no network and no third-party service at all.
- You want zero dependencies and full control over the exact data shape.
Where AutoSugges fits better
- The list is large. A file ships whole to every visitor; AutoSugges answers each query with a few suggestions.
- The list changes. Updating a file means redeploying every app that holds a copy; AutoSugges publishes a new immutable version and clients detect the new version automatically.
- You need aliases, hierarchy and ranking, or a ready-made dataset such as countries or NAICS.
- You do not want to write and maintain your own combobox for keyboard and screen-reader behaviour.
Side by side
| Aspect | a static JSON file | AutoSugges |
|---|---|---|
| Built for | Small, fixed lists in a single app | Lists of any size, shared across apps and updated over time |
| What reaches the browser | The whole list, in your bundle or from your CDN | Suggestions for what was typed, a few pre-ranked suggestions |
| Matching | Whatever filter you write | Prefix and alias lookup prepared ahead of time, with ranking |
| Updates | Edit the file and redeploy each app that includes it | Publish a new version; activation follows verification and clients see the new version |
| Hierarchy | You model parents and children yourself | Built in: ancestors on selection, and a parent filter for dependent fields |
| Accessibility and UI | You build the combobox, its keyboard handling and its announcements | One component for React, React Native and plain HTML with those behaviours built in |
| Cost and dependency | No service and no bill; no external dependency | A hosted dependency. Free datasets are never priced on their own; plans are priced on queries |
Related guides and datasets
Frequently asked questions
- How large can a list be before a static file hurts?
- There is no fixed number. The cost is that every visitor receives the whole list before the first suggestion, so it grows with the list and with each language. A query-based service sends only the suggestions for what was typed.
- Does AutoSugges work offline?
- The hosted query path needs a network. The component reports an offline state instead of showing no results, and it keeps typed text and selections. If the app must work with no network at all, a bundled file fits better.
- Can I start with a file and move later?
- Yes. Publish the same items as a list, add a publishable key, and swap the data source of the component. The value you store is the stable item value, so saved records do not change.
- What is the minimum number of characters before a query runs?
- Two by default. A list owner can change it, but it can never be 1. The client reads the real value from bootstrap and sends no request below it.
- Do I need a secret key in my front end?
- No. A publishable key is public by design. Secret keys never belong in a browser or a mobile bundle.
Product and company names belong to their owners and are used only to identify the products compared. AutoSugges is not affiliated with or endorsed by them. Statements about other products are general descriptions as of the date shown; check each vendor’s own documentation for current details.