TL;DR
- Data Gateway is one catalogue of read-only data tools across 18 domains: social, search, people, companies, compliance, funding, SEO, finance, crypto, news, legal, weather, jobs, real estate, reviews, trade, shopping and travel.
- It holds about 1,900 endpoints from 51 sources today, and it grows on its own as new endpoints become available upstream.
- Every agent gets three built-in tools: data_search and data_describe, which are free, and data_run, which costs the tool's listed price and asks before it runs.
- Developers get the same catalogue over REST, the TypeScript SDK, the CLI and the dashboard, under Settings → Data. No connected account is needed.
- Each run is capped at 25 results and admitted at the most it can cost, billed from prepaid credits. Most runs cost under $0.02, and a failed run is normally not charged.
Most agent work starts with a lookup
A large share of the work people hand to agents begins with a fact the agent does not have. Who leads this company and how much has it raised? What did that stock report last quarter, and what do analysts say now? Is this counterparty on a sanctions list? What does a senior engineer earn in Austin? What are buyers saying about the competitor on software review sites? What did that importer ship last year?
Each of those answers sits behind a different public source with its own API, its own key and its own billing. An agent either scrapes pages through a browser, which is slow and breaks, or guesses. Today we are launching Data Gateway: one priced catalogue of read-only data tools across 18 domains, which every agent in Naive Managed Agents can search and run and which developers can call directly. Social data, the catalogue of public social media, launches with it as its social domain. The Data primitive page summarizes the surface; the API reference has every field.
Eighteen domains, one catalogue
Data Gateway holds about 1,900 ready endpoints from 51 sources today. Each tool belongs to one or more domains, and every search can be narrowed to one.
| Domain | What it covers | A question it answers |
|---|---|---|
| Social | Posts, profiles, comments, followers, hashtags and trends on 21 networks | What did this brand post on Instagram last month? |
| Search | Web, maps, shopping, image, video and app-store results | Which coffee shops rank first on the map for this neighborhood? |
| People | Person and company enrichment | What is this person's current role and employer? |
| Companies | Company profiles, enrichment and company news | How many employees does this company have, and what is its latest news? |
| Compliance | KYB checks, sanctions and company registries | Is this supplier on a sanctions list? |
| Funding | Funding rounds and investors | Who led this startup's Series A, and what else have they backed? |
| SEO | Backlinks, keywords and visibility in AI answers | Which domains link to a competitor, and does our brand appear in AI answers? |
| Finance | Quotes, earnings, analyst ratings and insider trades | What did this company report last quarter, and have insiders been selling? |
| Crypto | TVL, token prices and yields | Which protocols hold the most value locked this week? |
| News | News search | What has been written about this company in the last seven days? |
| Legal | The US Code and the Code of Federal Regulations | What does the federal regulation on this topic actually say? |
| Weather | Forecasts and current conditions | Will it rain at the venue on Saturday? |
| Jobs | Job postings and pay | Who is hiring data engineers in Berlin, and what do they pay? |
| Real estate | Property listings and details | Which real-estate listings in this zip code are under $600k? |
| Reviews | Software and company reviews | What do software reviews say buyers complain about? |
| Trade | Customs shipment records | Who are this manufacturer's overseas buyers? |
| Shopping | Retail product listings | What does this product sell for across retailers today? |
| Travel | Hotels and flights | What are the cheapest flights to Lisbon in March? |
Tools are organized by the kind of data they return, such as real-estate listings, company earnings or software reviews. No connected account is needed for any of them: the agent runs them through Managed Agents and you are billed in one place. Use it for lawful purposes only, and respect privacy laws and each source's terms, especially for data about people.
The catalogue grows by itself. When a new endpoint becomes available upstream in a domain we cover, it appears in search with no change on your side, so the set an agent can reach next month is larger than the one it reaches today.
Three tools on every agent
A catalogue of 1,900 endpoints does not fit in a prompt, and it does not have to. Every agent gets three built-in tools that let it find what it needs when it needs it.
| Tool | What it does | Cost |
|---|---|---|
data_search | Finds tools for a short query, optionally in one domain | Free |
data_describe | Returns a tool's input schema and its price | Free |
data_run | Runs the tool and returns the data as JSON; asks you first by default | The tool's listed price |
The loop is the one a person would follow. Asked about a company's last quarter, the agent searches for "earnings results" in the finance domain, reads the description of the best match to see which inputs it takes and what it costs, then runs it with the ticker. None of the three changes anything anywhere: every tool in the catalogue reads. Because search and describe are free, an agent can look around as much as it likes and only pays when it fetches data.
Calling it yourself
The same catalogue is a primitive you can call without an agent, from a script, a backend job or a notebook. The REST routes are three.
GET /v1/data/tools?query=earnings%20results&domain=finance
GET /v1/data/tools/:id
POST /v1/data/runs { "tool_id": "…", "query": { … } }The TypeScript SDK is one method per route.
const { data: tools } = await vetta.data.searchTools({
query: "earnings results",
domain: "finance",
});
const tool = await vetta.data.getTool(tools[0].id);
// tool.input is the JSON Schema for path, query and body; tool.price is what a run costs
const run = await vetta.data.run({
tool_id: tool.id,
query: { /* the inputs tool.input asks for */ },
});
// run.data is the result; run.cost_micro_usd is what was billedThe CLI covers the same three steps, which makes it easy to try an endpoint before wiring it into code.
vetta data search "earnings results" --domain finance
vetta data describe <tool_id>
vetta data run <tool_id> --query key=valueTool ids are opaque: pass back the one search gave you, unchanged. Details: API, SDK, CLI, and the agent tools in the tools reference.
The social data routes, SDK methods and CLI commands are a shortcut to the social domain of the same catalogue: the same tools under their own names.
Try it in the dashboard
Under Settings → Data the dashboard has the whole catalogue, with a chip for each domain: search it, open a tool to see its inputs and price, fill in the inputs and run it. The data comes back on the page next to what the run cost. That is the quickest way to check that an endpoint returns what you need before an agent depends on it.
What it costs
Searching the catalogue and describing a tool are free. A run costs the price the tool lists, which search and describe both show before you run anything. That listed price is the price you pay. A typical call is about $0.002 and most are under $0.02; a few company checks cost up to about $1.24 per call, and some tools are priced per result returned, and say so in their price.
Runs are billed from the same prepaid credits as everything else, on the search spend component of an agent's breakdown, beside web search and fetch. A failed run is normally not charged.
Because some tools cost more than a cent, and a per-result tool can return many results, each run is capped at 25 results and admitted at the most it can cost before anything is bought:
- Over the API, your balance must cover the listed price of one call, or of 30 results for a per-result tool (some sources bill results in blocks of 10). If it does not, the request is refused with
insufficient_creditsand nothing runs. - In an agent session, the agent takes a hold against the session's budget before it runs the tool: a per-call tool's price, or up to 30 results' worth. The hold is settled to what the run actually cost, and by default the agent asks you before each run.
- List inputs count too. A per-result tool that takes a list, such as usernames where each one is a result, accepts at most 25 items; a longer list is refused with
validation_failedbefore anything runs.
What it is, and what it is not
Being clear about the edges:
- No logins. Data Gateway never signs in as you or anyone else. It cannot see private accounts or anything behind a login.
- Read-only. Every tool reads. Nothing is posted, sent, bought or changed on any site. Publishing to social networks is the Social primitive.
- On-demand reads, not a feed. Each run answers one question when you ask it. To watch a price, a filing or a hashtag over time, run it on a schedule with a cron deployment.
Get started
Every agent already has the three tools; ask one to research a company, its funding and its reviews, and watch it search the catalogue. To call it yourself, open Settings → Data in the dashboard, or run vetta data search. The full surface is in the Data reference.
Three ways to get started with Managed Agents
Paste one prompt into Claude Code, Codex, or Cursor and it sets Managed Agents up in your project.
Create agents, run sessions, stream events, and see cost from the terminal.
FAQ
- What is Data Gateway in Naive Managed Agents?
- A read-only catalogue of data endpoints across 18 domains. An agent or a developer searches it for the question, such as a company's funding rounds or a city's weather, reads the tool's inputs and price, runs it, and gets the data back as JSON.
- How does it relate to social data?
- Social data is one domain of Data Gateway. The social_data routes, SDK methods and CLI commands are a shortcut to the social domain; an agent uses data_search with domain social to reach the same tools.
- Do I need an account with any data source?
- No. Every tool runs through Managed Agents and is billed from your Managed Agents credits. There is nothing to connect and no separate subscription.
- How much does it cost?
- Searching the catalogue and describing a tool are free. A run costs the price the tool lists: a typical call is about $0.002, most are under $0.02, a few company checks cost up to about $1.24, and some tools are priced per result. A failed run is normally not charged.
- Can an expensive tool run away with my credits?
- No. Each run is capped at 25 results and admitted at the most it can cost before anything is bought. Over the API the balance must cover that amount; an agent takes a hold for it against its session budget and, by default, asks you before each run.
- Can I use it for data about people?
- People covers person and company enrichment, such as a person's current role and employer. Use it for lawful purposes only, and respect privacy laws and each source's terms, especially for data about people.