营业执照识别OCR API实战:1行代码完成企业信息自动提取(附Python/Java/PHP/JS完整示例)
导读:在企业资质管理、金融风控、商家入驻审核等场景中,营业执照信息的手动录入一直是效率瓶颈。本文将手把手教您用1行核心代码调用营业执照识别OCR API,自动提取企业名称、统一社会信用代码、法定代表人等全部关键字段,附4种主流编程语言实战代码。
一、营业执照识别API能帮你做什么?

无论是B2B平台的企业入驻审核、金融机构的KYC(了解你的客户)流程,还是供应链系统的供应商资质管理,企业信息的录入都严重依赖人工操作。传统方式费时费力又容易出错。
营业执照识别API与传统手工录入的对比如下:
| 对比项 | 传统手工录入 | 营业执照识别API |
|---|---|---|
| 平均耗时 | 2~3分钟/单 | <2秒 |
| 人工成本 | 需专人录入 | 自动完成 |
| 数据质量 | 易错/漏字 | 精准结构化 |
| 批量处理 | 困难 | 轻松批量 |
支持的识别字段包括但不限于:
-
统一社会信用代码(关键字段)
-
企业名称
-
法定代表人
-
注册资本
-
成立日期与营业期限
-
经营范围
-
发照机关等
二、接入前的准备工作
-
注册账号获取API密钥:访问[公司OCR产品官网]注册账号,在API控制台获取AppKey和AppSecret(新用户一般有免费试用额度)。
-
了解API基本信息:
-
请求方式:POST
-
数据格式:JSON(图片以Base64编码或URL形式提交)
-
返回内容:结构化JSON数据
-
💡 小贴士:如果识别出的营业执照信息不准确,可参考[《OCR 识别不准确怎么办?模糊 / 倾斜 / 反光图片优化实战》],从图片预处理角度提升识别准确率。
三、完整的代码接入示例
以下示例在核心代码行里循环所有字段输出信息;注意替换YOUR_API_KEY等参数。
以下营业执照识别OCR支持免费在线体验,API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
// ==============================================================================
// API文档:https://market.shiliuai.com/doc/business-license-ocr
// 支持免费在线体验
// API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
// ==============================================================================
//main.java
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Base64;
public class Main {
public static String get_base64(String path) {
String b64 = "";
try {
// 使用Commons IO简化文件读取
byte[] content = FileUtils.readFileToByteArray(new File(path));
// 使用JDK自带的Base64
b64 = Base64.getEncoder().encodeToString(content);
} catch (IOException e) {
e.printStackTrace();
}
return b64;
}
public static void main(String[] args) {
String url = "https://ocr-api.shiliuai.com/api/business_license_ocr/v1"; // 请求接口
String appcode = "你的APPCODE";
String file_path = "本地文件路径";
Map headers = new HashMap<>();
headers.put("Authorization", "APPCODE " + appcode);
headers.put("Content-Type", "application/json");
// 请求体
JSONObject requestObj = new JSONObject();
requestObj.put("file_base64", get_base64(file_path));
String bodys = requestObj.toString();
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
// 创建POST请求
HttpPost httpPost = new HttpPost(url);
// 设置请求头
for (Map.Entry entry : headers.entrySet()) {
httpPost.addHeader(entry.getKey(), entry.getValue());
}
// 设置请求体
StringEntity entity = new StringEntity(bodys, "UTF-8");
httpPost.setEntity(entity);
// 执行请求
HttpResponse response = httpClient.execute(httpPost);
int stat = response.getStatusLine().getStatusCode();
if (stat != 200) {
System.out.println("Http code: " + stat);
return;
}
String res = EntityUtils.toString(response.getEntity());
JSONObject res_obj = JSON.parseObject(res);
System.out.println(res_obj.toJSONString());
} catch (Exception e) {
e.printStackTrace();
}
}
}

3.1 Python版本
# ==============================================================================
# API文档:https://market.shiliuai.com/doc/business-license-ocr
# 支持免费在线体验
# API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
# ==============================================================================
# -*- coding: utf-8 -*-
import requests
import base64
import json
# 请求接口
URL = "https://ocr-api.shiliuai.com/api/business_license_ocr/v1"
# 文件转base64
def get_base64(file_path):
with open(file_path, 'rb') as f:
data = f.read()
b64 = base64.b64encode(data).decode('utf8')
return b64
def demo(appcode, file_path):
# 请求头
headers = {
'Authorization': 'APPCODE %s' % appcode,
'Content-Type': 'application/json'
}
# 请求体
b64 = get_base64(file_path)
data = {"file_base64": b64}
# 请求
response = requests.post(url=URL, headers=headers, json=data)
content = json.loads(response.content)
print(content)
if __name__=="__main__":
appcode = "你的APPCODE"
file_path = "本地文件路径"
demo(appcode, file_path)
3.2 Java版本
// ==============================================================================
// API文档:https://market.shiliuai.com/doc/business-license-ocr
// 支持免费在线体验
// API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
// ==============================================================================
//main.java
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Base64;
public class Main {
public static String get_base64(String path) {
String b64 = "";
try {
// 使用Commons IO简化文件读取
byte[] content = FileUtils.readFileToByteArray(new File(path));
// 使用JDK自带的Base64
b64 = Base64.getEncoder().encodeToString(content);
} catch (IOException e) {
e.printStackTrace();
}
return b64;
}
public static void main(String[] args) {
String url = "https://ocr-api.shiliuai.com/api/business_license_ocr/v1"; // 请求接口
String appcode = "你的APPCODE";
String file_path = "本地文件路径";
Map headers = new HashMap<>();
headers.put("Authorization", "APPCODE " + appcode);
headers.put("Content-Type", "application/json");
// 请求体
JSONObject requestObj = new JSONObject();
requestObj.put("file_base64", get_base64(file_path));
String bodys = requestObj.toString();
try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
// 创建POST请求
HttpPost httpPost = new HttpPost(url);
// 设置请求头
for (Map.Entry entry : headers.entrySet()) {
httpPost.addHeader(entry.getKey(), entry.getValue());
}
// 设置请求体
StringEntity entity = new StringEntity(bodys, "UTF-8");
httpPost.setEntity(entity);
// 执行请求
HttpResponse response = httpClient.execute(httpPost);
int stat = response.getStatusLine().getStatusCode();
if (stat != 200) {
System.out.println("Http code: " + stat);
return;
}
String res = EntityUtils.toString(response.getEntity());
JSONObject res_obj = JSON.parseObject(res);
System.out.println(res_obj.toJSONString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
💡 延伸学习:了解Java环境下的基础OCR接入流程,推荐阅读[《身份证 OCR 识别 API 接入详解(Python / Java 示例)》]。
3.3 PHP版本
// ==============================================================================
// API文档:https://market.shiliuai.com/doc/business-license-ocr
// 支持免费在线体验
// API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
// ==============================================================================
//文件转base64
function get_base64($path){
if($fp = fopen($path, "rb", 0)) {
$binary = fread($fp, filesize($path)); // 文件读取
fclose($fp);
$b64 = base64_encode($binary); // 转base64
}else{
$b64="";
printf("%s 文件不存在", $path);
}
return $b64;
}
$url = "https://ocr-api.shiliuai.com/api/business_license_ocr/v1";
$appcode = "你的appcode";
$file_path = "本地文件路径";
$method = "POST";
//请求头
$headers = array();
array_push($headers, "Authorization:APPCODE " . $appcode);
array_push($headers, "Content-Type:application/json");
//请求体
$b64 = get_base64($file_path);
$data = array(
"file_base64" => $b64
);
$post_data = json_encode($data);
//请求
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
$result = curl_exec($curl);
var_dump($result)
3.4 JavaScript(Node.js)版本
// ==============================================================================
// API文档:https://market.shiliuai.com/doc/business-license-ocr
// 支持免费在线体验
// API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
// ==============================================================================
// 需 Node.js 18+(内置 fetch)
const fs = require('fs');
const apiUrl = 'https://ocr-api.shiliuai.com/api/business_license_ocr/v1';
const appcode = '你的APPCODE';
const filePath = '本地文件路径';
async function main() {
const fileBase64 = fs.readFileSync(filePath).toString('base64');
const res = await fetch(apiUrl, {
method: 'POST',
headers: {
Authorization: 'APPCODE ' + appcode,
'Content-Type': 'application/json'
},
body: JSON.stringify({ file_base64: fileBase64 })
});
const text = await res.text();
if (!res.ok) {
console.error('Http code:', res.status, text);
return;
}
console.log(JSON.stringify(JSON.parse(text), null, 2));
}
main().catch(console.error);
四、延伸应用:识别+核验完整方案
采集到营业执照信息后,一个典型的高价值延伸场景是企业四要素核验。将识别出的企业与工商官方数据库进行匹配校验,自动判断营业执照真伪和经营状态,这对金融风控、企业尽调等场景至关重要。
💡 推荐阅读:接下来可以进一步参考[《订单 OCR + 自动发货系统完整实现(含架构 + 数据流 + 代码)》],了解OCR识别后如何对接业务流程实现自动化。
五、常见问题与注意事项
Q1:什么类型的图片识别效果最好?
-
推荐使用JPG格式图片,识别率略高
-
单张图片大小不超过5MB
-
建议优先选择横版、清晰平整的证件扫描或照片
Q2:API可以批量处理多张图片吗?
-
根据不同套餐和调用限制,支持高并发批量调用。具体接入方式和并发控制策略请参考官方文档。
Q3:API返回错误怎么办?
-
常见错误包括:图片格式不支持、图片尺寸过大、无法识别出证件信息等。请确认图片为有效营业执照照片,且符合像素与拍摄角度要求。
六、总结
营业执照识别OCR API可以帮助您快速实现企业信息的自动化采集、结构化输出与合规校验。本文提供的四段示例代码,无论您使用哪种编程语言,只需1行核心代码即可轻松集成到现有系统中。
欢迎免费体验我们的营业执照识别产品:https://market.shiliuai.com/business-license-ocr
支持免费在线体验,API文档清晰,提供多种接入语言示例(如python、js、C#、java、php等),以及自动化脚本语言(如天诺、懒人精灵、按键精灵、易语言、EasyClick、触动精灵等)
如果您在使用过程中有任何问题,欢迎在评论区留言交流。我们后续还会推出更多OCR识别与图片处理系列教程,包括智能抠图、发票识别、医疗票据识别等精彩内容,欢迎关注本专栏持续学习。
标签
#营业执照识别 #OCR识别 #API接入 #Python #Java #PHP #JavaScript #企业认证 #石榴智能 #shiliuAI
更多推荐



所有评论(0)