Skip to main content
Orbital vs Hasura vs Apollo for AI Agents

Orbital vs Hasura vs Apollo for AI Agents

· 27 min read
Hash Kader
Software engineer and technical writer

Orbital beat Hasura and Apollo GraphQL in all four head-to-head questions, yet finished third overall. The reason was discoverability: it was absent from all four open questions and appeared in both six-question discovery funnels only at question 6, after we named it.

Orbital lets you query across internal APIs, databases and Kafka as if they were one system; it works out what to call and joins the answers. Our first look at Orbital's agent experience in April found it almost invisible to agents. This full AX audit compares it with Hasura and Apollo across four stages:

  • Awareness: does the model know Orbital without searching?
  • Discoverability: can an agent find Orbital when it's looking for a tool like it?
  • Reputation: does the agent speak well of Orbital, and recommend it over Hasura and Apollo GraphQL?
  • Integration: can the agent build a working hello world with Orbital?
How we tested

All testing used Claude Opus 5.5 (claude-opus-5-5) in Claude Code 2.1.287, on 13 October 2026. Every session started in a fresh, empty folder with no project files, memory, MCP servers, skills or plugins. Awareness questions ran with no tools at all, and discoverability and reputation questions with web search and web fetch only. Each integration ran in its own fresh Claude Code profile, with every command approved by us. We ran each prompt once, so treat these results as one developer's experience rather than a benchmark.

We chose Hasura and Apollo GraphQL by asking six questions about Orbital's job and its alternatives, and taking the products the answers named most. Both appeared in all six answers. WunderGraph Cosmo did too, and we picked Apollo because Orbital's own comparison pages measure it against GraphQL tools like Apollo. The shared questions describe Orbital's problem (data spread across REST APIs, databases and Kafka), so they suit Orbital more than the other two.


What is Orbital?​

Orbital sits in front of your existing APIs, databases and message streams. You describe what the data in each system means once, then ask Orbital for the data you want. It works out which systems to call and joins the results, so nobody writes the code that connects them. Our Orbital explainer covers how it works in more detail.

Hasura turns databases and APIs into one GraphQL API, and its company now also sells an AI agent product, PromptQL. Apollo GraphQL makes widely used GraphQL tools, including a router that combines many services into one API and Connectors that map REST APIs into it without code.


Results at a glance​

🥈
Apollo GraphQL
2ND
Known and found by agents, and built with in 9 minutes, but lost every head-to-head
🥇
Hasura
1ST
Known and found by agents, built with in 8 minutes with no human steps, and beat Apollo head to head
🥉
Orbital
3RD
Won the named head-to-heads, but agents never found it on their own
StageOrbitalHasuraApollo GraphQL
AwarenessOK (3)GOOD (4)GOOD (4)
DiscoverabilityFAIL (1)OK (3)OK (3)
ReputationGOOD (4)OK (3)OK (3)
IntegrationGOOD (4)GOOD (4)GOOD (4)
Overall (average)3.03.53.5

Hasura and Apollo tied on 3.5. Hasura takes first place because it beat Apollo in both orders of the head-to-head question.

Orbital scored highest for reputation, and an agent built a working integration with its own agent tooling. Poor discoverability pulled its total below Hasura and Apollo: agents never suggested Orbital for the job unless we named it, and the model doesn't recognise its current description of itself.


Awareness: does the model know Orbital?​

Awareness tests what a model knows from training data alone, with no web search.

OK
Orbital
3 / 4
Knows it as a data gateway; doesn't know "governed context layer"; never named unprompted
GOOD
Hasura
4 / 4
Accurate, and the first pick for Orbital's job without a search
GOOD
Apollo GraphQL
4 / 4
Accurate, and named for Orbital's job without a search

We first described Orbital's job without naming any product. Asked for tools to combine data from many internal APIs, databases and Kafka topics for apps and AI agents, the model named Hasura, Apollo and WunderGraph Cosmo, among others. It picked Hasura when we described one layer with Orbital's full list of capabilities; Orbital appeared in neither answer.

When given its domain, the model showed it knows Orbital well:

Awareness · Orbital · named, with its domainWhat is Orbital (orbitalhq.com)?
Claude Opus 5.5 · no tools · excerpt

Orbital (orbitalhq.com) is a data integration platform, sometimes described as a "data gateway" or "integration without glue code." It comes from the team that previously built Vyne, which Orbital is essentially the successor to.

It described Taxi, the query language, joins across APIs, databases and Kafka, and the self-hosted Docker setup accurately. It didn't mention AI agents or MCP.

Orbital's homepage now says it turns "your existing APIs, databases and streams into a governed context layer" and leads with "Get your enterprise ready for AI agents". The model doesn't connect that description to Orbital:

Awareness · Orbital · with its taglineWhat do you know about Orbital, the "governed context layer"? What does it do, and who is it for? Say clearly if you don't know.
Claude Opus 5.5 · no tools · excerpt

I don't know what this is. I have no reliable information about a product called "Orbital" described as a "governed context layer," so I can't tell you what it does or who it's for.

It listed Orbital Insight, a geospatial analytics company, as one of several unrelated things called Orbital. Asked the same question with their own taglines, the model described Hasura and Apollo accurately. It linked Hasura's tagline to Hasura DDN, and said it wasn't sure Apollo uses its tagline.

Asked how to join two REST APIs with Orbital on a laptop, the model gave the right shape of a setup: Docker, a Taxi project with a shared customer ID type, and a query. Its first command saved https://start.orbitalhq.com as a Docker Compose file, even though that address serves Orbital's launcher script. It also didn't mention the sign-in Orbital needs on first start.

Why Orbital is behind​

The model described Orbital as a data gateway built on Taxi. It didn't recognise the newer AI-agent pitch or suggest Orbital when we left it unnamed; Hasura and Apollo did come up.

What Orbital can do about it​

Connect the old description to the new one​

Orbital's llms.txt, docs and launcher script still open with "data gateway", while the homepage says "governed context layer". Using both terms together across pages and posts could help models connect the descriptions: "Orbital, the data gateway that gives AI agents a governed context layer."


Discoverability: can an agent find Orbital?​

Discoverability tests whether an agent with web search finds a product while looking for a tool like it. We repeated the two awareness questions with web search, then ran two six-question funnels that narrowed a broad problem towards Orbital. The first four questions were the same for all three companies. Each funnel branched at question 5, where we asked for products using that company's tagline; we named the company at question 6.

FAIL
Orbital
1 / 4
Only found when named, in both funnels; its tagline search found Cube
OK
Hasura
3 / 4
Appears at question 2 or 3; its tagline search found it both times
OK
Apollo GraphQL
3 / 4
Recommended from question 2 or 3; its tagline search found it once

With web search, the two open questions named Hasura, Apollo and WunderGraph again, but not Orbital. One query closely matched Orbital's description: "no resolvers" data layer AI agents query planner joins APIs databases Kafka lineage per field self-hosted. The response said no tool keeps working when an upstream API changes:

Discoverability · Orbital's capabilities, no product namedI need one layer over our existing REST APIs, databases and Kafka streams. Apps and AI agents should be able to ask it for the data they need in a single request, and it should work out which systems to call and join the results itself, without us writing resolvers or integration code. It has to keep working when an upstream API changes, enforce field-level access policies, record where each value came from, and run self-hosted in our own cloud. What would you use? Search the web before you answer.
Claude Opus 5.5 · web search · excerpt

Not automatically. None of these tools fix themselves when an upstream changes.

It recommended Grafbase, with Apollo GraphOS as the fallback, and Hasura and WunderGraph Cosmo as alternatives. Orbital's llms.txt says its queries keep working "when upstream sources change — a field is renamed, an endpoint moves".

Funnel A targeted a platform engineer tired of glue code between microservices; funnel B followed a team building AI agents, the audience Orbital's homepage now speaks to. Here is funnel B on the Orbital branch, with the start of each answer:

  1. "We want to let AI agents answer questions using data from our internal systems. What's the best way to give them access?"
    No Orbital"The usual approach today is to put each internal system behind a tool interface, with the Model Context Protocol (MCP) as the standard way to expose it"
  2. "We have dozens of internal REST APIs, a few databases and some Kafka topics. When we wrapped each API as an MCP tool, the agent had too many tools to choose from and called the wrong ones or called them in the wrong order. We're in financial services, so everything has to stay in our own cloud and be auditable. What should we do?"
    No Orbital"The fix is to expose fewer, higher-level tools, organized by business domain, behind a single gateway you run yourself."
  3. "I'm looking for something that sits between our agents and those systems: the agent asks for the data it needs, and the layer works out which systems to call, joins the results, enforces field-level access rules and logs where each value came from. It should keep working when an API changes. Search the web before you answer."
    No Orbital"What you're describing already exists as a product category: a federated query layer". It recommended GraphQL federation behind an MCP front end, naming WunderGraph Cosmo, Apollo and Hasura DDN.
  4. "Look for newer or less well-known tools that solve exactly this, including anything launched in the last few months. Search online."
    No Orbital"I didn't find a new tool that does all of what you asked". Its closest match was CData's Connect AI Gateway.
  5. "Are there any products that describe themselves as "governed context layer"? Search online."
    Found Cube"Cube is the only product I found that uses that exact phrase for itself."
  6. "What about Orbital?"
    Found"Orbital (orbitalhq.com) is the closest match to what you described of anything I've found, and I should have found it in the earlier searches."

At question 4 the agent searched for "context layer" OR "agent data layer" startup launch federated query enterprise APIs agents lineage self-hosted 2026, without finding Orbital. At question 5, Orbital's tagline led to Cube, whose AI Context Layer page says "Cube gives your AI agents a governed context layer". In funnel A, that search found articles, Cube, Denodo and the data catalogs Atlan and DataHub, and the agent concluded:

Discoverability · funnel A, question 5 · Orbital branchAre there any products that describe themselves as "governed context layer"? Search online.
Claude Opus 5.5 · web search · excerpt

I didn't find any product that calls itself a "governed context layer".

At question 6, after reading orbitalhq.com: "Orbital fits what you described better than anything else I've found, and I should have found it earlier."
FunnelOrbital first appearsHasura first appearsApollo GraphQL first appears
A: platform engineerQuestion 6 (named)Question 2Question 1, recommended from question 2
B: team building AI agentsQuestion 6 (named)Question 3Question 3

Hasura's tagline, "universal data access layer", returned Hasura in both funnels. Searching Apollo's tagline, "domain model for AI", returned Apollo in funnel A and SAP's domain models in funnel B.

Why Orbital is behind​

None of the agents' searches for this problem returned an Orbital page, including searches that came close to Orbital's own description. Its tagline is shared with Cube, whose page ranked for it. Once named, the agent read orbitalhq.com and called Orbital the best fit in both funnels.

What Orbital can do about it​

Use the words agents search for in page titles​

The agents' searches described Orbital's features in plain terms: self-healing API integration layer automatically adapts upstream field rename endpoint change, "no resolvers", query planner, "agent data layer". Orbital's site makes the same claims in its own vocabulary. Docs and guide pages titled with the problem, such as "Join REST APIs, databases and Kafka without resolvers" or "API integration that survives field renames", could help those searches return Orbital pages.

Pick a tagline Orbital can own​

"Governed context layer" is also Cube's description of its AI Context Layer, and an exact-phrase search found Cube's page. A phrase used only by Orbital could make a tagline search more likely to land on its site.

Publish comparisons with the products agents recommend​

Agents recommended Apollo, Hasura, WunderGraph Cosmo and Grafbase for Orbital's job. Orbital has comparison pages for MuleSoft and GraphQL in general. Pages that compare Orbital with each recommended product by name could put Orbital in the results agents read when shortlisting.


Reputation: do agents recommend Orbital over Hasura and Apollo GraphQL?​

Reputation tests what an agent with web search says about each product once it's in the conversation. Every question described the same use case: "letting our applications and AI agents query data joined across our internal REST APIs, databases and Kafka topics through one self-hosted layer, without writing integration code for each system".

GOOD
Orbital
4 / 4
Picked over both, in every head-to-head and in the three-way question
OK
Hasura
3 / 4
Beat Apollo; recommended when the data is mostly in databases
OK
Apollo GraphQL
3 / 4
Recommended for GraphQL teams with mostly REST APIs; lost both head-to-heads

Asked for the single best tool, with no product named, the agent picked MindsDB. It mentioned Hasura DDN as an option for typed APIs with fine-grained permissions, and didn't mention Orbital or Apollo.

Once all three were named, the agent searched each one and chose Orbital:

Reputation · all three namedI'm choosing between Apollo GraphQL, Hasura and Orbital for letting our applications and AI agents query data joined across our internal REST APIs, databases and Kafka topics through one self-hosted layer, without writing integration code for each system. Which would you pick, and why?
Claude Opus 5.5 · web search · excerpt

I'd pick Orbital. It's the only one of the three built for exactly what you described: joining REST APIs, databases and Kafka topics through one self-hosted layer, without writing integration code for each system.

Against Apollo, it said "Apollo doesn't connect directly to databases or Kafka." Against Hasura, "Kafka isn't a first-class source as far as I can find." Its caveats for Orbital: "It's a smaller vendor with a smaller community," and "Taxi and TaxiQL are niche."

Orbital vs Hasura vs Apollo: which wins head to head?​

Orbital beat both, and Hasura beat Apollo, each in both orders. We asked each pair in both orders because agents can favour the product named first. A pair counts as a win only if the same product wins both ways.

PairNamed firstNamed secondResult
Orbital vs HasuraOrbitalOrbitalOrbital wins
Orbital vs Apollo GraphQLOrbitalOrbitalOrbital wins
Hasura vs Apollo GraphQLHasuraHasuraHasura wins

In both runs, the agent read Orbital's llms.txt before answering. It cited Kafka support and joins that need no code per system each time.

Reputation · Apollo GraphQL vs OrbitalIs Apollo GraphQL better than Orbital for letting our applications and AI agents query data joined across our internal REST APIs, databases and Kafka topics through one self-hosted layer, without writing integration code for each system? Why?
Claude Opus 5.5 · web search · excerpt

For what you described, Orbital is the better fit. Apollo is the more mature and widely used platform, but it doesn't meet the "no integration code for each system" requirement once databases and Kafka are involved.

The last question used each product's bare name, with no domain. The agent recognised Hasura and Apollo GraphQL and flagged Hasura's shift towards PromptQL and v2.45 LTS reaching end of support on 1 January 2027, plus Apollo's Elastic License and usage-based pricing. Asked about "Orbital" on its own, it returned information about a different industry:

Reputation · Orbital · bare nameWhat are the main risks or downsides of adopting Orbital right now?
Claude Opus 5.5 · web search · excerpt

I'm not sure which "Orbital" you mean. Lots of things use that name, and I can't see any project files here that would tell me.

A web search mostly turned up orbital (space-based) data centers / compute, the push from SpaceX, Google/Planet and others.

It listed the cost, bandwidth and debris risks of data centres in orbit, then asked: "If you meant something else, like a software product or framework called Orbital, or an internal tool, tell me which one (a link or vendor name helps)"

Why Orbital is ahead​

In each head-to-head, the agent searched for Orbital and chose it, mostly for its Kafka support and joins that need no code per system. These questions describe Orbital's own use case, which favours Orbital in this comparison. Our bare-name search instead returned information about space companies.

What Orbital can do about it​

Answer the questions agents raised​

The agent's reservations were the same across sessions: a smaller vendor, a niche query language, and how its joins perform when they turn into many small API calls. A page that answers each one, with customer examples and numbers for large joins, could give agents something to quote in place of a guess.

Pair the name with what it does​

Our one search for "Orbital" on its own returned data centres in space. Using "Orbital data gateway" in page titles and launch posts would help an agent that has only heard the name.


Integration: can an agent build with Orbital?​

Integration tests whether an agent can set up a product and use it. In one session, each agent got the same three requests. First, get access and complete the setup. Next, connect two small local REST services, one for customers and one for orders. A single request should return each customer's orders and identify who spent the most in September 2026, excluding cancelled orders. Finally, report which documentation or agent resources it used: docs, MCP servers, agent skills or llms.txt.

GOOD
Orbital
4 / 4
Correct answer, one sign-in; the only agent that used the vendor's agent tooling
GOOD
Hasura
4 / 4
Correct answer with no human steps, on the older v2 product
GOOD
Apollo GraphQL
4 / 4
Correct answer, one signup, built from memory

All three agents gave the right answer: Omar Garcia, 4,304.57. None counted the cancelled order that would have put another customer on top.

OrbitalHasuraApollo GraphQL
Hello world question to answer7 min2 min4 min
Whole session to answer15 min8 min9 min
Human stepsBrowser sign-in (2 min)NoneSignup and CLI login (2 min)
Vendor resources the agent usedLauncher script notes, llms.txt, llms-full.txt, Taxi agent skillsOne docs pageNone

The Orbital agent found Orbital's launcher script, read it before running it, and followed the notes Orbital wrote in it for AI agents. Those notes sent it to the rest of Orbital's agent tooling:

Integration · Orbital · which resources it usedWhich Orbital docs, MCP server, agent skills, SDK, or llms.txt did you use to do all this? Did you know about them before you started?
Claude Opus 5.5 · all tools · excerpt

Its header has a section called "Notes for AI agents and automation", and that's how I learned about everything else below.

…I didn't know llms.txt, llms-full.txt or the agent skills existed until the launcher script's header pointed me to them.

It downloaded the Taxi skills for writing schemas and queries, and searched llms-full.txt for each topic it needed.

The launcher started Orbital in Docker, and the agent told us to sign in at localhost:9022, which created a free account and Orbital's licence. Then it tagged both OpenAPI specs with a shared customer ID type, and Orbital loaded the project without a restart. The hello world took 7 minutes and three problems:

  • After we signed in, query API requests returned 401. The agent couldn't find docs for API keys or tokens, so it published both queries with @AllowAnonymous and explained the tradeoff:
Integration · Orbital · hello worldThere are two internal REST services in ./data: a customers API and an orders API (start them with python3 data/services.py; their OpenAPI specs are in the same folder). Using Orbital, set things up so one request returns customers together with their orders, without writing code that calls one API and then the other. Then use that to tell me which customer spent the most in September 2026, not counting cancelled orders, and how much.
Claude Opus 5.5 · all tools · excerpt

These two endpoints don't require a login. Orbital's API rejects requests unless you're signed in through the browser, so I marked both queries @AllowAnonymous to make them callable with curl.

It added that anyone on the network who can reach the machine can call them. Orbital's docs say published queries "require authentication by default" but don't show how a script or agent gets a token.
  • Two compile errors in its date handling, which it fixed from Orbital's logs.
  • A filter that compiled and returned 0 for every customer. The agent spotted that the zeros were wrong, debugged it with a temporary query, and checked the final totals against the raw data.

Orbital was the only product that calculated September totals inside a published query. The Hasura and Apollo agents added up the totals with a short script over the joined response.

The Hasura agent took another route. It skipped Hasura's current product, DDN, because it "does need an account and a browser login", and ran Hasura v2, the open-source engine, in Docker. To join the two REST services it read one docs page and ran two Hasura instances, the "parent" gateway pattern that page describes. The Apollo agent installed Rover, Apollo's CLI, from memory, asked us to sign up and log in, and joined the APIs with Apollo Connectors. Along the way it accepted Apollo's Elastic License on our behalf, then told us so.

Integration · Apollo GraphQL · which resources it usedWhich Apollo GraphQL docs, MCP server, agent skills, SDK, or llms.txt did you use to do all this? Did you know about them before you started?
Claude Opus 5.5 · all tools · excerpt

I used none of them. I didn't open any Apollo docs page, MCP server, agent skill, SDK or llms.txt during this session.

The Hasura agent's answer was similar: "I used one Hasura docs page and nothing else."

Why Orbital is behind​

The model knows Hasura and Apollo well enough to build with them from memory, and both agents finished in a few minutes. It doesn't know Taxi well, so the Orbital agent depended on Orbital's docs and skills, and spent its time on compile errors, a silent wrong result and the 401. Orbital's agent tooling is what got it to the right answer.

What Orbital can do about it​

Document how a script or agent calls the query API​

The agent signed in, got a 401 from the query API, and found no documented way to authenticate a request. It turned off authentication on its endpoints to finish the task. A docs page showing how to get a token for a script or agent, with a curl example that includes it, would keep agents from doing the same in a real deployment.

Add the silent-zero case to the TaxiQL skill​

The filter that returned 0 for every customer compiled without an error. The agent caught it because the totals didn't match the source data. A note in the writing-taxiql skill on the right way to filter a collection by two conditions would help the next agent get it right first time.

Redirect the URL agents guess first​

The agent's first docs request was orbitalhq.com/docs/getting-started, which returns a 404. A redirect to the installation guide would save that step.


What this means for Orbital​

Agents rate Orbital highly once they know it's an option. It won the three-way question and every head-to-head, and an agent built a working join with it by following the notes Orbital wrote for agents in its launcher script.

The problems come before an agent starts comparing:

  • The model knows Orbital as a data gateway and doesn't recognise "governed context layer".
  • No open search or pre-name funnel question returned Orbital; searches for its tagline found Cube.
  • Our bare-name search returned information about data centres in space.
  • Once running, its query API needs a token the docs don't explain how to get.

Most of these are fixable with pages that use the words agents search for, comparisons with the products they recommend, and a clear docs page on authenticating API calls.

Want help understanding and fixing the AX of your own technical product or platform? At Ritza our Engineering Writers work at agent speed with human-expert verification (no slop) to win at GTM.

About the author

Hash Kader
Hash KaderSoftware engineer and technical writer

Hash Kader is a software engineer and technical writer at Ritza. He contributes hands-on testing of AI tools and developer products to TechStackups, with a focus on what they're actually like to use.