API

開發者 API

MVP

查單一公司

GET /api/company/22099131
X-API-Key: YOUR_KEY

回傳公司登記基本資料、董監事列表、所營事業資料、分公司資料、公司經理人資料、出進口廠商登記資料、工廠登記資料、政府標案、商標資料、判決書資料、同負責人/同地址/同董監事/同姓名經理人關係、查詢時間與資料來源;本地母庫有資料時優先使用母庫,缺資料時補查官方 API。未設定 API key 時仍可公開查詢;正式環境可用 `REGISTRY_REQUIRE_API_KEY=1` 強制驗證。

搜尋公司

GET /api/search?q=台積

八碼數字會走統編查詢;文字會走公司名稱關鍵字搜尋,預設最多回傳 20 筆。公開流量與 API key 流量分別套用額度,回應會帶 `X-RateLimit-*` 標頭。

查 API 用量

GET /api/account/usage
X-API-Key: YOUR_KEY

回傳目前 key 的方案、每分鐘額度、月配額、已用量、剩餘量、週期與 warning level;查用量不會消耗月配額。

資料庫維運命令

npm run db:seed
npm run import:tax -- --refresh
npm run import:gcis -- --limit=100
npm run import:gcis -- --only=60318651
npm run import:trade -- --refresh
npm run import:company-manager -- --refresh
npm run import:business-director -- --api --limit=100 --api-request-limit=250
npm run import:factory -- --refresh
npm run import:procurement -- --only=93596069
npm run import:procurement -- --api-target-limit=25 --api-target-capital-min=1000000000
npm run import:procurement -- --api-target-limit=25 --api-request-delay-ms=1000 --api-retry-limit=3
npm run import:procurement -- --api-target-limit=25 --include-attempted-targets
npm run import:procurement-supplier -- --json=/path/to/procurement-supplier-profiles.json
npm run derive:procurement-supplier
npm run fetch:trademark -- --business-no=22099131 --registrations=01960234,02274519
npm run fetch:trademark-index -- --prefixes=022 --cache-dir=data/cache/tipo-trademark-indexes
npm run fetch:trademark -- --business-no=22099131 --owner-search --index-prefixes=022 --index-start-at=02274000 --index-end-at=02276000 --xml-scan-limit=500 --index-cache-dir=data/cache/tipo-trademark-indexes
npm run collect:trademark-candidates -- --from-procurement-limit=20 --per-company-limit=12
npm run fetch:trademark-batch -- --candidates=data/processed/trademark-candidates.json --per-company-limit=8 --continue-on-error
npm run import:trademark -- --json=/path/to/tipo-trademarks.json
npm run plan:judgment-api
npm run fetch:judgment -- --business-no=22099131 --jids='TPHM,110,毒抗,1212,20210831,1'
npm run fetch:judgment -- --business-no=22099131 --use-jlist --jlist-limit=500
npm run import:judgment -- --json=/path/to/judgments.json
npm run import:public-data -- --json=/path/to/public-data-matches.json
npm run verify:quality
npm run update:daily -- --dry-run

`import:tax` 會下載財政部全國營業稅籍 ZIP 並 upsert 到 SQLite;`import:gcis -- --only=` 可精準補強單一統編的負責人、董監事與營業項目;`import:trade` 會匯入出進口廠商登記資料;`import:company-manager` 會匯入公司登記經理人資料集;`import:business-director` 會匯入商業登記負責人與合夥人,API 模式可用 request cap 與 attempt ledger 控制每日批次,避免排程反覆查同一批 miss;`import:factory` 會匯入登記工廠名錄;`import:procurement` 會依統編或高資本母庫候選清單匯入政府採購標案公告,正式 API 批次會把 hit / miss / error 寫入 `procurement_api_attempts`,預設跳過已嘗試的空目標,並可用 request delay / retry limit 控制 rate limit 風險;`import:procurement-supplier` 會匯入已審核與統編比對的標案廠商主檔;`derive:procurement-supplier` 會從已匯入標案公告派生保守的廠商主檔;`fetch:trademark-index` 會下載並驗證 TIPO 官方商標索引快取;`fetch:trademark` 會從 TIPO 官方 FTPS XML 抓取指定註冊號,或用官方索引 prefix 掃描候選 XML,再用商標權人名稱 exact match 產生匯入檔;`collect:trademark-candidates` 只收集第三方頁面的註冊號線索,不直接入庫;`fetch:trademark-batch` 會把候選註冊號重新送回 TIPO 官方 XML 檢核,只有權利人 exact match 的資料才可交給 `import:trademark`;`import:trademark` 會匯入已篩選或 replay 的 TIPO 商標權資料;`plan:judgment-api` 會先檢查司法院 API 憑證、服務時段與目標設定;`fetch:judgment` 會用司法院 Auth/JList/JDoc API 依已知 JID 或近期異動清單抓取裁判書,並以公司名稱全文比對產生匯入檔;`import:judgment` 會匯入已取得或已篩選的司法院裁判書資料;`import:public-data` 會匯入已比對的政府資料開放平臺交叉引用;`update:daily` 串起匯入、GCIS 補強、驗證與 build,適合接排程器。

API key 發放

npm run api-key -- create --label=customer-a --plan=free
npm run api-key -- list
npm run api-key -- revoke --label=customer-a

API key 會寫入 ops database;密鑰只顯示一次,資料庫只保存 hash、方案、每分鐘額度與月配額。

產品邊界

Free: 120/minPro: 1,200/minPartner: 6,000/min月配額用量紀錄用量自查 API停用 key