美国企业信息查询API集成指南(Python / Node.js)

2026年10月22日 3 分钟阅读
美国企业查询APIAPI集成PythonNode.jsKYB企业信息查询OpenSOSData

美国企业信息查询API集成指南(Python / Node.js)

对于中国跨境从业者而言,核实美国合作方的企业主体资质已从"最佳实践"演变为法规层面的硬性要求。无论是根据中国人民银行反洗钱(AML)规定开展客户尽职调查,还是依照国家外汇管理局(SAFE)规定申报对外付款,抑或遵循商务部(MOFCOM)跨境投资备案流程,您都必须能够快速、可靠地获取美国企业的官方注册信息。

OpenSOSData 提供覆盖全美50个州及华盛顿特区、波多黎各、美属维尔京群岛的企业信息查询REST API,数据库收录超过3400万家企业实体,直接对接各州州务卿(Secretary of State)官方记录。本文将手把手带您完成API集成,并提供可直接用于生产环境的Python与Node.js代码示例。


一、为什么中国从业者必须核实美国企业信息

1. 中国AML合规要求

根据《反洗钱法》及中国人民银行相关规定,金融机构和特定非金融机构在与境外主体建立业务关系前,须完成客户身份识别(KYC/KYB)。核查美国合作方是否在州务卿处合法注册、是否处于Active(活跃)状态,是识别空壳公司和洗钱风险的第一道防线。

2. SAFE外汇申报要求

通过银行向美国企业汇出资金时,外汇管理局要求提供真实的贸易或投资背景材料,其中包括境外收款方的有效注册证明。若对方企业在州注册系统中显示为"Dissolved"(已注销)或"Revoked"(撤销),汇款将面临合规风险乃至被拒付。

3. MOFCOM对外投资备案

依据商务部《境外投资管理办法》,中国企业对外直接投资须向商务部或地方主管部门进行备案,申报材料中须包含被投资境外企业的营业执照或等效注册文件。调用州务卿API可在数秒内获取包含注册编号、注册日期、注册代理人等关键字段的官方数据,极大简化备案材料准备流程。

4. 美国出口管制与OFAC制裁背景核查

美国商务部实体清单(Entity List)和财政部OFAC制裁名单日益影响中美贸易。通过核实企业的州注册ID与注册名称,可辅助识别名称变更或关联主体,为后续制裁筛查提供准确的锚点数据。


二、OpenSOSData API 核心参数说明

完整文档请参阅 opensosdata.com/docs/。以下是最关键的请求参数:

参数 类型 说明
state string 美国州代码,如 "DE"(特拉华州)、"CA"(加利福尼亚州)
query string 企业名称或注册编号
cache_preference string live_only(实时查询)/ cache_first(优先缓存)/ cache_only(仅缓存)

定价对比

查询类型 标准价格 大批量最低价 适用场景
实时查询(live_only) $0.10 / 次
(约¥0.73)
$0.0314 / 次 AML尽调、付款核验
缓存查询(cache_first) $0.01 / 次
(约¥0.073)
$0.00314 / 次 批量数据核查、背景筛查

平台采用按需付费(Pay As You Go)模式,无月费、无最低消费,适合从单次尽调到高频合规系统的各类场景。立即注册请访问 app.opensosdata.com。


开始验证美国企业实体,每次查询 $0.10 起

实时查询 $0.10 起,批量价格低至 $0.0314。按需付费。

免费注册

三、cURL 快速验证

在集成代码之前,先用cURL验证API连通性:

# 查询特拉华州注册的企业(实时查询模式)
curl -X POST https://api.opensosdata.com/v1/lookup \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "state": "DE",
    "query": "OpenAI LLC",
    "cache_preference": "live_only"
  }'

四、Python 集成示例

以下示例适用于Python 3.8+,使用标准库requests,无需额外框架。

import requests
import json

# ────────────────────────────────────────
# 配置区域:替换为您的真实API Key
# 在 https://app.opensosdata.com 注册后获取
# ────────────────────────────────────────
API_KEY = "YOUR_API_KEY"
API_ENDPOINT = "https://api.opensosdata.com/v1/lookup"

def lookup_us_company(state: str, query: str, cache_preference: str = "cache_first") -> dict:
    """
    查询美国州务卿注册企业信息
    
    参数:
        state: 州代码(如 "DE", "CA", "NY")
        query: 企业名称或注册编号
        cache_preference: 查询模式
            - "live_only"   实时查询,费用 $0.10/次,适合AML/付款核验
            - "cache_first" 优先缓存,费用 $0.01/次,适合批量筛查
            - "cache_only"  仅缓存,最低成本
    
    返回:
        包含企业注册信息的字典
    """
    headers = {
        "x-api-key": API_KEY,
        "Content-Type": "application/json"
    }
    
    payload = {
        "state": state,
        "query": query,
        "cache_preference": cache_preference
    }
    
    try:
        response = requests.post(API_ENDPOINT, headers=headers, json=payload, timeout=15)
        response.raise_for_status()  # 非2xx状态码将触发异常
        return response.json()
    except requests.exceptions.Timeout:
        print("请求超时,请检查网络连接或稍后重试")
        raise
    except requests.exceptions.HTTPError as e:
        print(f"API错误: {e.response.status_code} - {e.response.text}")
        raise


def print_company_info(result: dict) -> None:
    """格式化输出企业关键信息,用于合规报告"""
    if not result.get("data"):
        print("未查询到匹配企业")
        return
    
    company = result["data"]
    print("=" * 50)
    print(f"企业名称     : {company.get('name', 'N/A')}")
    print(f"企业类型     : {company.get('entity_type', 'N/A')}")
    print(f"注册编号     : {company.get('entity_id', 'N/A')}")
    print(f"注册状态     : {company.get('status', 'N/A')}")  # Active / Dissolved 等
    print(f"成立日期     : {company.get('formation_date', 'N/A')}")
    print(f"注册代理人   : {company.get('registered_agent', 'N/A')}")
    print(f"注册代理地址 : {company.get('registered_agent_address', 'N/A')}")
    print("=" * 50)


# ────────────────────────────────────────
# 主程序:演示单次查询与批量查询
# ────────────────────────────────────────
if __name__ == "__main__":
    
    # 示例1:实时查询——用于对外付款前的SAFE合规核验
    print("\n【实时查询示例 — 适用于外汇申报前核验】")
    result = lookup_us_company(
        state="DE",
        query="Stripe Inc",
        cache_preference="live_only"  # 实时拉取,$0.10/次
    )
    print_company_info(result)
    
    # 示例2:批量缓存查询——用于MOFCOM投资备案批量核查
    print("\n【批量缓存查询示例 — 适用于投资备案材料准备】")
    companies_to_check = [
        {"state": "CA", "query": "Sequoia Capital Operations LLC"},
        {"state": "NY", "query": "Goldman Sachs Group Inc"},
        {"state": "DE", "query": "Tesla Inc"},
    ]
    
    for company in companies_to_check:
        result = lookup_us_company(
            state=company["state"],
            query=company["query"],
            cache_preference="cache_first"  # 优先缓存,$0.01/次
        )
        print_company_info(result)

五、Node.js 集成示例

以下示例使用Node.js内置的fetch(Node 18+)或axios(兼容低版本):

// 美国企业信息查询 - Node.js 集成示例
// 适用于 Node 18+ (原生 fetch) 或安装 axios 后的低版本 Node
// 注册API Key: https://app.opensosdata.com

const API_KEY = "YOUR_API_KEY";
const API_ENDPOINT = "https://api.opensosdata.com/v1/lookup";

/**
 * 查询美国州务卿注册企业
 * @param {string} state - 州代码,如 "DE", "CA"
 * @param {string} query - 企业名称或注册编号
 * @param {string} cachePreference - live_only | cache_first | cache_only
 */
async function lookupUSCompany(state, query, cachePreference = "cache_first") {
  const response = await fetch(API_ENDPOINT, {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      state,
      query,
      cache_preference: cachePreference,  // 注意:使用 cache_preference 而非其他字段名
    }),
  });

  if (!response.ok) {
    const errText = await response.text();
    throw new Error(`API错误 ${response.status}: ${errText}`);
  }

  return response.json();
}

// 格式化输出,方便集成进合规报告系统
function printCompanyInfo(result) {
  const company = result?.data;
  if (!company) {
    console.log("未查询到匹配企业");
    return;
  }
  console.log("企业名称    :", company.name ?? "N/A");
  console.log("注册状态    :", company.status ?? "N/A");  // Active表示有效存续
  console.log("注册编号    :", company.entity_id ?? "N/A");
  console.log("成立日期    :", company.formation_date ?? "N/A");
  console.log("注册代理人  :", company.registered_agent ?? "N/A");
  console.log("---");
}

// 主程序
(async () => {
  try {
    // AML尽调:实时查询,确保数据最新
    console.log("=== AML合规实时查询 ===");
    const liveResult = await lookupUSCompany("DE", "Coinbase Global Inc", "live_only");
    printCompanyInfo(liveResult);

    // MOFCOM备案:缓存查询,降低批量核查成本
    console.log("=== 投资备案批量查询 ===");
    const cachedResult = await lookupUSCompany("CA", "Apple Inc", "cache_first");
    printCompanyInfo(cachedResult);
  } catch (error) {
    console.error("查询失败:", error.message);
  }
})();

六、常见问题解答

Q:OpenSOSData覆盖哪些州和地区?

OpenSOSData覆盖全美50个州、华盛顿特区(D.C.)、波多黎各及美属维尔京群岛,数据库收录超过3400万家企业实体。对于在特拉华州注册LLC的中国企业而言,DE州的查询尤为重要。详情见 官方文档。

Q:live_only 与 cache_first 有什么区别?应该如何选择?

live_only 直接向州务卿官网实时拉取最新数据,适合AML尽调、对外付款核验等对数据时效性要求高的场景,费用为 $0.10/次;cache_first 优先返回平台缓存数据,成本低至 $0.01/次,适合批量背景筛查、MOFCOM备案材料准备等场景。请勿使用不存在的 lookup_type 字段。

Q:API返回哪些字段?能否满足SAFE外汇申报对企业资质证明的要求?

API返回字段包括:企业名称(name)、企业类型(entity_type,如LLC/Corporation)、注册编号(entity_id)、注册状态(status)、成立日期(formation_date)、注册代理人(registered_agent)及其地址。这些字段与州务卿官方记录一致,可作为对外付款合规材料的数据来源,配合官方截图共同提交银行或外汇局。

Q:定价模式是什么?是否需要签年度合同?

OpenSOSData采用完全按需付费(Pay As You Go)模式:实时查询标准价格 $0.10/次,大批量可降至 $0.0314/次;缓存查询标准价格 $0.01/次,大批量可降至 $0.00314/次。无月费、无年费、无最低消费要求。在 app.opensosdata.com 注册后即可按量充值使用。

Q:如何处理企业名称不完整或存在多个同名企业的情况?

建议优先使用企业注册编号(Entity ID)作为查询参数,可避免同名歧义。若只有企业名称,可结合州代码缩小范围,并对返回的多条结果根据成立日期、注册状态进行人工或程序化筛选,确认唯一主体后再用于合规报告。

Q:对于中国企业在特拉华州注册的LLC,查询结果是否包含成员信息?

特拉华州LLC的成员(Member)信息不在州务卿公开记录中披露,API返回的是公开注册信息,包括注册代理人和企业状态。如需股权穿透信息,需结合其他数据源(如FinCEN BOI报告)进行综合尽调。

Q:集成过程中遇到网络连接问题怎么办?

若从中国大陆服务器调用API,建议将API请求路由至具备境外访问能力的服务端发出,避免直接从受限网络环境调用。同时建议在代码中设置合理的超时时间(如15秒)并实现重试机制,确保生产环境稳定性。


结语

随着中美跨境合规审查日趋严格,能够在业务流程中自动化核验美国企业注册状态,已成为中国出口商、投资机构和合规团队的核心能力之一。OpenSOSData 提供的API以极低成本、极简接口将这一能力标准化——无论是Python批处理脚本、Node.js后端服务还是内部合规系统,均可在数小时内完成集成。

立即前往 app.opensosdata.com 注册账号,获取API Key并开始按需使用。测试。如需深入了解所有参数与返回字段,请查阅 完整开发者文档。

开始验证美国企业实体,每次查询 $0.10 起

实时查询 $0.10 起,批量价格低至 $0.0314。按需付费。

免费注册
由OpenSOSData团队撰写,专注于美国州务卿数据与企业实体验证API。