用户协议
关键词搜索量信息APIv2
批量查询关键词搜索量、收录量、指数
  • 接口状态:正常
  • 接入服务商: 5118.com
  • 使用人数:32338 人
  • 更新时间:2022-08-02
  • 应用类别: 关键词挖掘
低至: 0.008 元/次 ( 查询1个关键词,计1次调用 )
  • API说明
  • 错误码参照
  • 价格与请求限制
  • 示例代码
详细说明:
  • 接口地址:http://apis.5118.com/keywordparam/v2
  • 返回格式:json
  • 请求方式:POST

步骤一:批量提交查询请求,并获得提取结果ID
请求示例:http://apis.5118.com/keywordparam/v2
提交任务调试工具: Postman示例
提交任务请求参数说明:
名称 类型 必填 默认值 说明
keywords string 指定的关键词,多个用“|”隔开(一次最多能提交50个关键词)
提交任务返回参数说明:
名称 类型 默认值 说明
errcode string 0 返回的错误代码
errmsg string 返回的错误说明
taskid int 成功返回的任务ID
提交检测任务JSON返回示例:
{
    "errcode": "0",
    "errmsg": "",    
    "data": {
        "taskid": 1
    }
}

步骤二:根据提取结果ID查询数据是否采集完成,如果完成则得到Json格式结果
由于是实时查询,搜索引擎频率限制以及特定时间API访问量大等原因,数据采集返回在1-10分钟。建议提取任务间隔为60s,如有问题或想提升速度,请联系 客服微信
请求示例:http://apis.5118.com/keywordparam/v2
获取检测结果调试工具: Postman示例
获取检测结果请求参数说明:
名称 类型 必填 默认值 说明
taskid int 要检测的任务ID
获取检测结果返回参数说明:
名称 类型 默认值 说明
errcode string 0 返回的错误代码
errmsg string 返回的错误说明
taskid int 当前任务ID
keyword string 关键词
index int 流量指数
mobile_index int 移动指数
haosou_index int 360指数
bidword_kwc int 竞价竞争度(1、高 2、中 3、低)
bidword_pcpv int PC检索量
bidword_wisepv int 移动检索量
collect_count int 收录量
long_keyword_count int 长尾词个数
bidword_price int SEM点击价格
bidword_company_count int 竞价公司数量
根据任务ID获取结果JSON返回示例:
{
    "errcode": "0",
    "errmsg": "",
    "data": {
        "taskid": xxxxxxxx,
        "keyword_param": [
            {
                "keyword": "气相色谱仪",
                "index": 330,
                "mobile_index": 212,
                "haosou_index": 351,
                "bidword_kwc": 1,
                "bidword_pcpv": 258,
                "bidword_wisepv": 372,
                "collect_count": 32300000,
                "long_keyword_count": 48718,
                "bidword_price": 9.30,
                "bidword_company_count": 276,
                "toutiao_index": 14,
                "douyin_index": 564,
                "bidword_recommendprice_min": 0.00,
                "bidword_recommendprice_max": 10.16,
                "age_best": "20-29",
                "age_best_value": 54.99,
                "sex_male": 48.71,
                "sex_female": 51.29,
                "bidword_showreasons": "高频热搜词"
            }
			...
				]
	}
}
提交充值订单
状态回调配置说明
服务级错误码参照(error_code):
错误码 说明
100101 调用次数不够,请充值
100102 服务每秒调用量超限
100103 服务每小时调用量超限
100104 服务每天调用量超限
100201 url无法解析
100202 请求缺少apikey
100203 无效的apikey
100204 api不存在
100205 api已经关闭
100206 服务商响应status非200
100207 服务商未正确接入
100208 请求方式不支持
100301 Api商城 内部错误
100302 请求服务商过程中错误
100303 系统繁忙稍候再试
100403 您输入的apikey不正确
系统级错误码参照:
错误码 说明
200107 服务器超时
200201 传进参数为空
200202 用户ID为空
200203 请输入要查询的关键词
200401 提交关键词的数量已达上限,一次最多能提交50个关键词
200405 请输入要检测的关键词,多个用“|”隔开
错误码格式说明:
2 002 01
服务器错误(1:为系统级别错误) 服务模块代码(即数据ID) 具体错误代码
资费说明:
名称 价格 次数 说明
首次试用套餐 0.00 100
套餐一 300.00 10000
套餐二 1500.00 100000
套餐三 7500.00 1000000
示例代码:
                                        

<?php

header("Content-type:text/html; charset=utf-8");

/*参数1:请求的URL;参数2:CURL方式设置http的请求头;参数3:要提交的数据包*/

function doCurlPostRequest($url,$header,$data){

    $ch = curl_init();

    /*请求地址*/

    curl_setopt($ch, CURLOPT_URL, $url);

    /*CURL方式设置http的请求头*/

    curl_setopt($ch, CURLOPT_HTTPHEADER,$header);

    /*文件流形式*/

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    /*发送一个常规的Post请求*/

    curl_setopt($ch, CURLOPT_POST, 1);

    /*Post提交的数据包*/

    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

    return curl_exec($ch);

}

/*请求的URL*/

$url = "http://apis.5118.com/keywordparam/v2";

/*要提交的数据包*/

$data = "keywords=电脑|电器|服装";

/*CURL方式设置http的请求头*/

$header[] = "Content-type:application/x-www-form-urlencoded";

/*输入你要调用APIAPIKEY*/

$header[] = "Authorization: APIKEY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

/*调用CURL POST函数*/

$result=doCurlPostRequest($url,$header,$data);

/* JSON 格式的字符串进行解码,并转换为 PHP 变量*/

$json = json_decode($result);

/*errcode=0 正确返回 errcode=200104 数据采集中*/

$errcode = $json->errcode;

$errmsg = $json->errmsg;

if ($errcode != "0" && $errmsg != "") {

    /*非正确返回*/

    print_r($result);

    exit;

}

/*提交查询请求后获取提取结果的任务ID*/

$taskid = $json->data->taskid; 

if ($taskid != "") {     

    /*要提交的数据包*/

    $data = "taskid=".$taskid;

    /*调用CURL POST函数*/

    $result = doCurlPostRequest($url,$header,$data);

    $json = json_decode($result);

    $errcode = $json->errcode;

    $errmsg = $json->errmsg;   

    /*errcode=200104 数据采集中*/

    if ($errcode == "200104" && $errmsg =="数据采集中") {   

        while(true){

            sleep(5);         

        /*调用CURL POST函数*/       

            $result = doCurlPostRequest($url,$header,$data);

            $errcode = $json->errcode;

            $errmsg = $json->errmsg;           

            /*errcode=0 正确返回*/

            if ($errcode == "0" && $errmsg == "") {               

                print_r($result);               

                /*退出当前的脚本*/

                exit;

            }

        }

    }

    else {

    /*返回数据结果*/

        print_r($result);

    }

}

else {

    /*返回异常或其它信息*/

    print_r($result);

}

/*退出当前的脚本*/

exit;

?>

 


  1. using System.Text;
  2. using System.Net;
  3. using System.Net.Security;
  4. using System.Security.Cryptography.X509Certificates;
  5. using Newtonsoft.Json;
  6. using System.Threading;
  7. public class ResultModel
  8. {
  9. public string errcode { get; set; }
  10. public string errmsg { get; set; }
  11. public DataModel data { get; set; }
  12. }
  13. public class DataModel
  14. {
  15. public string taskid { get; set; }
  16. }
  17. private const String host = "http://apis.5118.com";
  18. private const String path = "/keywordparam";
  19. private const String method = "POST";
  20. private const String apikey = "你要调用的接口apikey";
  21. private void Form1_Load(object sender, EventArgs e)
  22. {
  23. String querys = "";
  24. String bodys = "keywords=keywords";
  25. String url = host + path;
  26. string str = SendPost(querys, bodys, url);
  27. Console.WriteLine(str);
  28. Console.WriteLine("\n");
  29. ResultModel model = JsonConvert.DeserializeObject<ResultModel>(str);
  30. while (true)
  31. {
  32. if (!string.IsNullOrEmpty(model.data.taskid))
  33. {
  34. bodys = "taskid=taskid";
  35. string jsonStr = SendPost(querys, bodys, url);
  36. Console.WriteLine(jsonStr);
  37. break;
  38. }
  39. else
  40. {
  41. Thread.Sleep(60000);
  42. str = SendPost(querys, bodys, url);
  43. model = JsonConvert.DeserializeObject<ResultModel>(str);
  44. }
  45. }
  46. }
  47. private static string SendPost(string querys, string bodys, string url)
  48. {
  49. HttpWebRequest httpRequest = null;
  50. HttpWebResponse httpResponse = null;
  51. if (0 < querys.Length)
  52. {
  53. url = url + "?" + querys;
  54. }
  55. if (host.Contains("https://"))
  56. {
  57. ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
  58. httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
  59. }
  60. else
  61. {
  62. httpRequest = (HttpWebRequest)WebRequest.Create(url);
  63. }
  64. httpRequest.Method = method;
  65. httpRequest.Headers.Add("Authorization", apikey);
  66. //根据API的要求,定义相对应的Content-Type
  67. httpRequest.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
  68. if (0 < bodys.Length)
  69. {
  70. byte[] data = Encoding.UTF8.GetBytes(bodys);
  71. using (Stream stream = httpRequest.GetRequestStream())
  72. {
  73. stream.Write(data, 0, data.Length);
  74. }
  75. }
  76. try
  77. {
  78. httpResponse = (HttpWebResponse)httpRequest.GetResponse();
  79. }
  80. catch (WebException ex)
  81. {
  82. httpResponse = (HttpWebResponse)ex.Response;
  83. }
  84. Console.WriteLine(httpResponse.StatusCode);
  85. Console.WriteLine(httpResponse.Method);
  86. Console.WriteLine(httpResponse.Headers);
  87. Stream st = httpResponse.GetResponseStream();
  88. StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8"));
  89. return reader.ReadToEnd();
  90. }
  91. public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
  92. {
  93. return true;
  94. }
推荐API
百亿长尾词库,含指数和搜索量
获取域名(含子域名)PC端排名词

系统通知