图书ISBN信息查询

通过10位或者13位ISBN查询书号信息,包含封面图、书名、作者、出版社、价格、出版日期、装帧方式、摘要等信息。
  • 企业实名用户可用
  • 个人实名用户可用
开通接口
  • 介绍
  • API文档
  • 定价
  • 接入指南

  国际标准书号(英语:International Standard Book Number,缩写为ISBN),是国际通用的图书或独立的出版物(定期出版的期刊除外)代码。出版社可以通过国际标准书号清晰地辨认所有非期刊书籍。一个国际标准书号只有一个或一份相应的出版物与之对应。一本书的每一版或其他的变化,能够申请到一个新的国际标准书号。新版本如果在原来旧版的基础上没有内容上太大的变动,在出版时不会得到新的国际标准书号。当一本书同时有平装本与精装本出版时,平装本的国际标准书号不得用于精装本,反之也成立。

  一般来说,国际标准书号长度为13码或者10码(在2007年1月1日之前)数字,由4或者5个部分组成:

  1 GS1前导数字(仅限13码国际标准书号):通常为978或者979[1] 2 出版国家或者语言代码 3 出版商代码 4 书所分配到的号码 5 检查码

  13码的国际标准书号通常被分成5个部分(10码为4个部分),其不同部分以连字号(-)或空格清楚分开,位数是可变化的,连字号在系统处理上可被忽略;前导位数确保这串数字能被判断为国际标准书号。若有必要,连字符号必须被正确地标明;他们能使使用者较清楚判断出数字与出版商及所属国家的关系。

  过去标准书号(Standard Book Number,简称SBN)无国家及语言代码。国际标准书号出现后,多了国家代码:0为美国,1为英语系国家,2为法语系国家,3为德语系国家,4为日本,5为俄语系国家,7为中文系国家等等。国家代码最长可能为5位数字(例:不丹为99936),但相对剩下能使用、分配的位数就较为狭隘。

  负责国家国际标准书号的机构会依出版社的大小来分配其位数范围,出版商能拥有自己的代码。没有强制规定书上必须印制国际标准书号,但通常印制在版权页及书底商品条码上方。

  出版商申请之后,能分配到国际标准书号的一个数字区域,机构会依使用量来预计出版商所需要的范围并分配之,越大的出版商所取得的位数越小(如此代表书码的范围可以容纳更多)。一旦发现所分配的数字区域不敷使用,出版商能再分配到另一个范围供其使用,也就是再获得一个出版商编号。因此,各国家及各出版社的国际标准书号位数会因其状况来做最好的分配。

接口请求方式:

接口地址:https://api-s1.jiekoumao.com/app/isbn/v1
返回格式:json
请求方式:GET/POST

请求参数说明:

参数名 类型 示例 必填 说明
ak string 4b2a51b05c380db3c0f6978a9c631fd0 账户ak

JSON返回示例:

{
    "resultcode": "200",
    "reason": "查询成功",
    "result": {
        "Country": "中国",
        "Province": "江苏",
        "City": "苏州",
        "Isp": "联通"
    },
    "error_code": 0
}

图书ISBN信息查询接口流量包

您可以购买小额流量包进行业务对接测试,并根据您的业务需求自由选择购买大额流量包,更高强度的使用需求可以联系客服为您定制。

流量包购买后有效期为1年,到期后未使用的次数将会自动清空

¥100

1 万次

约¥ 0.01 / 次

¥200

3 万次

约¥ 0.007 / 次

对接步骤

仅需三步,快速帮您接入 API
1
开通/购买 API
选择想要使用的API,对API做开通或购买操作
2
使用 AK 测试 API
使用 AK 填入相应参数,即可对 API 进行测试。AK 在用户中心》API Key下修改
3
编写代码接入 API

示例代码

<?php


$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api-s1.jiekoumao.com/app/isbn/v1?ak=4b2a51b05c380db3c0f6978a9c631fd0",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_POSTFIELDS => ""
));

$response = curl_exec($curl);

$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
Request request = new Request.Builder()
  .url("https://api-s1.jiekoumao.com/app/isbn/v1?ak=4b2a51b05c380db3c0f6978a9c631fd0")
  .method("GET",null)
  .addHeader("X-APISpace-Token","")
  .build();

Response response = client.newCall(request).execute();
import requests

url = "https://api-s1.jiekoumao.com/app/isbn/v1?ak=4b2a51b05c380db3c0f6978a9c631fd0"

payload = ""

headers = {
}

response=requests.request("GET", url, params=payload, headers=headers)

print(response.text)
var data = {

}

$.ajax({
    "url":"https://api-s1.jiekoumao.com/app/isbn/v1?ak=4b2a51b05c380db3c0f6978a9c631fd0",
    "method": "GET",
    "data": data,
    "crossDomain": true
})
    .done(function(response){})
    .fail(function(jqXHR){})
var request = require("request");
var requestInfo={
   method: "GET",
   url: "https://api-s1.jiekoumao.com/app/isbn/v1?ak=4b2a51b05c380db3c0f6978a9c631fd0",
   form: {

   }
};

request(requestInfo, function (error, response, body) {
    if (error) throw new Error(error);
    console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://api-s1.jiekoumao.com/app/isbn/v1?ak=4b2a51b05c380db3c0f6978a9c631fd0")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request.body = ""

response = http.request(request)
puts response.read_body
package main

import (
     "bytes"
     "encoding/json"
     "fmt"
     "io/ioutil"
     "net/http"
)

func main() {
     body, err := request()
     if err != nil {
      fmt.Println(err)
      return
     }
     fmt.Println(string(body))
}

func request() ([]byte, error) {
    uri := "https://api-s1.jiekoumao.com/app/isbn/v1?ak=4b2a51b05c380db3c0f6978a9c631fd0"

    payload := strings.NewReader("")

    req, _ := http.NewRequest("GET", uri, bytes.NewBuffer(data))

    res, err := http.DefaultClient.Do(req)
    if err != nil {
      return nil, err
    }
    defer res.Body.Close()
    return ioutil.ReadAll(res.Body)
}