The stock market API designed for agents.

We serve real-time and historical market data as one queryable table. Your agent turns any question into a query.

Read the docs →

Free plan: 10,000 calls a month, no card required.

Live10M+ calls served

The market was always a table. We serve it as one.

Every ticker is a row. Every data point is a column.

PriceVolumePrice actionTechnicalsFundamentalsEventsProfileAnalyst ratingsNews
tickerpricemin_closemin_highmin_lowmin_openprev_day_highprev_day_lowprev_day_openprevious_closeprice_asofprice_sourceabove_premarket_highabove_session_openabove_yesterday_closeabove_yesterday_highafterhours_priceat_session_highat_session_lowbelow_premarket_lowbelow_yesterday_lowpremarket_pricesession_highsession_lowsession_opentested_session_high_recenttested_session_low_recent52_week_high52_week_lowapproaching_52w_highapproaching_52w_lowat_20d_highat_20d_lowat_52w_highat_52w_lowdays_since_52w_highdays_since_52w_lowfrom_52w_high_pctfrom_52w_low_pcthigh_20dhigh_20d_eodhigh_52whigh_52w_datehigh_52w_eodhigh_5dhigh_5d_eodlast_20d_high_datelast_20d_low_datelow_20dlow_20d_eodlow_52wlow_52w_datelow_52w_eodlow_5dlow_5d_eodposition_in_52w_range_pctat_resistanceat_supportbounce_off_supportavg_volume_10davg_volume_30dday_dollar_volumemin_day_accumulated_dollar_volumemin_day_accumulated_volumemin_dollar_volumemin_trade_countmin_volumeprev_day_volumevolume_todayhigh_volume_alertilliquidlow_volume_regimequiet_minuterelative_volumevolume_burst_3xvolume_burst_5xvolume_change_vs_avgvolume_trend_5dafterhours_change_pctchange_1d_pctchange_1m_pctchange_1w_pctchange_1y_pctchange_3m_pctchange_6m_pctchange_ytd_pctday_changedays_downdays_upfrom_open_pctpremarket_change_pctprice_down_3pctprice_up_3pcttop_gainertop_losergap_downgap_down_extremegap_filled_todaygap_pctgap_upgap_up_extremeafternoon_drift_uplast_hour_rallylast_hour_selloffmicrospike_downmicrospike_upmomentum_downmomentum_exhaustion_downmomentum_exhaustion_upmomentum_strong_downmomentum_strong_upmomentum_upmorning_strengthopening_drive_downopening_drive_uppre_close_drift_downpre_close_drift_uppre_earnings_driftrapid_move_down_5mrapid_move_up_5mthree_down_hoursthree_up_hoursabove_opening_rangebelow_opening_rangeconsolidating_15mconsolidationexpanded_hourly_rangehourly_reversal_bearishhourly_reversal_bullishin_opening_rangenarrow_hourly_rangepullbackrange_break_15m_downrange_break_15m_uprange_expansionrepeated_test_of_highrepeated_test_of_lowsticky_breakoutabove_sma_10above_sma_20above_sma_200above_sma_50above_vwapabove_vwap_minuteday_vwapdeath_crossdeath_regimeema_12ema_21ema_26ema_9from_sma_10_pctfrom_sma_100_pctfrom_sma_20_pctfrom_sma_200_pctfrom_sma_50_pctfrom_vwap_pctgolden_crossgolden_regimeheld_above_vwap_30mheld_below_vwap_30mmin_vwapprev_day_vwapsma_10sma_10_crossed_above_50_todaysma_10_crossed_below_50_todaysma_100sma_20sma_200sma_50vwapvwap_cross_downvwap_cross_uprsi_14rsi_7rsi_overboughtrsi_oversoldstochastic_dstochastic_kadx_14in_downtrendin_uptrendmacd_above_signalmacd_below_signalmacd_histogrammacd_linemacd_signalminus_diplus_ditrend_longtrend_mediumtrend_reversal_bearish_todaytrend_reversal_bullish_todaytrend_shortat_bollinger_lowerat_bollinger_upperatr_14atr_pctbollinger_bbollinger_lowerbollinger_middlebollinger_squeezebollinger_upperbollinger_widthvwap_lower_bandvwap_upper_bandbasic_earnings_per_sharecost_of_revenuecosts_and_expensesdiluted_eps_ttmearnings_growth_yoy_pctebitdaepseps_diluted_fyfy_period_endgross_profitgross_profit_ttmincome_loss_from_continuing_operations_after_taxincome_loss_from_continuing_operations_before_taxincome_tax_expense_benefitnet_income_fynet_income_lossnet_income_loss_attributable_to_noncontrolling_interestnet_income_loss_attributable_to_parentnet_income_loss_available_to_common_stockholders_basicnonoperating_income_lossoperating_expensesoperating_income_lossresearch_and_developmentrevenue_by_geographyrevenue_by_productrevenue_by_segmentrevenue_fyrevenue_growth_yoy_pctrevenue_growth_yoy_quarterly_pctrevenue_per_share_ttmrevenue_ttmrevenuesselling_general_and_administrative_expensesaccounts_payableassetsbook_valuecash_and_short_term_investmentscash_on_handcurrent_assetscurrent_liabilitiesequityequity_attributable_to_noncontrolling_interestequity_attributable_to_parentfixed_assetsinventoryliabilitiesliabilities_and_equitylong_term_debtnoncurrent_assetsnoncurrent_liabilitiesother_current_assetsother_current_liabilitiesother_noncurrent_assetstotal_debtfree_cash_flownet_cash_flownet_cash_flow_continuingnet_cash_flow_from_financing_activitiesnet_cash_flow_from_financing_activities_continuingnet_cash_flow_from_investing_activitiesnet_cash_flow_from_investing_activities_continuingnet_cash_flow_from_operating_activitiesnet_cash_flow_from_operating_activities_continuingcash_ratiocurrent_ratiodebt_to_equitygross_marginhigh_marginoperating_marginoperating_margin_ttmprofit_marginprofit_margin_ttmprofitablequick_ratioreturn_on_assetsreturn_on_assets_ttmreturn_on_equityreturn_on_equity_ttmbetacap_classdividend_yieldenterprise_valueev_to_ebitdaev_to_salesforward_pehigh_betahigh_dividend_yieldlarge_caplow_betamarket_capmega_capmicro_capmid_capnano_cappe_ratiopeg_ratioprice_to_bookprice_to_cash_flowprice_to_free_cash_flowprice_to_salesratios_asofsmall_capvalue_stockbasic_average_sharesdiluted_average_sharesetf_holdersfloat_sharesfree_float_pctinsiders_pctinstitutions_pctlow_floatshares_outstandingultra_low_floatweighted_shares_outstandingdays_to_coverhigh_short_interestshort_float_pctshort_interestshort_interest_settlement_dateshort_volume_ratioshort_volume_spikedays_to_earningsearnings_approachingearnings_beat_streakearnings_dateearnings_date_projectedearnings_fiscal_quarterearnings_next_weekearnings_publishedearnings_report_timeearnings_this_weekearnings_todayearnings_tomorrowlast_earnings_datelast_earnings_surpriselast_earnings_surprise_pctlast_fiscal_quarter_endlast_reported_epsrecently_reported_earningsdividenddividend_approachingdividend_datedividend_frequencydividend_payout_ratiodividend_ttmex_dividend_dateipo_dateipo_in_7dpending_iporecently_ipoedbuyback_30ddilution_30dfloat_effective_datesplit_recentinsider_c_suite_buyinsider_c_suite_sellinsider_cluster_buyindustrysectorsic_codesic_descriptionticker_categoryactiveasset_classasset_typecikcomposite_figicountrycurrency_namedelisted_utcexchangeexchange_micincorporation_countryissuer_countrylist_datenameaddress_address1address_cityaddress_postal_codeaddress_statebranding_icon_urlbranding_logo_urldescriptionfundamentals_basishomepage_urlinactive_atinactive_reasonleadershipphone_numberreporting_currencyround_lotshare_class_figiticker_roottotal_employeesetf_dividend_yieldetf_expense_ratioetf_inception_dateetf_leveragedetf_net_assetsetf_turnoveranalyst_consensus_ratinganalyst_consensus_rating_valueanalyst_count_buyanalyst_count_holdanalyst_count_sellanalyst_count_strong_buyanalyst_count_strong_sellanalyst_count_totalanalyst_count_with_targetbearish_consensusbullish_consensuswell_coveredlast_rating_actionlast_rating_datelast_rating_firmrecent_downgraderecent_initiationrecent_target_lowerrecent_target_raiserecent_upgradeabove_price_targetanalyst_consensus_target_priceanalyst_target_price_highanalyst_target_price_lowanalyst_target_upside_pctbelow_price_targettarget_downside_above_10pcttarget_upside_above_10pcttarget_upside_above_25pcteps_estimate_revision_down_30deps_estimate_revision_up_30destimate_revised_downestimate_revised_uphigh_earnings_estimatelast_eps_estimateloss_estimatenext_eps_estimatenext_eps_estimate_highnext_eps_estimate_lownext_revenue_estimateprofitable_estimatehighly_relevant_news_countlatest_news_atnews_sentiment_volatilitynews_volumenews_volume_weighted_sentimentrecent_news_count
AAPL——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
MSFT——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
NVDA——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
GOOGL——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
AMZN——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
META——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
TSLA——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

The table is the API.

/v2/tickers/ returns one ticker’s whole row. /v2/signals/ returns every ticker that matches one column. /v2/scan returns every ticker that matches a WHERE clause. Every read runs live or as of any date.

The questionThe query
Is NVDA above its 200-day average?GET /v2/tickers/NVDA
Which stocks are above their 200-day average?GET /v2/signals/above_sma_200
Which of those just beat earnings?POST /v2/scan q=above_sma_200 AND last_earnings_surprise_pct > 0
Which of those are large caps?POST /v2/scan q=… AND market_cap > 1e10
Which were on Jan 22, 2024?POST /v2/scan q=… asof=2024-01-22
Tell me when one joins the list.POST /v2/scan/subscribe q=…

The power is in the columns.

Every ticker gets the same columns. Query any of them, in any combination.

Price· 58

Price levels and records: quotes, bars, session levels, rolling highs and lows, and the signals those levels own.

Price action· 60

How price is moving, read straight off the price record: changes, gaps, momentum episodes, range structures.

Technicals· 68

Named technical indicators (SMA, EMA, VWAP, RSI, MACD, ADX, Bollinger, ATR) and every signal computed through one.

Fundamentals· 121

Company financials: statement lines as reported, the ratios and multiples built on them, share structure, and short positioning.

Events· 36

What happened or is scheduled to happen to the company: earnings, dividends, IPOs, share-capital changes, insider transactions.

Profile· 43

Who and what the security is: classification and identity data, looked up rather than computed.

Analyst ratings· 41

What analysts think: the consensus, each firm’s actions, price targets, and estimates.

Ask any question.

Anything you want to know about the market is a query over the table.

Which stocks beat earnings, are above their 200-day, and just had a price target raised?

last_earnings_surprise_pct > 0AND above_sma_200AND recent_target_raiseTry it →

Which large caps are 20% off their high but still growing revenue over 10%?

market_cap > 1e10AND from_52w_high_pct < -20AND revenue_growth_yoy_pct > 10Try it →

Which stocks are at a 52-week high with news behind it?

at_52w_highAND recent_news_count > 0Try it →

Which heavily shorted stocks report earnings this week?

short_float_pct > 20AND earnings_this_weekTry it →

Which large caps yield over 4% and still grew earnings last year?

dividend_yield > 0.04AND earnings_growth_yoy_pct > 0AND market_cap > 1e10Try it →

Which stocks had a golden cross after beating earnings twice in a row?

golden_crossAND earnings_beat_streak >= 2Try it →

Which tech stocks trade under 15 times earnings with positive news sentiment?

sector = 'Technology'AND pe_ratio < 15AND news_volume_weighted_sentiment > 0Try it →

Which ETFs charge under 0.1% and hold over $10B?

etf_expense_ratio < 0.1AND etf_net_assets > 1e10Try it →

Which large caps were below their 200-day at the October 2023 low, on Oct 27, 2023?

NOT above_sma_200AND market_cap > 1e10asof 2023-10-27Try it →

Build any trading tool.

Each one is a few calls to the table.

Stock screener

One SQL WHERE clause screens every ticker server-side.

Build guide →

Backtester

As-of scans give point-in-time candidate sets with no look-ahead or survivorship bias.

Build guide →

Alert bot

Write the condition in SQL, get a push when it fires.

Build guide →

Trading algorithm

Define the entry and exit condition in one SQL q, backtest it as of any past date, subscribe it as a webhook.

Build guide →

AI trading agent

Tickerbot ships as an MCP server: one install, and the whole table is one tool in Claude, Cursor, ChatGPT, or any MCP runtime.

Build guide →

Fintech app

One row per ticker with every signal, aligned series for the widgets, websocket push for freshness.

Build guide →

See how we compare.

Other stock market APIs serve one data type at a time, so any real question is a custom integration. With Tickerbot, your agent just queries the table.

The questionAnywhere elseTickerbot
Is NVDA above its 200-day average?A quote call, an indicator call, and the comparison.Every question is one query.
Which stocks are above their 200-day average?That for every ticker, rate-limited. Hours, not a step.
Which of those just beat earnings?A second feed for earnings, and the join.
Which of those are large caps?A third feed for market caps, and another join.
Which were on Jan 22, 2024?Every ticker that traded that day, delisted ones included, stored before you asked.
Tell me when one joins the list.All of that again, on a loop, forever.

10M+ calls served.

What people are saying.

“dude. whoah.”
President, ShopifyHarley Finkelstein
“Tickerbot is insane. It turns Claude into a quant.”
Quantitative Finance MScLounes Vennema
“Best value for hobbyists and advanced traders alike.”
AI Engineer, ImergeRon Reid

Get a key. Run a scan.

Read the docs →

Free plan: 10,000 calls a month, no card required.