Twelve Data for AI agents

Twelve Data provides real-time and historical market data for stocks, forex, crypto, and ETFs, used by developers building trading tools and financial dashboards. Connect it once through Arc0, and your agent, or Claude, ChatGPT and Cursor, can use it through one MCP endpoint, limited to what each user approved.

AnalyticsAPI keyMCP + RESTtwelvedata.com
AUDIT LOG · TWELVE DATAPOLICY: acme-support
09:41:07 · claude · u_8f2read
twelve_data.get_ad
Get AD Indicator✓ allowed · 212ms
09:41:08 · claude · u_8f2read
twelve_data.get_apo
Get APO (Absolute Price Oscillator)✓ allowed · 164ms
09:41:09 · claude · u_8f2write
twelve_data.quote
Quote✓ approved · approved by user
EVERY TWELVE DATA CALL, ON THE RECORD
01 · USE CASES

What agents do in Twelve Data.

01

Get a batch of quotes

Pull current prices for a list of symbols in one request, a read-only market check.

02

Get technical indicators

Retrieve an indicator, like Bollinger Bands, calculated for a symbol.

03

Check API usage

Read remaining API calls before running a large batch of requests.

02 · ACTIONS

107 Twelve Data actions, graded by risk.

Every Twelve Data action is tagged read, write or destructive, so one policy covers the whole app and new actions inherit the right default.

read

74

Look things up. Allowed by default.

  • twelve_data.get_ad
    Get AD Indicator
  • twelve_data.get_apo
    Get APO (Absolute Price Oscillator)
  • twelve_data.get_cci
    Get CCI
  • twelve_data.get_cmo
    Get Chande Momentum Oscillator
  • twelve_data.get_dpo
    Get Detrended Price Oscillator
  • twelve_data.get_eod
    Get End of Day Price
  • twelve_data.get_max
    Get Maximum Value
  • twelve_data.get_roc
    Get Rate of Change (ROC)
  • twelve_data.get_sum
    Get Summation (SUM)
  • twelve_data.get_var
    Get Variance (VAR)
  • twelve_data.get_wma
    Get Weighted Moving Average (WMA)
  • twelve_data.get_ceil
    Get Ceiling (CEIL)
  • twelve_data.get_hlc3
    Get HLC3 Average
  • twelve_data.get_logo
    Get Logo
  • twelve_data.get_macd
    Get MACD
  • twelve_data.get_mama
    Get MAMA
+ 58 MORE

write

33

Create and change things. Allow, or ask the user first.

  • twelve_data.quote
    Quote
  • twelve_data.correl
    Correlation Coefficient
  • twelve_data.indices
    List market indices
  • twelve_data.earnings
    Earnings
  • twelve_data.cash_flow
    Cash Flow
  • twelve_data.dividends
    Dividends
  • twelve_data.etfs_type
    Get ETF Types
  • twelve_data.exchanges
    List supported exchanges
  • twelve_data.etfs_world
    ETF World
  • twelve_data.etfs_family
    ETFS Family
  • twelve_data.forex_pairs
    List supported forex pairs
  • twelve_data.stocks_list
    List Stocks
  • twelve_data.time_series
    Time Series
  • twelve_data.eps_revisions
    EPS Revisions
  • twelve_data.symbol_search
    Symbol Search
  • twelve_data.countries_list
    List Countries
+ 17 MORE

destructive

0

Delete, cancel or archive. Ask first, or deny outright.

  • No destructive actions.
03 · HOW IT WORKS

Twelve Data in three steps.

  1. 01Your users connect Twelve DataThey add their Twelve Data api key on Arc0 Connect, under your brand. It goes straight into the vault.
  2. 02You set the rulesReads run, and writes like “quote” can wait for the user to approve.
  3. 03Any agent can actYour agent calls Twelve Data through the Arc0 SDK or MCP, and so can Claude, ChatGPT and Cursor. Every call lands on the audit log.
POLICY.TS
await arc0.policies.set('twelve_data', {
  read: 'allow',
  write: 'ask',        // quote
  destructive: 'deny',  
})

# Claude Code: the same connection, one URL
$ claude mcp add --transport http arc0 \
    https://mcp.arc0.ai/u/u_8f2
04 · AUTH AND DATA

How Twelve Data connects.

Users add their Twelve Data api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

The same Twelve Data connection serves your agent over MCP and your own backend over REST and the proxy, so a user connects once. How Arc0 handles credentials →

AUTH
API key
CREDENTIALS
Per-tenant encrypted vault
MODEL SEES
Results only, never credentials
AUDIT LOG
Every call, on every plan
05 · WORKS WITH

Use Twelve Data from any agent.

Claude
ChatGPT
Cursor
Codex
VS Code
OpenAI Agents SDK
Claude Agent SDK
Vercel AI SDK
Mastra
LangGraph
07 · FAQ

Twelve Data and Arc0, answered.

Q01

Can I use Twelve Data with Claude, ChatGPT or Cursor?

Yes. Connect Twelve Data to Arc0 once, then add your Arc0 MCP URL to Claude, ChatGPT, Cursor, Claude Code or any other remote-MCP client. Each assistant only gets the Twelve Data actions you allow.

Q02

How do users connect Twelve Data?

Users add their Twelve Data api key on Arc0 Connect. It is encrypted in the vault, never shown to the model, and each user can rotate or revoke it at any time.

Q03

Which Twelve Data actions can my agent take?

107 in total: 74 read, 33 write and 0 destructive, such as “quote”. Your policies decide which of them each agent may call.

Q04

Can I make my agent read-only in Twelve Data?

Yes. Allow read actions and deny writes in the Twelve Data policy. Your agent can still look things up, and any write it attempts is blocked and logged.

Q05

Can my own backend call Twelve Data too?

Yes. The same Twelve Data connection is available over REST and through the Arc0 proxy, so your product and your agent share one connection per user.

Get started

Plug Twelve Data into your agent.

Your users connect Twelve Data once, under your brand. Your agent gets 107 actions behind your policies, with every call on the record.

Free to build · MCP + REST · Audit log on every plan