你可能已經(jīng)為季度營收數(shù)據(jù)付了好幾年的訂閱費,也可能寫過爬蟲去券商頁面抓資產(chǎn)負債表。但你知道嗎?美國每一家上市公司的每一份強制披露文件,都有干凈的結構化數(shù)據(jù),直接以JSON格式躺在公網(wǎng)上,免費取用,還不用申請密鑰。這個一直被低估的“隱形金礦”,就是SEC的EDGAR系統(tǒng)。
我不是在說那種需要填表申請的政府數(shù)據(jù)接口。我說的是你往data.sec.gov發(fā)一個HTTP GET請求,就能拿回蘋果的季度營收、內(nèi)部人交易記錄、機構持倉變動,甚至8-K事件披露的原始權威數(shù)據(jù)。那些你花錢買的基本面數(shù)據(jù)供應商,多數(shù)也是從這個源頭清洗加工后轉賣給你的。
但這個接口有一個小到幾乎可以忽略、卻又能讓初次嘗試的人全盤崩潰的硬性要求。一旦忽略,你的IP就會被直接封禁。踩過這個坑之后,我決定把整個調(diào)用鏈路拆開,寫一段正確的、可運行的Python示例,并把這套接口背后那三個各自分工的服務徹底講清楚。
那個被稱作“SEC EDGAR API”的東西,其實是三套服務的組合
別被“Edgar API”這個含糊的叫法帶偏。它不是單一的REST端點,而是三個免費的公共服務協(xié)同運作的產(chǎn)物。理解這個架構,遠比記住某個URL重要。
第一套是結構化數(shù)據(jù)接口,域名就是data.sec.gov。它返回的是JSON格式的公司提交記錄,以及從附注中提取出的XBRL財務事實數(shù)據(jù)。這就是你能直接拿到標準化利潤表、資產(chǎn)負債表數(shù)字的地方。第二套是全文本搜索服務,掛在efts.sec.gov下面,它索引了從2001年至今每一份申報文件的全文內(nèi)容,包括各種附件和展示文件,支持關鍵詞搜索。第三套最不起眼但缺它不可——一個叫company_tickers.json的小文件,維護著股票代碼、公司名與內(nèi)部ID之間的映射關系。前兩套服務都用這個內(nèi)部ID來定位公司,而你自己手里的只有一串股票代碼。
每套服務都不需要注冊,不需要申請API密鑰。但它們共同要求一個HTTP請求頭的存在。很多人就是在這里摔了第一跤。
EDGAR不用股票代碼識別公司,它用一串叫CIK的數(shù)字
提到蘋果公司,你會先想到AAPL這個代碼。但在EDGAR的體系里,AAPL沒有任何意義。這家公司被標記為一個獨一無二的整數(shù)——中央索引鍵,簡稱CIK。蘋果的CIK是320193。你想查任何一家公司的申報數(shù)據(jù),都得先把股票代碼翻譯成這個數(shù)字。
company_tickers.json文件就是干這件事的字典。你從里面拿到映射關系,然后才能調(diào)用其他接口。但拿到數(shù)字還不夠。第二個更隱蔽的陷阱出現(xiàn)在構造URL的時候:CIK必須被填充到正好10位,前面補零。蘋果的320193要變成CIK0000320193。你直接傳原始數(shù)字,服務器不會報錯說“你格式不對”,它只會平靜地返回一個404。這是整個流程中最常見的靜默失敗點。正確的做法是把補零邏輯封裝成一個輔助函數(shù),之后就永遠不用再面對這個問題。
你不聲明自己的身份,EDGAR就封你IP十分鐘
這條規(guī)則就是那個“絕對性”的硬門檻。SEC執(zhí)行的是一套公平訪問策略:每個請求的請求頭里必須帶上User-Agent字段,明確說出你是誰。官方的表述很客氣,要求你提供一個聯(lián)系方式——通常是你的名字和郵箱地址。但如果你不帶這個頭部,或者用編程語言HTTP庫的默認值糊弄過去,服務器會直接返回403 Forbidden,并且對你的IP實施大約十分鐘的屏蔽。
別問我是怎么反復確認這條規(guī)則的。在研究這篇文章的過程中,我用一個自動化腳本來抓取SEC的文檔說明頁面,特意去掉了User-Agent聲明。結果返回的不是超時,不是限流提示,就是403 Forbidden——毫秒級響應,精準拒絕。這不是偶發(fā)的邊界情況,而是系統(tǒng)設計時就定下的行為。
這條看似簡單的規(guī)則有一條令人意外的連鎖推論:普通的網(wǎng)頁瀏覽器根本無法直接消費這些數(shù)據(jù)接口。根據(jù)Fetch規(guī)范,瀏覽器端的JavaScript被明文禁止設置User-Agent請求頭,它被歸入“禁止修改的頭部”名單。這就意味著,一個純前端工具在物理上無法向data.sec.gov發(fā)出合規(guī)請求。市面上所有基于瀏覽器的EDGAR輔助工具,本質(zhì)上都退化為查詢語句構造器或者預覽面板——真正獲取數(shù)據(jù)的請求必須經(jīng)過一個后端代理。
這反過來成了嚴肅數(shù)據(jù)工程實踐的一道分水嶺。想用純前端方案“白嫖”這個頂級數(shù)據(jù)源,從規(guī)格上就被堵死了。那些接入了后端、老老實實聲明了身份和聯(lián)系方式的開發(fā)者,則可以無限制地拿到從2001年至今所有申報文件的全文搜索能力、標準化的XBRL財務事實數(shù)據(jù)、以及每家公司完整提交歷史的元數(shù)據(jù)。而這些數(shù)據(jù),正是你下個月可能要續(xù)費的那個商業(yè)數(shù)據(jù)庫的原始飼料。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.