Company Income Statement
curl --request POST \
--url https://api.reportify.cn/v1/stock/company-income-statement \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"symbol": "<string>",
"period": "<string>",
"limit": 123,
"start_date": "<string>",
"end_date": "<string>",
"calendar": "<string>",
"fiscal_year": "<string>",
"fiscal_quarter": "<string>"
}
'import requests
url = "https://api.reportify.cn/v1/stock/company-income-statement"
payload = {
"symbol": "<string>",
"period": "<string>",
"limit": 123,
"start_date": "<string>",
"end_date": "<string>",
"calendar": "<string>",
"fiscal_year": "<string>",
"fiscal_quarter": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
symbol: '<string>',
period: '<string>',
limit: 123,
start_date: '<string>',
end_date: '<string>',
calendar: '<string>',
fiscal_year: '<string>',
fiscal_quarter: '<string>'
})
};
fetch('https://api.reportify.cn/v1/stock/company-income-statement', 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.reportify.cn/v1/stock/company-income-statement",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'symbol' => '<string>',
'period' => '<string>',
'limit' => 123,
'start_date' => '<string>',
'end_date' => '<string>',
'calendar' => '<string>',
'fiscal_year' => '<string>',
'fiscal_quarter' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.reportify.cn/v1/stock/company-income-statement"
payload := strings.NewReader("{\n \"symbol\": \"<string>\",\n \"period\": \"<string>\",\n \"limit\": 123,\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"calendar\": \"<string>\",\n \"fiscal_year\": \"<string>\",\n \"fiscal_quarter\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.reportify.cn/v1/stock/company-income-statement")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"symbol\": \"<string>\",\n \"period\": \"<string>\",\n \"limit\": 123,\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"calendar\": \"<string>\",\n \"fiscal_year\": \"<string>\",\n \"fiscal_quarter\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.reportify.cn/v1/stock/company-income-statement")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"symbol\": \"<string>\",\n \"period\": \"<string>\",\n \"limit\": 123,\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"calendar\": \"<string>\",\n \"fiscal_year\": \"<string>\",\n \"fiscal_quarter\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": 123,
"code": 123,
"message": "<string>",
"data": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}财务数据
Company Income Statement
Current and historical income statements of publicly listed companies
POST
/
v1
/
stock
/
company-income-statement
Company Income Statement
curl --request POST \
--url https://api.reportify.cn/v1/stock/company-income-statement \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"symbol": "<string>",
"period": "<string>",
"limit": 123,
"start_date": "<string>",
"end_date": "<string>",
"calendar": "<string>",
"fiscal_year": "<string>",
"fiscal_quarter": "<string>"
}
'import requests
url = "https://api.reportify.cn/v1/stock/company-income-statement"
payload = {
"symbol": "<string>",
"period": "<string>",
"limit": 123,
"start_date": "<string>",
"end_date": "<string>",
"calendar": "<string>",
"fiscal_year": "<string>",
"fiscal_quarter": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
symbol: '<string>',
period: '<string>',
limit: 123,
start_date: '<string>',
end_date: '<string>',
calendar: '<string>',
fiscal_year: '<string>',
fiscal_quarter: '<string>'
})
};
fetch('https://api.reportify.cn/v1/stock/company-income-statement', 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.reportify.cn/v1/stock/company-income-statement",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'symbol' => '<string>',
'period' => '<string>',
'limit' => 123,
'start_date' => '<string>',
'end_date' => '<string>',
'calendar' => '<string>',
'fiscal_year' => '<string>',
'fiscal_quarter' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.reportify.cn/v1/stock/company-income-statement"
payload := strings.NewReader("{\n \"symbol\": \"<string>\",\n \"period\": \"<string>\",\n \"limit\": 123,\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"calendar\": \"<string>\",\n \"fiscal_year\": \"<string>\",\n \"fiscal_quarter\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.reportify.cn/v1/stock/company-income-statement")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"symbol\": \"<string>\",\n \"period\": \"<string>\",\n \"limit\": 123,\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"calendar\": \"<string>\",\n \"fiscal_year\": \"<string>\",\n \"fiscal_quarter\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.reportify.cn/v1/stock/company-income-statement")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"symbol\": \"<string>\",\n \"period\": \"<string>\",\n \"limit\": 123,\n \"start_date\": \"<string>\",\n \"end_date\": \"<string>\",\n \"calendar\": \"<string>\",\n \"fiscal_year\": \"<string>\",\n \"fiscal_quarter\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": 123,
"code": 123,
"message": "<string>",
"data": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}利润表
URL:/v1/stock/company-income-statement
方法: POST描述: 获取公司利润表数据。
请求参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| symbol | str | 是 | 股票代码。 |
| period | str | 否 | 报告周期:annual、quarterly、cumulative quarterly。 |
| limit | int | 否 | 返回最近 N 条记录,默认 8。 |
| start_date | str | 否 | 开始日期(YYYY-MM-DD)。 |
| end_date | str | 否 | 结束日期(YYYY-MM-DD)。 |
| calendar | str | 否 | calendar 或 fiscal,默认 fiscal。 |
| fiscal_year | str | 否 | 指定财年(如 2023)。 |
| fiscal_quarter | str | 否 | 指定财季(Q1, Q2, Q3, Q4, FY, H1, Q3 (9 months))。 |
响应参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| status | int | HTTP 状态码。 |
| code | int | 响应代码(0 表示成功)。 |
| message | str | 响应消息。 |
| data | array | 利润表数据列表。 |
| currency | str | 货币单位。 |
| end_date | str | 报告期结束日期(YYYY-MM-DD)。 |
| symbol | str | 股票代码。 |
| fiscal_year | str | 财年。 |
| fiscal_quarter | str | 财季。 |
| period | str | 报告周期类型。 |
| filling_date | str | 填报日期(YYYY-MM-DD)。 |
| total_revenue | object | 总收入。 |
| total_revenue | number | 总收入金额。 |
| operating_revenue | number | 营业收入。 |
| interest_income | number | 利息收入。 |
| net_fee_and_commission_revenue | number | 手续费及佣金净收入。 |
| other_revenue | number | 其他收入。 |
| operating_cost | object | 营业成本。 |
| operating_cost | number | 营业成本金额。 |
| interest_expenses | number | 利息支出。 |
| fees_and_commission_expenses | number | 手续费及佣金支出。 |
| gross_profit | object | 毛利润。 |
| gross_profit | number | 毛利润金额。 |
| selling_expenses | number | 销售费用。 |
| general_and_administrative_expenses | number | 一般及行政费用。 |
| research_and_development_expense | number | 研发费用。 |
| financial_expenses | number | 财务费用。 |
| financing_income | number | 融资收入。 |
| financing_cost | number | 融资成本。 |
| share_of_profits_of_associates_and_joint_ventures | number | 联营及合营企业利润份额。 |
| investment_income | number | 投资收益。 |
| other_operating_income | number | 其他营业收入。 |
| profit_before_tax | object | 税前利润。 |
| profit_before_tax | number | 税前利润金额。 |
| income_tax_expense | number | 所得税费用。 |
| net_profit | object | 净利润。 |
| net_profit | number | 净利润金额。 |
| net_profit_attributable_to_owners_of_the_parent | number | 归属母公司净利润。 |
| net_profit_attributable_to_non_controlling_interests | number | 归属非控股权益净利润。 |
| non_ifrs_net_profit | number | 非国际财报准则净利润。 |
| non_ifrs_net_profit_attributable_to_owners_of_the_parent | number | 非国际财报准则归属母公司净利润。 |
| total_comprehensive_income | object | 综合收益总额。 |
| total_comprehensive_income | number | 综合收益总额。 |
| total_comprehensive_income_attributable_to_owners_of_the_parent | number | 归属母公司综合收益总额。 |
| total_comprehensive_income_attributable_to_non_controlling_interests | number | 归属非控股权益综合收益总额。 |
| earnings_per_share | object | 每股收益。 |
| basic_earnings_per_share | number | 基本每股收益。 |
| diluted_earnings_per_share | number | 稀释每股收益。 |
请求示例
cURLcurl -X POST https://api.reportify.cn/v1/stock/company-income-statement \
-H "Authorization: Bearer 447460****09c9" \
-H "Content-Type: application/json" \
-d '{
"symbol": "00700",
"limit": 2
}'
import requests
url = "https://api.reportify.cn/v1/stock/company-income-statement"
headers = {
"Authorization": "Bearer 447460****09c9",
"Content-Type": "application/json"
}
data = {
"symbol": "00700",
"limit": 2
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
响应示例
{
"status": 200,
"code": 0,
"message": "",
"data": [
{
"currency": "CNY",
"end_date": "2025-09-30",
"symbol": "00700",
"fiscal_year": "2025",
"fiscal_quarter": "Q3",
"period": "quarterly",
"filling_date": "2025-11-13",
"total_revenue": {
"total_revenue": 192869000000.0,
"operating_revenue": 192869000000.0,
"interest_income": 0.0,
"net_fee_and_commission_revenue": 0.0,
"other_revenue": 0.0
},
"operating_cost": {
"operating_cost": 84071000000.0,
"interest_expenses": 0.0,
"fees_and_commission_expenses": 0.0
},
"gross_profit": {
"gross_profit": 108798000000.0,
"selling_expenses": 11468000000.0,
"general_and_administrative_expenses": 34259000000.0,
"research_and_development_expense": 0.0,
"financial_expenses": -500000000.0,
"financing_income": 4256000000.0,
"financing_cost": 3756000000.0,
"share_of_profits_of_associates_and_joint_ventures": 7854000000.0,
"investment_income": 2820000000.0,
"other_operating_income": 483000000.0
},
"profit_before_tax": {
"profit_before_tax": 74728000000.0,
"income_tax_expense": 9785000000.0
},
"net_profit": {
"net_profit": 64943000000.0,
"net_profit_attributable_to_owners_of_the_parent": 63133000000.0,
"net_profit_attributable_to_non_controlling_interests": 1810000000.0,
"non_ifrs_net_profit": 72796000000.0,
"non_ifrs_net_profit_attributable_to_owners_of_the_parent": 70551000000.0
},
"total_comprehensive_income": {
"total_comprehensive_income": 77030000000.0,
"total_comprehensive_income_attributable_to_owners_of_the_parent": 76499000000.0,
"total_comprehensive_income_attributable_to_non_controlling_interests": 531000000.0
},
"earnings_per_share": {
"basic_earnings_per_share": 6.949,
"diluted_earnings_per_share": 6.756
}
}
]
}
错误响应
| 状态码 | 描述 |
|---|---|
| 422 | 请求参数验证失败。 |
Authorizations
Enter your Bearer token
Body
application/json
Input schema for company income statement
Stock symbol
Report cycle: 'annual', 'quarterly', 'cumulative quarterly'
Return latest N records, default 8
Start date (YYYY-MM-DD)
End date (YYYY-MM-DD)
'calendar' or 'fiscal', default 'fiscal'
Specific fiscal year (e.g., '2023')
Specific fiscal quarter (Q1, Q2, Q3, Q4, FY, H1, 'Q3 (9 months)')
⌘I
