Licensing
ApexMaps draws the license line at one rule: a map that answers a question is free, and a map that becomes an application is licensed. Everything below follows from that rule rather than from a feature-by-feature argument.
Free vs. licensed features
| Free, always | Licensed |
|---|---|
choropleth, bubble, and marker series, and the automatic basemap | Point clustering (cluster) |
| Every one of the 13 built-in projections, with spec objects | Projections you register yourself (registerProjection) |
| The geometry registry, all 26 packs, provenance and attribution | Drilldown and the breadcrumb (drilldown) |
| Tooltips, legends, labels, data labels, states, and themes | Editorial annotations (annotations) |
| Zoom, pan, pinch, hover, click and box selection, the camera API | arc and line route series, including flow beads |
Joins, including fuzzyJoin, and the join diagnostics | Linked selection across maps (link: { group }) |
| Scales, palettes, size legends, responsive rules | Pattern fills (fill.pattern) |
| On-screen zoom controls and globe rotation | Image fills (fill.image) |
| PNG and SVG export | Story mode (chart: { context: 'story' }) |
| The whole performance path | Presentation mode, map-to-chart morphing, time playback, and the WebGL tier, none built yet |
| The accessibility layer |
fuzzyJoin and accessibility are free by decision, not by omission. fuzzyJoin is free because cleaning up someone else's data is not a premium experience, it is the cost of using real data. Accessibility is never gated, in any tier, permanently: a watermark over a screen-reader affordance is indefensible, and in some markets it disqualifies the product from procurement.
Without a valid key, every licensed feature above still works, in full, with a watermark on the map, so you can evaluate it in your own app, with your own data, before buying anything. A valid key removes the watermark. The watermark is recomputed on every render and every updateOptions(), so turning a licensed feature off removes it immediately, and a late setLicense() clears it with no reload.
ApexMaps.setLicense('APEX-xxxxxxxx') // before rendering; applies to every map on the page
One license key covers the whole Apex family, so an existing ApexCharts, ApexGrid, or ApexStock customer does not buy a second one for maps. Each library still needs its own call, because each bundles its own license manager: ApexMaps.setLicense() and ApexCharts.setLicense() are separate calls, so a page with both a chart and a map calls both, with the same key.
Community and Commercial tiers
ApexMaps uses the same dual-license model as the rest of the ApexCharts family.
Community License (free)
Free for individuals, non-profits, educators, and organizations with less than $2 million USD in annual revenue (for non-profits, an annual operating budget under $2 million USD). Personal, educational, and small-business commercial use is covered, along with modifications and redistribution with attribution. It does not cover use by an organization at or above the revenue threshold, use inside a competing mapping or charting product, or sublicensing under different terms.
Commercial License (paid)
Required once an organization reaches $2 million USD in annual revenue. It covers the Pro, Premium, and OEM SKUs, and includes use in internal tools and commercial applications, modifications, app-level distribution, and a 12-month subscription with updates and support. It does not cover redistributing ApexMaps itself inside a toolkit, SDK, or platform, or use by developers who are not themselves licensed.
OEM / redistribution license (paid)
Needed specifically when you embed ApexMaps into a product or platform that other people configure or interact with: a no-code dashboard, a developer platform, an embedded BI tool, or an SDK. It is not required if your application only renders static maps that end users cannot configure or interact with. It covers redistribution rights for one application or product, plus a 12-month subscription with updates and support.
Installing ApexMaps (npm install apexmaps) is treated as agreeing to whichever of these applies to your usage. See pricing for current terms and to purchase a key.
Geometry data licenses
The license above covers ApexMaps the software, not the geographic data. Boundary data is published by third parties under its own terms, and those terms travel with the data rather than with the ApexMaps license. Every pack, and any geometry you register yourself, carries its provenance, readable at runtime through ApexMaps.mapMeta(id) and ApexMaps.catalogue(), and required attribution renders on the map automatically.
| Source | Used for | License | Attribution required |
|---|---|---|---|
| Natural Earth 5.1.1 | World countries and coastline, admin-1 for 15 countries | Public domain | No |
| US Census Bureau TIGER/Line | US states, counties, nation outline | Public domain | No |
| Eurostat GISCO NUTS 2021 | EU NUTS levels 0 to 3 | CC BY 4.0, EuroGeographics terms apply | Yes, and it renders automatically |
GADM is deliberately not used. It is licensed for non-commercial use only, and bundling it would put every commercial user in breach. If you register it yourself with ApexMaps.registerMap(), satisfying its license is your responsibility, not ApexMaps'.
Boundary depictions follow the policies of the publishers named above and are not a statement of position by ApexCharts on any territorial dispute. mapMeta(id).boundaries records which policy a given pack encodes.