A universal API client that makes every API a pleasure to use
Anyone who writes software will probably, at some point, end up using an API - and it's always hard to tell how that's going to go. For every delightful Stripe-like API, there are many that are inconsistent, poorly documented, or awkward and labor-intensive.
Nerve is a rich client that works with any API served over HTTP. It's designed to provide a predictable, ergonomic interface over all the APIs you need to work with.
Attach Nerve to an API to immediately get:
GraphQL-style querying, even for RESTful or RPC endpoints
Nested queries that can stitch together multiple endpoints, even across services
Consistent datatypes (e.g. all timestamps are ISO 8601)
A tightly integrated query builder with type safety and typeahead
Centralized, searchable documentation
Request parallelization and batching, retries, and rate limiting
Response caching and auth handshakes (including OAuth 2.0)
Derived field support
Tools to merge/unify similar APIs
Nerve also has a library of pre-built attachments to popular third-party services.
You can sign up for the beta above - or read on to see Nerve in action!
Let's start by pulling down some tickets from Zendesk*:
(*) Nothing you see on this page is a mockup except for the data, which is coming from test endpoints. These are all real recordings of the product.
Add a filter to scope down your request. Nerve passes all filters on to the underlying API:
Enter your API key* and you’re good to go!
(*) Credentials are only stored in memory - Nerve will never persist your sensitive information!
Run this query from your own code* using one of our SDKs.
(*) Backend or frontend!
You can ask for nested objects. Nerve will stitch together endpoints using a join key (it can also use side-loading if available.)
It’s easy to do cross-service joins. Let’s join on the recipient email to get employee details from Deel:
Want pagination? Just check a box. You can even combine nesting and pagination in the same query:
If you need more context on a field, check out the Schema Browser:
Looking for a third-party service we don’t have yet, or want to hit your own endpoints?*
Attach Nerve to any API using our declarative, self-service tooling.** If you’ve got an OpenAPI spec, Nerve can auto-attach for you.
(*) You can keep your APIs private, so only you can see them, or you can make them public, so your customers can query them with Nerve as well.
(**) Or just ask us! We’re happy to add endpoints for you if you need it.
Add derived fields to your API using Python:
Derived fields are first-class citizens in Nerve. To consumers they look like any other field:
Link two fields together, and Nerve will treat them as equivalent:
Unify different APIs by linking their fields. Write a single query and swap out its source at runtime. You can also easily merge datasets across services.
Nerve is fully customizable. Extend any API with your own logic, or reuse work from the community:
Go a little crazy! Make deeply nested queries, filter and join on derived fields, or paginate across multiple services at once. Nerve will keep up with you!
Nerve is currently in beta and we are still a very small team, but we are onboarding customers as quickly as capacity permits. If you'd like to try Nerve, shoot us your email at the top of the page and we will be in touch - we can get you going in a day or two.
Still wondering if Nerve is right for you? Here's some more info:
The Gory Details
Nerve is on-prem by default. Nerve queries are run by a router called the Nerve Engine, which is packaged as a container you can deploy on your own infrastructure. Our servers act purely as a control plane; they never see your data or credentials.
Nerve always pulls data directly from APIs when the query is run; it does not sync anything ahead of time. This means no sync schedules, no stale data, and no risk of outages.
Nerve is built for performance, with support for things like response caching and batch endpoints. Nerve also plans each query ahead of time, which means it can do full-query optimizations to ensure you get your data as quickly as possible.
Coming Soon...
Writes!
Mutations
Auto-generated query types
Robust support for GQL and RPC APIs
Query debugger and perf analyzer
Advanced filters
In-process query engine
(*) Nothing you see on this page is a mockup except for the data, which is coming from test endpoints. These are all real recordings of the product.
(*) Credentials are only stored in memory - Nerve will never persist your sensitive information!
(*) Backend or frontend!
(*) You can keep your APIs private, so only you can see them, or you can make them public, so your customers can query them with Nerve as well.
(**) Or just ask us! We’re happy to add endpoints for you if you need it.