DEV.co
Open-Source Databases · arangodb

arangojs

arangojs is the official JavaScript driver for ArangoDB, a multi-model NoSQL database. It enables Node.js and browser applications to connect to and query ArangoDB using async/await syntax, with support for both modern ES modules and legacy CommonJS patterns.

Source: GitHub — github.com/arangodb/arangojs
610
GitHub stars
111
Forks
TypeScript
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryarangodb/arangojs
Ownerarangodb
Primary languageTypeScript
LicenseApache-2.0 — OSI-approved
Stars610
Forks111
Open issues5
Latest releasev10.3.1 (2026-06-02)
Last updated2026-07-02
Sourcehttps://github.com/arangodb/arangojs

What arangojs is

TypeScript-based driver providing connection pooling, AQL query execution with template tag support, error handling via ArangoError and NetworkError classes, and compatibility with latest ArangoDB stable versions and recent Node.js LTS releases. Supports basic auth, configurable endpoints, and detailed error introspection.

Quickstart

Get the arangojs source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/arangodb/arangojs.gitcd arangojs# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Node.js Backend APIs

Building REST/GraphQL APIs with server-side ArangoDB queries using async/await. The driver's native promise and error handling integrate well with Express, Fastify, and similar frameworks.

Browser-Based Applications

Single-page applications and web frontends requiring direct ArangoDB access via CDN distribution or bundled imports. Supports modern JavaScript tooling (Babel, webpack, etc.) and importmap-based loading.

Multi-Model Data Applications

Projects leveraging ArangoDB's graph, document, and search capabilities where JavaScript teams need native driver support without ORM overhead or translation layers.

Implementation considerations

  • Requires Node.js LTS version compatibility verification; driver explicitly drops support for out-of-LTS versions and end-of-life ArangoDB releases.
  • Configuration includes auth (basic, optional), endpoint URL, and database name; credentials can be rotated via useBasicAuth() without reconnection.
  • Query construction via aql template tag prevents SQL injection-style vulnerabilities; raw query strings with manual bindVars require careful validation.
  • Error handling distinguishes ArangoError (database-specific) from NetworkError (connection/HTTP) with detailed properties for introspection.
  • Stack trace visibility impacted by async queue design; enable precaptureStackTraces option for debugging at runtime performance cost.

When to avoid it — and what to weigh

  • Legacy Internet Explorer Support — Driver relies on modern ES module syntax and fetch APIs; older browser targets require transpilation and polyfills not covered in the README.
  • Inside ArangoDB (Foxx/arangosh) — This driver is explicitly for external database access only. Foxx and shell environments require the @arangodb module instead.
  • Non-ArangoDB Databases — Driver is ArangoDB-specific. No abstraction for switching database backends; requires alternatives like Prisma or TypeORM for multi-database projects.
  • Synchronous-Only Codebases — Entire API is async/promise-based; blocking synchronous code patterns are not supported and will require refactoring.

License & commercial use

Licensed under Apache License 2.0, a permissive OSI-approved license allowing modification, distribution, and commercial use with mandatory attribution and liability disclaimers.

Apache-2.0 is widely recognized as permissive for commercial deployment. No proprietary or dual-licensing restrictions evident. Requires review of your organization's license compliance process to confirm this satisfies your procurement and IP review requirements.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityLow
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

Uses aql template tag to reduce query injection risk if used correctly; raw bindVars queries require manual validation. Credentials transmitted via basic auth over HTTP unless endpoint is HTTPS. No mention of cert pinning, TLS version enforcement, or secret rotation strategies. Precautionary stack trace capture may expose sensitive details in logs. Network error cause chains expose system-level details (syscall, errno) useful for debugging but potentially information-disclosing in production logs.

Alternatives to consider

Prisma

Multi-database ORM with schema-driven code generation. Better for teams requiring SQL/NoSQL portability or strict schema validation, but adds abstraction layer and dependency complexity.

TypeORM

Supports both SQL and NoSQL with decorator-based schema definition. Good for monolithic projects needing mixed database support, but heavier footprint and learning curve than native driver.

ArangoDB REST API (direct HTTP)

Eliminates driver dependency, use native fetch or axios. Suitable for stateless functions or polyglot services, but requires manual URL routing, error parsing, and connection overhead per request.

Software development agency

Build on arangojs with DEV.co software developers

Review the compatibility matrix, examine migration guides for major version upgrades, and validate Apache-2.0 licensing against your procurement process before deploying.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

arangojs FAQ

Does arangojs work in browsers?
Yes, via npm/bundler or jsDelivr CDN with importmap. Requires modern JavaScript tooling (Babel, webpack) or importmap support; older browsers need transpilation and polyfills not covered in the README.
Which ArangoDB versions are supported?
Latest stable ArangoDB at driver release time plus two prior versions. End-of-life ArangoDB versions are explicitly not supported. Verify compatibility in the README's Compatibility section for your target version.
How do I handle database errors?
Catch ArangoError (with errorNum property for ArangoDB codes) separately from NetworkError and HttpError. Access response body and HTTP status via error.response and error.code properties for detailed introspection.
Can I use arangojs inside ArangoDB (Foxx, arangosh)?
No. This driver is for external client access only. Use the @arangodb module for Foxx and db object for the arangosh shell instead.

Custom software development services

Need help beyond evaluating arangojs? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source databases integrations — and maintain them long-term.

Ready to integrate ArangoDB into your Node.js or browser app?

Review the compatibility matrix, examine migration guides for major version upgrades, and validate Apache-2.0 licensing against your procurement process before deploying.