curl --request GET \
--url https://api.aisa.one/apis/v1/financial/financial-metrics \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/financial/financial-metrics"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aisa.one/apis/v1/financial/financial-metrics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/financial/financial-metrics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/financial/financial-metrics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aisa.one/apis/v1/financial/financial-metrics")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/financial/financial-metrics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"accession_number": "<string>",
"asset_turnover": 123,
"book_value_growth": 123,
"book_value_per_share": 123,
"cash_ratio": 123,
"currency": "<string>",
"current_ratio": 123,
"days_sales_outstanding": 123,
"debt_to_assets": 123,
"debt_to_equity": 123,
"earnings_growth": 123,
"earnings_per_share": 123,
"earnings_per_share_growth": 123,
"ebitda_growth": 123,
"enterprise_value": 123,
"enterprise_value_to_ebitda_ratio": 123,
"enterprise_value_to_revenue_ratio": 123,
"filing_date": "2023-12-25",
"filing_datetime": "2023-11-07T05:31:56Z",
"filing_url": "<string>",
"fiscal_period": "<string>",
"form_type": "<string>",
"free_cash_flow_growth": 123,
"free_cash_flow_per_share": 123,
"free_cash_flow_yield": 123,
"gross_margin": 123,
"interest_coverage": 123,
"inventory_turnover": 123,
"net_margin": 123,
"next_page_url": "<string>",
"operating_cash_flow_ratio": 123,
"operating_cycle": 123,
"operating_income_growth": 123,
"operating_margin": 123,
"payout_ratio": 123,
"peg_ratio": 123,
"period": "quarterly",
"price_to_book_ratio": 123,
"price_to_earnings_ratio": 123,
"price_to_sales_ratio": 123,
"quick_ratio": 123,
"receivables_turnover": 123,
"report_period": "2023-12-25",
"return_on_assets": 123,
"return_on_equity": 123,
"return_on_invested_capital": 123,
"revenue_growth": 123,
"ticker": "<string>",
"working_capital_turnover": 123
}Get Financial Metrics
某家公司跨期的估值、利润率和回报率等计算比率。
curl --request GET \
--url https://api.aisa.one/apis/v1/financial/financial-metrics \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/financial/financial-metrics"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aisa.one/apis/v1/financial/financial-metrics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/financial/financial-metrics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/financial/financial-metrics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aisa.one/apis/v1/financial/financial-metrics")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/financial/financial-metrics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"accession_number": "<string>",
"asset_turnover": 123,
"book_value_growth": 123,
"book_value_per_share": 123,
"cash_ratio": 123,
"currency": "<string>",
"current_ratio": 123,
"days_sales_outstanding": 123,
"debt_to_assets": 123,
"debt_to_equity": 123,
"earnings_growth": 123,
"earnings_per_share": 123,
"earnings_per_share_growth": 123,
"ebitda_growth": 123,
"enterprise_value": 123,
"enterprise_value_to_ebitda_ratio": 123,
"enterprise_value_to_revenue_ratio": 123,
"filing_date": "2023-12-25",
"filing_datetime": "2023-11-07T05:31:56Z",
"filing_url": "<string>",
"fiscal_period": "<string>",
"form_type": "<string>",
"free_cash_flow_growth": 123,
"free_cash_flow_per_share": 123,
"free_cash_flow_yield": 123,
"gross_margin": 123,
"interest_coverage": 123,
"inventory_turnover": 123,
"net_margin": 123,
"next_page_url": "<string>",
"operating_cash_flow_ratio": 123,
"operating_cycle": 123,
"operating_income_growth": 123,
"operating_margin": 123,
"payout_ratio": 123,
"peg_ratio": 123,
"period": "quarterly",
"price_to_book_ratio": 123,
"price_to_earnings_ratio": 123,
"price_to_sales_ratio": 123,
"quick_ratio": 123,
"receivables_turnover": 123,
"report_period": "2023-12-25",
"return_on_assets": 123,
"return_on_equity": 123,
"return_on_invested_capital": 123,
"revenue_growth": 123,
"ticker": "<string>",
"working_capital_turnover": 123
}market_cap、enterprise_value、price_to_earnings_ratio、price_to_book_ratio、price_to_sales_ratio、enterprise_value_to_ebitda_ratio、free_cash_flow_yield、peg_ratio、gross_margin、operating_margin、net_margin、return_on_equity、return_on_assets、return_on_invested_capital,以及周转率和流动性比率,每项都带 report_period 和 fiscal_period 标记。period 为必填;用 ticker 或 cik 指定公司。适合用于查看某个比率跨期的走势。如果只需要当前值,get_financial_financial_metrics_snapshot 只返回一行,数据量小得多。
https://mcp.aisa.one/mcp —— Claude Code、
Codex、Cursor、VS Code 都可以。鉴权走 OAuth:客户端打开浏览器,你点一次
Allow,不需要粘贴任何 key。之后智能体通过几个元工具调用所有端点:
search、list_categories、get_details 和 batch_quote 免费,batch_use
按次计费。各客户端的接入步骤见通过 MCP 连接;实时工具列表和
每次调用的价格见 aisa.one/zh-cn/mcp。请求规范
- 方法与路径: GET /apis/v1/financial/financial-metrics
- 可用状态: enabled
- 请求 URL 模板: https://api.aisa.one/apis/v1/financial/financial-metrics
- cik: query; 可选
- cursor: query; 可选
- exchange: query; 可选
- filing_date: query; 可选
- filing_date_gt: query; 可选
- filing_date_gte: query; 可选
- filing_date_lt: query; 可选
- filing_date_lte: query; 可选
- isin: query; 可选
- limit: query; 可选
- period: query; 必填
- report_period: query; 可选
- report_period_gt: query; 可选
- report_period_gte: query; 可选
- report_period_lt: query; 可选
- report_period_lte: query; 可选
- ticker: query; 可选
- Runtime 事实版本: 694a99fb21efca575a4b8ff0db4c82ec36667c583b6490faf3c0b3ff64e0beaa
{
"operationId": "get_financial_financial_metrics",
"method": "GET",
"path": "/apis/v1/financial/financial-metrics",
"servers": [
{
"url": "https://api.aisa.one"
}
],
"parameters": [
{
"description": "The Central Index Key (CIK) of the company. Can be used instead of ticker.",
"in": "query",
"name": "cik",
"required": false,
"schema": {
"type": "string"
}
},
{
"description": "Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it.",
"in": "query",
"name": "cursor",
"required": false,
"schema": {
"type": "string"
}
},
{
"description": "The exchange the ticker is listed on. Omit for US listings. Use `LSE` for the London Stock Exchange; any ticker of the company, including a second share class, returns the company's metrics. Price-based values (market cap, enterprise value, valuation ratios, dividend yield) are not yet available for UK tickers.",
"in": "query",
"name": "exchange",
"required": false,
"schema": {
"enum": [
"LSE"
],
"type": "string"
}
},
{
"description": "Filter by exact SEC filing date in YYYY-MM-DD format. Rows without a known filing date are excluded.",
"in": "query",
"name": "filing_date",
"required": false,
"schema": {
"format": "date",
"type": "string"
}
},
{
"description": "Filter by SEC filing date greater than date in YYYY-MM-DD format. Rows without a known filing date are excluded.",
"in": "query",
"name": "filing_date_gt",
"required": false,
"schema": {
"format": "date",
"type": "string"
}
},
{
"description": "Filter by SEC filing date greater than or equal to date in YYYY-MM-DD format. Rows without a known filing date are excluded.",
"in": "query",
"name": "filing_date_gte",
"required": false,
"schema": {
"format": "date",
"type": "string"
}
},
{
"description": "Filter by SEC filing date less than date in YYYY-MM-DD format. Rows without a known filing date are excluded.",
"in": "query",
"name": "filing_date_lt",
"required": false,
"schema": {
"format": "date",
"type": "string"
}
},
{
"description": "Filter by SEC filing date less than or equal to date in YYYY-MM-DD format. Useful for point-in-time queries: returns only data that was publicly filed by the given date. Rows without a known filing date are excluded.",
"in": "query",
"name": "filing_date_lte",
"required": false,
"schema": {
"format": "date",
"type": "string"
}
},
{
"description": "The ISIN (International Securities Identification Number) of a non-US listing. An alternative to `ticker` and `exchange`.",
"in": "query",
"name": "isin",
"required": false,
"schema": {
"type": "string"
}
},
{
"description": "The maximum number of results to return. This is the total across all pages, not a page size: each page holds up to 10 records, linked by `next_page_url`.",
"in": "query",
"name": "limit",
"required": false,
"schema": {
"type": "integer"
}
},
{
"description": "The time period for the financial data.",
"in": "query",
"name": "period",
"required": true,
"schema": {
"enum": [
"annual",
"quarterly",
"ttm"
],
"type": "string"
}
},
{
"description": "Filter by exact report period date in YYYY-MM-DD format.",
"in": "query",
"name": "report_period",
"required": false,
"schema": {
"format": "date",
"type": "string"
}
},
{
"description": "Filter by report period greater than date in YYYY-MM-DD format.",
"in": "query",
"name": "report_period_gt",
"required": false,
"schema": {
"format": "date",
"type": "string"
}
},
{
"description": "Filter by report period greater than or equal to date in YYYY-MM-DD format.",
"in": "query",
"name": "report_period_gte",
"required": false,
"schema": {
"format": "date",
"type": "string"
}
},
{
"description": "Filter by report period less than date in YYYY-MM-DD format.",
"in": "query",
"name": "report_period_lt",
"required": false,
"schema": {
"format": "date",
"type": "string"
}
},
{
"description": "Filter by report period less than or equal to date in YYYY-MM-DD format.",
"in": "query",
"name": "report_period_lte",
"required": false,
"schema": {
"format": "date",
"type": "string"
}
},
{
"description": "The ticker symbol of the company. Required if cik is not provided.",
"in": "query",
"name": "ticker",
"required": false,
"schema": {
"type": "string"
}
}
],
"security": [
{
"bearerAuth": []
}
],
"x-aisa-status": "enabled",
"x-aisa-pricing": {
"cost_contract": "fixed_success",
"customer_multiplier": 1.0,
"customer_pricing": "provider_cost_multiplier",
"default_request_estimate_usd": 0.02,
"estimate_source": "profile_seed",
"evidence_source": "request_snapshot"
},
"components": {
"securitySchemes": {
"bearerAuth": {
"scheme": "bearer",
"type": "http"
}
}
}
}
费用与请求规则
公开参考价格:每次成功请求 $0.02 USD。 最终费用以账户适用价格及实际结算为准。 公开参考值不是你的账户报价或最终扣费。对于支持 X-AISA-Cost-Mode: quote 的接口,执行前请针对完整请求获取免费报价;执行后通过响应费用元数据和 Usage Logs 核对结算费用。1 USD 等于 1,000,000 个整数 micro-USD。- 默认请求参考估价(USD): 0.02
- 计费依据: fixed_success
- 公开参考倍率: 1.0
- 结算证据来源: request_snapshot
授权
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
查询参数
公司的中央索引键(CIK)。可代替 ticker 使用。
Opaque pagination cursor from a previous response's next_page_url. When provided, all other query parameters are ignored: the cursor carries the original request's filters. Treat it as opaque; do not construct or modify it.
The exchange the ticker is listed on. Omit for US listings. Use LSE for the London Stock Exchange; any ticker of the company, including a second share class, returns the company's metrics. Price-based values (market cap, enterprise value, valuation ratios, dividend yield) are not yet available for UK tickers.
LSE Filter by exact SEC filing date in YYYY-MM-DD format. Rows without a known filing date are excluded.
Filter by SEC filing date greater than date in YYYY-MM-DD format. Rows without a known filing date are excluded.
Filter by SEC filing date greater than or equal to date in YYYY-MM-DD format. Rows without a known filing date are excluded.
Filter by SEC filing date less than date in YYYY-MM-DD format. Rows without a known filing date are excluded.
Filter by SEC filing date less than or equal to date in YYYY-MM-DD format. Useful for point-in-time queries: returns only data that was publicly filed by the given date. Rows without a known filing date are excluded.
The ISIN (International Securities Identification Number) of a non-US listing. An alternative to ticker and exchange.
The maximum number of results to return. This is the total across all pages, not a page size: each page holds up to 10 records, linked by next_page_url.
财务数据的时间段。
annual, quarterly, ttm 按 YYYY-MM-DD 格式的确切报告期日期筛选。
按报告周期筛选,报告周期须晚于 YYYY-MM-DD 格式的日期。
筛选报告期大于或等于 YYYY-MM-DD 格式指定日期的数据。
筛选报告周期早于指定日期的报告,日期格式为 YYYY-MM-DD。
筛选报告期小于或等于 YYYY-MM-DD 格式指定日期的数据。
公司的股票代码。如果未提供 cik,则此项为必填。
响应
某个 ticker 的历史财务指标和比率
The SEC accession number of the filing.
营收除以平均总资产。
账面价值同比增长率。
股东权益除以流通股数。
现金及现金等价物除以流动负债。
财务数据的报告币种。
流动资产除以流动负债。
该期间的平均应收账款除以收入。
总债务除以总资产。
总债务除以股东权益。
盈利同比增长率。
净利润除以加权平均流通股数。
该期间内每股收益的增长。
期内 EBITDA 增长。
公司的总价值(市值 + 债务 - 现金)。
企业价值与 EBITDA 的比率。
企业价值与营收之比。
Calendar day SEC accepted the filing, in Eastern Time (the SEC's operating timezone). Calendar-day pair to filing_datetime. Null when no dated SEC filing is linked to the row.
Sub-day timestamp recording when SEC accepted the filing, in Eastern Time. Sourced from SEC's acceptanceDateTime field on the EDGAR submissions API. Pairs with filing_date (calendar-day precision of the same event).
SEC 申报文件的 URL。
The fiscal period of the financial metrics.
The SEC form this row was sourced from (10-K, 10-Q/A, 20-F, S-1, ...). The exact form as filed, so amendments keep their /A suffix. Null when period is ttm: a trailing twelve month window can span multiple filings, so we don't attribute it to one. A quarterly row can carry 10-K when the fourth quarter is derived from the fiscal-year filing.
该期间内自由现金流的增长。
自由现金流除以流通股数。
自由现金流收益率。
毛利润占营收的百分比。
EBIT 除以利息支出。
销售成本除以平均存货。
净利润占收入的百分比。
Absolute URL of the next page of results. Present only when more results remain; request it as-is to continue. Each page holds up to 10 records.
经营现金流除以流动负债。
存货周转率 + 应收账款周转率。
该期间的营业利润增长额。
营业收入占营收的百分比。
已支付股息占净利润的百分比。
市盈增长比率。
The time period of the financial metrics.
quarterly, ttm, annual 市净率。
市盈率。
市销率。
速动资产除以流动负债。
收入除以平均应收账款。
The reporting period of the financial metrics.
净利润占总资产的百分比。
净利润占股东权益的百分比。
税后净营业利润占投入资本的百分比。
营收同比增长率。
公司的股票代码。
收入除以平均营运资本。