<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: GuGuData</title>
    <description>The latest articles on DEV Community by GuGuData (@gugudata).</description>
    <link>https://dev.to/gugudata</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F846892%2Fcf1cfdc9-267e-479d-9c42-e98850cc237f.png</url>
      <title>DEV Community: GuGuData</title>
      <link>https://dev.to/gugudata</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gugudata"/>
    <language>en</language>
    <item>
      <title>英文单词中文释义查询 API 接口</title>
      <dc:creator>GuGuData</dc:creator>
      <pubDate>Mon, 09 Mar 2026 07:51:46 +0000</pubDate>
      <link>https://dev.to/gugudata/ying-wen-dan-ci-zhong-wen-shi-yi-cha-xun-api-jie-kou-kah</link>
      <guid>https://dev.to/gugudata/ying-wen-dan-ci-zhong-wen-shi-yi-cha-xun-api-jie-kou-kah</guid>
      <description>&lt;p&gt;英文单词中文释义查询 API 接口&lt;/p&gt;

&lt;p&gt;文本/NLP 英文单词释义与扩展讲解 英文词汇解析 / 分页模糊检索 文本 / 英文字典&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzpng4t99lge8m9lp8md2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzpng4t99lge8m9lp8md2.png" alt="gugudata api" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. 产品功能
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;覆盖 8000+ 常见英文词条；&lt;/li&gt;
&lt;li&gt;支持单词与释义内容双字段模糊检索；&lt;/li&gt;
&lt;li&gt;按英文单词去重后分页返回，结果更稳定；&lt;/li&gt;
&lt;li&gt;提供例句、词根词缀、记忆方法等扩展信息；&lt;/li&gt;
&lt;li&gt;接口默认 HTTPS，兼容 Apple ATS，配合多节点 CDN 提供高可用服务。&lt;/li&gt;
&lt;li&gt;全国多节点 CDN 部署；&lt;/li&gt;
&lt;li&gt;接口极速响应，多台服务器构建 API 接口负载均衡。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gugudata.com/status" rel="noopener noreferrer"&gt;接口调用状态与状态监控&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  2. API 文档
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;接口详情:&lt;/strong&gt; &lt;a href="https://www.gugudata.com/api/details/english-words-chinese" rel="noopener noreferrer"&gt;https://www.gugudata.com/api/details/english-words-chinese&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;接口地址:&lt;/strong&gt; &lt;a href="https://api.gugudata.com/text/english-words-chinese" rel="noopener noreferrer"&gt;https://api.gugudata.com/text/english-words-chinese&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;返回格式:&lt;/strong&gt; application/json; charset=utf-8&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;请求方式:&lt;/strong&gt; GET&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;请求协议:&lt;/strong&gt; HTTPS&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;请求示例:&lt;/strong&gt; &lt;a href="https://api.gugudata.com/text/english-words-chinese?appkey=YOUR_APPKEY&amp;amp;keywords=computer&amp;amp;pageSize=10&amp;amp;pageNumber=1" rel="noopener noreferrer"&gt;https://api.gugudata.com/text/english-words-chinese?appkey=YOUR_APPKEY&amp;amp;keywords=computer&amp;amp;pageSize=10&amp;amp;pageNumber=1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;数据预览:&lt;/strong&gt; &lt;a href="https://www.gugudata.com/preview/english-words-chinese" rel="noopener noreferrer"&gt;https://www.gugudata.com/preview/english-words-chinese&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;接口测试:&lt;/strong&gt; &lt;a href="https://api.gugudata.com/text/english-words-chinese/demo" rel="noopener noreferrer"&gt;https://api.gugudata.com/text/english-words-chinese/demo&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  3. 请求参数
&lt;/h1&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数名&lt;/th&gt;
&lt;th&gt;参数类型&lt;/th&gt;
&lt;th&gt;是否必须&lt;/th&gt;
&lt;th&gt;默认值&lt;/th&gt;
&lt;th&gt;备注&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;appkey&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;是&lt;/td&gt;
&lt;td&gt;YOUR_APPKEY&lt;/td&gt;
&lt;td&gt;付费后获取的 APPKEY&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;keywords&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;是&lt;/td&gt;
&lt;td&gt;computer&lt;/td&gt;
&lt;td&gt;关键词，支持对单词和释义内容模糊检索&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;pagesize&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;每页条数，取值范围 1~20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;pagenumber&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;页码，从 1 开始&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h1&gt;
  
  
  4. 返回参数
&lt;/h1&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数名&lt;/th&gt;
&lt;th&gt;参数类型&lt;/th&gt;
&lt;th&gt;备注&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;DataStatus.StatusCode&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;接口返回状态码&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DataStatus.StatusDescription&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;接口返回状态说明&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DataStatus.ResponseDateTime&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;接口数据返回时间&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DataStatus.DataTotalCount&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;去重后的总数据量，一般用于分页计算&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DataStatus.RequestParameter&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;请求参数，一般用于调试&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.Word&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;匹配到的英文单词&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.Content&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;单词对应的中文释义与扩展讲解内容&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
    </item>
    <item>
      <title>How to Extract Readable Content from Webpages with an API</title>
      <dc:creator>GuGuData</dc:creator>
      <pubDate>Tue, 27 Jan 2026 07:34:48 +0000</pubDate>
      <link>https://dev.to/gugudata/how-to-extract-readable-content-from-webpages-with-an-api-346d</link>
      <guid>https://dev.to/gugudata/how-to-extract-readable-content-from-webpages-with-an-api-346d</guid>
      <description>&lt;h1&gt;
  
  
  How to Extract Readable Content from Webpages with an API
&lt;/h1&gt;

&lt;h2&gt;
  
  
  1. What problem are we solving
&lt;/h2&gt;

&lt;p&gt;Extracting readable content from a webpage is challenging because raw HTML includes ads, navigation bars, comments and other extraneous elements.&lt;br&gt;&lt;br&gt;
Developers often need just the main text of an article for tasks like summarization, analysis or offline storage.&lt;br&gt;&lt;br&gt;
Parsing this content manually is error‑prone and time‑consuming, especially when dealing with many different website structures.&lt;br&gt;&lt;br&gt;
This guide shows how to reliably extract clean, readable content using an API.  &lt;/p&gt;
&lt;h2&gt;
  
  
  2. When you need this solution
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Building a reading mode for your application
&lt;/li&gt;
&lt;li&gt;Creating a content summarization pipeline
&lt;/li&gt;
&lt;li&gt;Performing natural language processing on article text
&lt;/li&gt;
&lt;li&gt;Saving readable text for offline access
## 3. How the API solution works
Rather than scraping and parsing HTML yourself, a readability API automatically identifies the main content within a webpage.
It strips away navigation menus, advertisements and other unrelated elements to return the core article.
The API delivers structured metadata such as title, author, language and publication time alongside the clean text.
By relying on the API, you can handle different website layouts consistently without constant maintenance.
## 4. Step‑by‑step: Extract readable content using an API
Step 1: Provide the webpage URL or HTML you want to extract content from
Step 2: Send nd the URL or HTML
Step 3: Receive a JSON response containing the article’s metadata and clean text
Step 4: Use the extracted content in your application
## 5. API request example
&lt;strong&gt;Endpoint&lt;/strong&gt;
&lt;code&gt;POST https://api.gugudata.io/v1/websitetools/readability&lt;/code&gt;
&lt;strong&gt;Headers&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Content‑Type: application/json&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Authorization: Bearer YOUR_APPKEY&lt;/code&gt;
&lt;strong&gt;Body&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;  
  &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://example.com/article"&lt;/span&gt;&lt;span class="w"&gt;  
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;  
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;cURL&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST &lt;span class="s2"&gt;"https://api.gugudata.io/v1/websitetools/readability"&lt;/span&gt; &lt;span class="se"&gt;\ &lt;/span&gt; 
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\ &lt;/span&gt; 
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer YOUR_APPKEY"&lt;/span&gt; &lt;span class="se"&gt;\ &lt;/span&gt; 
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"url": "https://example.com/article"}'&lt;/span&gt;  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;JavaScript&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;fetch&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;node-fetch&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  
&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;extractReadable&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;  
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.gugudata.io/v1/websitetools/readability&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;  
    &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  
    &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;  
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Authorization&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Bearer YOUR_APPKEY&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;  
    &lt;span class="p"&gt;},&lt;/span&gt;  
    &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://example.com/article&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt;  
  &lt;span class="p"&gt;});&lt;/span&gt;  
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;  
  &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;TextContent&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  
&lt;span class="p"&gt;}&lt;/span&gt;  
&lt;span class="nf"&gt;extractReadable&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;  
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;extract_readable&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;  
    &lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;https://api.gugudata.io/v1/websitetools/readability&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;  
    &lt;span class="n"&gt;headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;  
        &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Content-Type&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;application/json&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  
        &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Authorization&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Bearer YOUR_APPKEY&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;  
    &lt;span class="p"&gt;}&lt;/span&gt;  
    &lt;span class="n"&gt;payload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;  
        &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;url&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;https://example.com/article&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;  
    &lt;span class="p"&gt;}&lt;/span&gt;  
    &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  
    &lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;  
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;data&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;TextContent&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;  
&lt;span class="nf"&gt;extract_readable&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Example response&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;  
  &lt;/span&gt;&lt;span class="nl"&gt;"dataStatus"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;  
    &lt;/span&gt;&lt;span class="nl"&gt;"statusCode"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;  
    &lt;/span&gt;&lt;span class="nl"&gt;"statusDescription"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"OK"&lt;/span&gt;&lt;span class="w"&gt;  
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;  
  &lt;/span&gt;&lt;span class="nl"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;  
    &lt;/span&gt;&lt;span class="nl"&gt;"Title"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Example Article Title"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;  
    &lt;/span&gt;&lt;span class="nl"&gt;"Byline"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Author Name"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;  
    &lt;/span&gt;&lt;span class="nl"&gt;"Lang"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"en"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;  
    &lt;/span&gt;&lt;span class="nl"&gt;"Content"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"&amp;lt;p&amp;gt;This is the clean HTML of the article...&amp;lt;/p&amp;gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;  
    &lt;/span&gt;&lt;span class="nl"&gt;"TextContent"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"This is the clean text of the article..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;  
    &lt;/span&gt;&lt;span class="nl"&gt;"Length"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1234&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;  
    &lt;/span&gt;&lt;span class="nl"&gt;"Excerpt"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"This is a short excerpt..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;  
    &lt;/span&gt;&lt;span class="nl"&gt;"SiteName"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Example Site"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;  
    &lt;/span&gt;&lt;span class="nl"&gt;"PublishedTime"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2025-12-01T12:34:56Z"&lt;/span&gt;&lt;span class="w"&gt;  
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;  
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;  
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  6. Why use an API instead of manual scraping
&lt;/h2&gt;

&lt;p&gt;Manually scraping and parsing webpages requires custom logic for every site and ongoing maintenance when layouts change.&lt;br&gt;&lt;br&gt;
An API‑based solution hides this complexity and reliably returns the main content along with useful metadata.&lt;br&gt;&lt;br&gt;
Using the API saves development time and reduces the risk of breaking when websites update their design.  &lt;/p&gt;

&lt;h2&gt;
  
  
  7. Frequently Asked Questions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Can this API extract readable content from dynamic or JavaScript‑rendered pages?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Most static pages are supported, but pages that require JavaScript to render content may not return full results.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Is the extracted content accurate?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The API uses advanced algorithms to identify the main article body and remove noise, providing accurate results in most cases.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Does the API support non‑English websites?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Yes, the readability API can extract content from pages in various languages and will return the language code in the response.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Do I need to send both the HTML and the URL?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
No, you can provide either the full HTML of the page or the URL to fetch; the API will process whichever is provided.  &lt;/p&gt;

&lt;h2&gt;
  
  
  8. Next steps
&lt;/h2&gt;

&lt;p&gt;If you want to extract readable content from webpages without writing your own parser, you can try a readability API and integrate it into your workflow in just a few minutes. a POST request to the readability API with your app key a&lt;/p&gt;

</description>
      <category>api</category>
      <category>textprocessing</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>How to Convert HTML or Webpages to PDF with an API</title>
      <dc:creator>GuGuData</dc:creator>
      <pubDate>Tue, 27 Jan 2026 07:27:32 +0000</pubDate>
      <link>https://dev.to/gugudata/how-to-convert-html-or-webpages-to-pdf-with-an-api-ch6</link>
      <guid>https://dev.to/gugudata/how-to-convert-html-or-webpages-to-pdf-with-an-api-ch6</guid>
      <description>&lt;h1&gt;
  
  
  How to Convert HTML or Webpages to PDF with an API
&lt;/h1&gt;

&lt;h2&gt;
  
  
  1. What problem are we solving
&lt;/h2&gt;

&lt;p&gt;Saving a webpage as a PDF is harder than simply printing to paper.&lt;br&gt;&lt;br&gt;
Web pages contain dynamic content, CSS styling and scripts that don't always render correctly when captured manually.&lt;br&gt;&lt;br&gt;
Developers often need a programmatic way to turn HTML or entire URLs into shareable, high-quality PDF documents.&lt;br&gt;&lt;br&gt;
In this guide, you'll learn how to solve this problem using an API.&lt;/p&gt;
&lt;h2&gt;
  
  
  2. When you need this solution
&lt;/h2&gt;

&lt;p&gt;You may need to convert web content to PDF when:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generating printable reports from web dashboards
&lt;/li&gt;
&lt;li&gt;Archiving webpages for compliance or record keeping
&lt;/li&gt;
&lt;li&gt;Creating PDFs from user-generated HTML forms or invoices
&lt;/li&gt;
&lt;li&gt;Embedding PDF exports into applications without building your own rendering engine&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  3. How the API solution works
&lt;/h2&gt;

&lt;p&gt;A HTML-to-PDF API handles the rendering pipeline for you.&lt;br&gt;&lt;br&gt;
You pass either raw HTML or a URL, specify whether the output should be portrait or landscape, and the API converts the page to a PDF using a headless browser.&lt;br&gt;&lt;br&gt;
The service returns a link to the generated PDF along with status metadata.&lt;br&gt;&lt;br&gt;
This abstraction ensures consistent formatting across different pages and eliminates the need to maintain custom PDF generation code.&lt;/p&gt;
&lt;h2&gt;
  
  
  4. Step-by-step: Convert web content to PDF using an API
&lt;/h2&gt;

&lt;p&gt;Step 1: Decide whether you will convert HTML content or a URL and prepare the &lt;code&gt;content&lt;/code&gt; parameter accordingly&lt;br&gt;&lt;br&gt;
Step 2: Send a POST request to the HTML/URL to PDF API endpoint with your &lt;code&gt;appkey&lt;/code&gt;, &lt;code&gt;type&lt;/code&gt;, &lt;code&gt;content&lt;/code&gt; and optional &lt;code&gt;landscape&lt;/code&gt; flag&lt;br&gt;&lt;br&gt;
Step 3: Receive a JSON response containing a status object and a permanent link to the generated PDF&lt;br&gt;&lt;br&gt;
Step 4: Download or embed the PDF link into your application&lt;/p&gt;
&lt;h2&gt;
  
  
  5. API request example
&lt;/h2&gt;
&lt;h3&gt;
  
  
  cURL
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -X POST "https://api.gugudata.io/v1/imagerecognition/html2pdf" \
  -d "appkey=YOUR_APPKEY&amp;amp;type=URL&amp;amp;content=https://example.com&amp;amp;landscape=0"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Example response:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "DataStatus": {
    "StatusCode": 100,
    "StatusDescription": "请求成功。",
    "ResponseDateTime": "2026-01-27T12:00:00Z",
    "DataTotalCount": 1
  },
  "Data": "https://cdn.gugudata.io/pdf/abcd1234.pdf"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  JavaScript (fetch)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const formData = new URLSearchParams();
formData.append('appkey', 'YOUR_APPKEY');
formData.append('type', 'HTML');
formData.append('content', '&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;h1&amp;gt;Hello PDF&amp;lt;/h1&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;');
formData.append('landscape', '0');

fetch('https://api.gugudata.io/v1/imagerecognition/html2pdf', {
  method: 'POST',
  body: formData
})
  .then(response =&amp;gt; response.json())
  .then(data =&amp;gt; {
    console.log(data.Data); // URL to the generated PDF
  })
  .catch(error =&amp;gt; console.error(error));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Python (requests)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import requests

url = "https://api.gugudata.io/v1/imagerecognition/html2pdf"
payload = {
    "appkey": "YOUR_APPKEY",
    "type": "URL",
    "content": "https://example.com",
    "landscape": "0"
}

response = requests.post(url, data=payload)
data = response.json()
print(data["Data"])
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  6. Why use an API instead of manual conversion
&lt;/h2&gt;

&lt;p&gt;Manual PDF conversion requires complex rendering engines and constant tuning to handle varied web layouts.&lt;br&gt;&lt;br&gt;
An API abstracts these details and provides reliable results without requiring you to run headless browsers yourself.&lt;br&gt;&lt;br&gt;
This saves development time and ensures consistent PDF output across different types of web content.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Frequently Asked Questions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Can this API convert both raw HTML and live web pages?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Yes. Use the &lt;code&gt;type&lt;/code&gt; parameter to specify &lt;code&gt;HTML&lt;/code&gt; for raw content or &lt;code&gt;URL&lt;/code&gt; for a live webpage, and set the &lt;code&gt;content&lt;/code&gt; accordingly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does the API preserve CSS styles and images?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The service renders the page using a headless browser, so CSS and images that load normally will be reflected in the PDF.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is the generated PDF link permanent?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The API response includes a permanent link where the generated PDF is stored, allowing you to download or share it later.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can I control orientation?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
You can set &lt;code&gt;landscape&lt;/code&gt; to &lt;code&gt;1&lt;/code&gt; for landscape orientation or leave it at &lt;code&gt;0&lt;/code&gt; for portrait.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Next steps
&lt;/h2&gt;

&lt;p&gt;If you need to generate PDFs from HTML or URLs without building your own rendering infrastructure, try this HTML/URL to PDF API.&lt;br&gt;&lt;br&gt;
With a single POST request you can convert web content into a shareable PDF and integrate it into your workflow quickly.&lt;/p&gt;

</description>
      <category>api</category>
      <category>pdf</category>
      <category>webtools</category>
    </item>
    <item>
      <title>How to Convert Geographic Coordinates Between WGS84, GCJ02 and BD09 with an API</title>
      <dc:creator>GuGuData</dc:creator>
      <pubDate>Tue, 27 Jan 2026 07:25:11 +0000</pubDate>
      <link>https://dev.to/gugudata/how-to-convert-geographic-coordinates-between-wgs84-gcj02-and-bd09-with-an-api-2p6c</link>
      <guid>https://dev.to/gugudata/how-to-convert-geographic-coordinates-between-wgs84-gcj02-and-bd09-with-an-api-2p6c</guid>
      <description>&lt;h1&gt;
  
  
  How to Convert Geographic Coordinates Between WGS84, GCJ02 and BD09 with an API
&lt;/h1&gt;

&lt;h2&gt;
  
  
  1. What problem are we solving
&lt;/h2&gt;

&lt;p&gt;Converting geographic coordinates between different reference systems can be error-prone and time-consuming.&lt;br&gt;
Each system (WGS84, GCJ02 or BD09) uses its own datum, and direct arithmetic often yields inaccurate locations.&lt;br&gt;
Developers who build mapping, navigation or location-based services need a reliable way to translate coordinates without having to maintain complex geodesy code.&lt;br&gt;
This guide shows how to perform high-precision conversions using an API so you can focus on building features instead of handling math.&lt;/p&gt;
&lt;h2&gt;
  
  
  2. When you need this solution
&lt;/h2&gt;

&lt;p&gt;You may need to convert coordinates when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Integrating GPS data into Chinese map services that expect GCJ02 or BD09&lt;/li&gt;
&lt;li&gt;Standardizing data from multiple providers into a single coordinate system&lt;/li&gt;
&lt;li&gt;Building a mobile app that uses WGS84 for device location but displays markers on a GCJ02-based map&lt;/li&gt;
&lt;li&gt;Migrating datasets between systems for analysis or storage&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  3. How the API solution works
&lt;/h2&gt;

&lt;p&gt;Instead of implementing transformation formulas yourself, a coordinate conversion API handles the heavy lifting.&lt;br&gt;
You specify the source coordinate system, the target system and the point to convert, and the API uses high-precision algorithms to compute the new coordinates.&lt;br&gt;
The service returns a JSON object containing the original and converted values, along with status information.&lt;br&gt;
Because the API abstracts the conversion logic, it works consistently across WGS84, GCJ02 and BD09 and is easy to integrate into any language.&lt;/p&gt;
&lt;h2&gt;
  
  
  4. Step-by-step: Convert coordinates using an API
&lt;/h2&gt;

&lt;p&gt;Step 1: Determine the source and target coordinate systems and collect the [longitude,latitude] value you want to convert&lt;br&gt;&lt;br&gt;
Step 2: Send a GET request to the coordinate conversion API endpoint with &lt;code&gt;appkey&lt;/code&gt;, &lt;code&gt;from&lt;/code&gt;, &lt;code&gt;to&lt;/code&gt; and &lt;code&gt;value&lt;/code&gt; parameters&lt;br&gt;&lt;br&gt;
Step 3: Parse the JSON response to retrieve the converted coordinate&lt;br&gt;&lt;br&gt;
Step 4: Use the converted coordinate in your map, database or location-based service&lt;/p&gt;
&lt;h2&gt;
  
  
  5. API request example
&lt;/h2&gt;
&lt;h3&gt;
  
  
  cURL
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -X GET "https://api.gugudata.io/v1/location/coordinateconverter?appkey=YOUR_APPKEY&amp;amp;from=WGS84&amp;amp;to=GCJ02&amp;amp;value=120.54,32.74"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Example response:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "dataStatus": {
    "requestParameter": "appkey=YOUR_APPKEY&amp;amp;from=WGS84&amp;amp;to=GCJ02&amp;amp;value=120.54,32.74",
    "statusCode": 100,
    "statusDescription": "请求成功。",
    "responseDateTime": "2026-01-27T12:00:00Z",
    "dataTotalCount": 1
  },
  "data": {
    "coordinateFrom": "WGS84",
    "coordinateTo": "GCJ02",
    "coordinateSourceValue": "[120.54,32.74]",
    "coordinateDestinationValue": "[120.546789,32.741234]"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  JavaScript (fetch)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fetch('https://api.gugudata.io/v1/location/coordinateconverter?appkey=YOUR_APPKEY&amp;amp;from=WGS84&amp;amp;to=GCJ02&amp;amp;value=120.54,32.74')
  .then(response =&amp;gt; response.json())
  .then(data =&amp;gt; {
    const converted = data.data.coordinateDestinationValue;
    console.log(converted);
  })
  .catch(error =&amp;gt; {
    console.error(error);
  });
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Python (requests)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import requests

url = "https://api.gugudata.io/v1/location/coordinateconverter"
params = {
    "appkey": "YOUR_APPKEY",
    "from": "WGS84",
    "to": "BD09",
    "value": "120.54,32.74"
}

response = requests.get(url, params=params)
data = response.json()
print(data["data"]["coordinateDestinationValue"])
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  6. Why use an API instead of manual conversion
&lt;/h2&gt;

&lt;p&gt;Manual coordinate conversion requires knowledge of geodesy and constant updates to handle different regional datums.&lt;br&gt;
An API abstracts this complexity and provides consistent, tested results without requiring you to maintain conversion logic.&lt;br&gt;
Using a service also reduces development time and prevents errors that could misplace users on a map.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Frequently Asked Questions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Can this API convert between WGS84, GCJ02 and BD09?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
Yes. You can specify any of these systems in the &lt;code&gt;from&lt;/code&gt; and &lt;code&gt;to&lt;/code&gt; parameters, and the API will return the corresponding converted coordinate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How accurate is the converted coordinate?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The API uses high-precision algorithms to minimize error and is suitable for map applications, GPS navigation and location-based services. The precision is typically within a few meters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What happens if I exceed the rate limit?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The service recommends limiting requests to 5 queries per second per IP. Exceeding this may trigger rate limiting with an error code indicating too many requests.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Do I need a secure connection?&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
The API supports HTTPS with TLS v1.0, v1.1, v1.2 and v1.3, and is fully compatible with Apple ATS, so you can safely call it from web and mobile apps.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. Next steps
&lt;/h2&gt;

&lt;p&gt;If you want to convert geographic coordinates without implementing complex formulas yourself, try a coordinate conversion API.&lt;br&gt;
With a valid &lt;code&gt;appkey&lt;/code&gt; you can integrate this service into your workflow in minutes and start translating coordinates between WGS84, GCJ02 and BD09.&lt;/p&gt;

</description>
      <category>api</category>
      <category>geolocation</category>
      <category>mapping</category>
    </item>
    <item>
      <title>Extract Clean Article Content with Gugudata Article Extraction API</title>
      <dc:creator>GuGuData</dc:creator>
      <pubDate>Sat, 17 Jan 2026 11:50:49 +0000</pubDate>
      <link>https://dev.to/gugudata/extract-clean-article-content-with-gugudata-article-extraction-api-28kn</link>
      <guid>https://dev.to/gugudata/extract-clean-article-content-with-gugudata-article-extraction-api-28kn</guid>
      <description>&lt;h1&gt;
  
  
  Extract Clean Article Content with Gugudata Article Extraction API
&lt;/h1&gt;

&lt;p&gt;In today’s digital world, extracting meaningful content from cluttered web pages is a critical challenge for developers, content aggregators, and data analysts. The &lt;strong&gt;&lt;a href="https://www.gugudata.com" rel="noopener noreferrer"&gt;Gugudata&lt;/a&gt;&lt;/strong&gt; Article Extraction API is a powerful solution designed to extract clean article content from any webpage URL — automatically removing ads, navigation bars, and unrelated elements to provide structured, readable content.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Key Features at a Glance
&lt;/h2&gt;

&lt;p&gt;Gugudata’s Article Extraction API uses intelligent parsing algorithms to accurately identify and extract the main content from a given webpage. Key features include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Extract clean article content from any URL&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automatically remove ads, headers, navigation, footers, and unrelated elements&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Retrieve article title, author, publication date, content, and metadata&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTML string content extraction supported via a separate endpoint (&lt;code&gt;/v1/article/extractFromHtml&lt;/code&gt;)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Structured JSON output for easy integration and processing&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Full HTTPS support (TLS v1.0 to v1.3)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fully Apple ATS-compatible&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CDN-backed with multi-node deployment across regions for ultra-fast response&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Load-balanced infrastructure for high availability&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📌 API Endpoint Details
&lt;/h2&gt;

&lt;h3&gt;
  
  
  HTTP Endpoint
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;POST https://api.gugudata.io/v1/article/extract
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Supports secure HTTPS protocol.&lt;/p&gt;

&lt;h3&gt;
  
  
  Request Parameters
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Required&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;appkey&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;td&gt;Your API key from the developer center&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;url&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;td&gt;Webpage URL to extract article content from&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Submit parameters in &lt;code&gt;application/x-www-form-urlencoded&lt;/code&gt; format.&lt;/p&gt;




&lt;h2&gt;
  
  
  📤 Example cURL Request
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;--location&lt;/span&gt; &lt;span class="s1"&gt;'https://api.gugudata.io/v1/article/extract'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;--request&lt;/span&gt; POST &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;--header&lt;/span&gt; &lt;span class="s1"&gt;'Content-Type: application/x-www-form-urlencoded'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;--data-urlencode&lt;/span&gt; &lt;span class="s1"&gt;'appkey=YOUR_APPKEY'&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
&lt;span class="nt"&gt;--data-urlencode&lt;/span&gt; &lt;span class="s1"&gt;'url=https://example.com/article-url'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Replace &lt;code&gt;YOUR_APPKEY&lt;/code&gt; and the &lt;code&gt;url&lt;/code&gt; with your own values to start extracting.&lt;/p&gt;




&lt;h2&gt;
  
  
  📦 API Response Structure
&lt;/h2&gt;

&lt;p&gt;A successful API call returns a JSON object with structured data:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DataStatus.StatusCode&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;API response status code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DataStatus.StatusDescription&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Human-readable status message&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Data.url&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Source URL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Data.title&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Extracted article title&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Data.description&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Short description or summary&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Data.author&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Article author (if available)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Data.published&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Published date/time (format: YYYY-MM-DD HH:MM)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Data.content&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Main article HTML content (cleaned)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Data.image&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Main article image URL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Data.links&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;array&lt;/td&gt;
&lt;td&gt;List of hyperlinks inside the article&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Data.favicon&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Website favicon URL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Data.source&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Source domain (e.g., cnn.com)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Data.ttr&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;Estimated reading time (in minutes)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Data.type&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Content type (e.g., article, news, blog)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  📊 API Status Codes
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Status Code&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;200&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Success – valid response returned&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;400&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Parameter error – check request fields&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;402&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Invalid APPKEY – please verify your API key&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;403&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Account expired or restricted&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;429&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Rate limit exceeded (max 5 requests/sec)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;500&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Internal API error – try again later&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  💡 Ideal Use Cases
&lt;/h2&gt;

&lt;p&gt;Whether you're building a data-driven platform or automating web content extraction, Gugudata’s Article Extraction API fits perfectly into these scenarios:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Content Aggregators&lt;/strong&gt;: Fetch clean content from multiple sources to build a curated news or blog platform.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;News Monitoring &amp;amp; Sentiment Analysis&lt;/strong&gt;: Extract article text for NLP tasks like opinion mining and topic modeling.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom Search Engines&lt;/strong&gt;: Provide cleaner, more readable search results by removing unnecessary page elements.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Knowledge Management&lt;/strong&gt;: Archive structured article data for internal knowledge bases or document indexing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Training Data Collection&lt;/strong&gt;: Prepare article datasets with minimal noise for model training or fine-tuning.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⚙️ Why Choose Gugudata?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🧠 &lt;strong&gt;Smart Content Detection&lt;/strong&gt;: Built-in algorithms intelligently isolate main content from layout and noise.&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;Ultra-Fast API&lt;/strong&gt;: Distributed infrastructure ensures low-latency responses anywhere in the world.&lt;/li&gt;
&lt;li&gt;🔐 &lt;strong&gt;Secure &amp;amp; Compliant&lt;/strong&gt;: HTTPS and full Apple ATS compatibility for seamless mobile and web integration.&lt;/li&gt;
&lt;li&gt;🌍 &lt;strong&gt;Multi-Node CDN Deployment&lt;/strong&gt;: Guaranteed speed and uptime even under high traffic loads.&lt;/li&gt;
&lt;li&gt;🔧 &lt;strong&gt;Easy Integration&lt;/strong&gt;: JSON-based output and language-agnostic HTTP interface.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧪 Try the Live Demo
&lt;/h2&gt;

&lt;p&gt;Want to test it right now? Use the &lt;a href="https://api.gugudata.io/v1/article/extract/demo" rel="noopener noreferrer"&gt;interactive demo endpoint&lt;/a&gt; to see how the API performs with a real URL.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔗 Related APIs from Gugudata
&lt;/h2&gt;

&lt;p&gt;Explore other high-performance APIs for developers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.gugudata.com" rel="noopener noreferrer"&gt;HTML/URL to PDF Conversion&lt;/a&gt;: Convert full webpages into downloadable PDF files.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.gugudata.com" rel="noopener noreferrer"&gt;Readable Web Content Extraction&lt;/a&gt;: Identify key readable areas in a webpage.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.gugudata.com" rel="noopener noreferrer"&gt;Domain DNS Record Lookup&lt;/a&gt;: Retrieve DNS information for any domain.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.gugudata.com" rel="noopener noreferrer"&gt;SSL Certificate Info Parser&lt;/a&gt;: Extract details from domain SSL certificates.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📬 Get Started Today
&lt;/h2&gt;

&lt;p&gt;Getting started with Gugudata is easy:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://www.gugudata.com" rel="noopener noreferrer"&gt;Sign up&lt;/a&gt; for a developer account.&lt;/li&gt;
&lt;li&gt;Get your free trial API key.&lt;/li&gt;
&lt;li&gt;Start calling the API in minutes!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;📨 Need help? Contact us at &lt;a href="mailto:support@gugudata.io"&gt;support@gugudata.io&lt;/a&gt;&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;Gugudata empowers developers with powerful, fast, and intelligent data APIs — enabling smarter applications and seamless content extraction across the web.&lt;/p&gt;
&lt;/blockquote&gt;

</description>
    </item>
    <item>
      <title>Image Compress API</title>
      <dc:creator>GuGuData</dc:creator>
      <pubDate>Tue, 30 Dec 2025 10:59:27 +0000</pubDate>
      <link>https://dev.to/gugudata/image-compress-api-b0h</link>
      <guid>https://dev.to/gugudata/image-compress-api-b0h</guid>
      <description>&lt;h1&gt;
  
  
  Image Compress API
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcjav941hp7xue5omr5ny.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcjav941hp7xue5omr5ny.png" alt="Image Compress API" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Image Compress API&lt;/strong&gt; from &lt;a href="https://gugudata.io" rel="noopener noreferrer"&gt;Gugudata&lt;/a&gt; enables developers to efficiently compress and optimize images via API. Whether you're working with user-uploaded files or image URLs, this API provides full control over compression quality, resizing, and format conversion.&lt;/p&gt;

&lt;p&gt;Designed for integration into high-performance websites, mobile applications, and content management systems (CMS), this API helps reduce bandwidth usage and improve image loading speeds without compromising on visual quality.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;📘 &lt;a href="https://gugudata.io/details/image-compress" rel="noopener noreferrer"&gt;View full API documentation&lt;/a&gt;&lt;br&gt;&lt;br&gt;
🔧 &lt;a href="https://gugudata.io/dashboard" rel="noopener noreferrer"&gt;Manage your appkey &amp;amp; usage&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🔧 Features Overview
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Supports both file upload and image URL processing&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Customizable compression quality (1–95, default: 85)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexible size control&lt;/strong&gt;: set exact target dimensions or max constraints&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Maintains image aspect ratio automatically&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optional format conversion&lt;/strong&gt;: JPEG, PNG, etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Handles large image files (up to 10MB)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;High-performance API with load balancing&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;TLS 1.0–1.3 supported, fully HTTPS and Apple ATS compatible&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Distributed CDN across regions for fast response&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📌 API Endpoint
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;URL&lt;/strong&gt;: &lt;code&gt;https://api.gugudata.io/v1/image/image-compress&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Method&lt;/strong&gt;: &lt;code&gt;POST&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Content-Type&lt;/strong&gt;: &lt;code&gt;multipart/form-data&lt;/code&gt; or &lt;code&gt;application/x-www-form-urlencoded&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test the API&lt;/strong&gt;: &lt;a href="https://api.gugudata.io/v1/image/image-compress/demo" rel="noopener noreferrer"&gt;Demo here&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧾 Request Parameters
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Name&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Required&lt;/th&gt;
&lt;th&gt;Default&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;appkey&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;YOUR_APPKEY&lt;/td&gt;
&lt;td&gt;Your API key from Gugudata. Required for authentication.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;file&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;file&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;Upload an image file (JPEG, PNG, etc.). Provide either &lt;code&gt;file&lt;/code&gt; or &lt;code&gt;image_url&lt;/code&gt;, not both.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;image_url&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;Public image URL to process. Provide either &lt;code&gt;image_url&lt;/code&gt; or &lt;code&gt;file&lt;/code&gt;, not both.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;targetWidth&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;Desired width (px). Will maintain aspect ratio.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;targetHeight&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;Desired height (px). Will maintain aspect ratio.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;maxWidth&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;Maximum allowed width. Image will be resized if larger.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;maxHeight&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;Maximum allowed height. Image will be resized if larger.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;quality&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;85&lt;/td&gt;
&lt;td&gt;Compression level (1–95). Higher = better quality.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;format&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;original&lt;/td&gt;
&lt;td&gt;Output format (e.g., jpeg, png). Defaults to original format.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  📤 Response Format
&lt;/h2&gt;

&lt;p&gt;The API responds with a binary stream of the compressed image.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Content-Type&lt;/strong&gt;: Based on the image format (e.g., &lt;code&gt;image/jpeg&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Response&lt;/strong&gt;: Direct binary image data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Make sure your client handles binary image responses correctly.&lt;/p&gt;




&lt;h2&gt;
  
  
  ❗ Error Codes
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Code&lt;/th&gt;
&lt;th&gt;Message&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;200&lt;/td&gt;
&lt;td&gt;Normal return&lt;/td&gt;
&lt;td&gt;Image compressed successfully&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;td&gt;Parameter error&lt;/td&gt;
&lt;td&gt;Invalid or missing parameters; file or URL required&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;402&lt;/td&gt;
&lt;td&gt;APPKEY error&lt;/td&gt;
&lt;td&gt;Invalid or unauthorized appkey&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;403&lt;/td&gt;
&lt;td&gt;Account in arrears&lt;/td&gt;
&lt;td&gt;Service blocked due to unpaid usage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;429&lt;/td&gt;
&lt;td&gt;Too many requests&lt;/td&gt;
&lt;td&gt;Exceeded 100 requests/second&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;500&lt;/td&gt;
&lt;td&gt;Server error&lt;/td&gt;
&lt;td&gt;Internal processing error&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;503&lt;/td&gt;
&lt;td&gt;Service unavailable&lt;/td&gt;
&lt;td&gt;External service is currently down&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  💡 Example Request
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST &lt;span class="s2"&gt;"https://api.gugudata.io/v1/image/image-compress"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: multipart/form-data"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-F&lt;/span&gt; &lt;span class="s2"&gt;"appkey=YOUR_APPKEY"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-F&lt;/span&gt; &lt;span class="s2"&gt;"file=@your-image.jpg"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-F&lt;/span&gt; &lt;span class="s2"&gt;"quality=80"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-F&lt;/span&gt; &lt;span class="s2"&gt;"format=jpeg"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or using a URL:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST &lt;span class="s2"&gt;"https://api.gugudata.io/v1/image/image-compress"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s2"&gt;"appkey=YOUR_APPKEY"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s2"&gt;"image_url=https://example.com/image.png"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s2"&gt;"quality=75"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s2"&gt;"maxWidth=800"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  ✅ Use Case Scenarios
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Website Performance&lt;/strong&gt;: Compress homepage banners and thumbnails before delivery.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;User Uploads&lt;/strong&gt;: Optimize profile pictures or gallery images in real time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CMS Integration&lt;/strong&gt;: Automatically resize and convert images during publishing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;E-Commerce&lt;/strong&gt;: Generate optimized product images for faster loading.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mobile Apps&lt;/strong&gt;: Reduce bandwidth and storage for image-heavy apps.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📊 Developer Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🧭 API Details: &lt;a href="https://gugudata.io/details/image-compress" rel="noopener noreferrer"&gt;https://gugudata.io/details/image-compress&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🛠 Dashboard / API Key Management: &lt;a href="https://gugudata.io/dashboard" rel="noopener noreferrer"&gt;https://gugudata.io/dashboard&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📈 API Status: &lt;a href="https://www.gugudata.com/status" rel="noopener noreferrer"&gt;https://www.gugudata.com/status&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🌐 Website: &lt;a href="https://gugudata.io" rel="noopener noreferrer"&gt;https://gugudata.io&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;The Image Compress API is ideal for developers building performance-oriented platforms with rich media content. With intelligent optimization and high-speed delivery, it streamlines your image pipeline while preserving quality.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>图片压缩与尺寸优化 API 接口</title>
      <dc:creator>GuGuData</dc:creator>
      <pubDate>Thu, 18 Dec 2025 10:18:40 +0000</pubDate>
      <link>https://dev.to/gugudata/tu-pian-ya-suo-yu-chi-cun-you-hua-api-jie-kou-ojc</link>
      <guid>https://dev.to/gugudata/tu-pian-ya-suo-yu-chi-cun-you-hua-api-jie-kou-ojc</guid>
      <description>&lt;p&gt;图片压缩与尺寸优化 API 接口&lt;/p&gt;

&lt;p&gt;图像/转换 图片压缩优化，保持长宽比，保证清晰度 图片压缩 / 图片优化 / 尺寸调整 图片压缩 / 图片处理&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F48sehtg5z5812px3lk3q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F48sehtg5z5812px3lk3q.png" alt="gugudata api" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. 产品功能
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;支持本地上传图片或网络图片 URL，一键完成压缩；&lt;/li&gt;
&lt;li&gt;自动保持图片长宽比，可按目标尺寸或最大尺寸进行等比缩放；&lt;/li&gt;
&lt;li&gt;针对 JPEG 采用优化压缩（渐进式、优化 Huffman 表等），在保证清晰度的前提下显著减小体积；&lt;/li&gt;
&lt;li&gt;支持 PNG 等无损格式的体积优化压缩；&lt;/li&gt;
&lt;li&gt;自动限制过大图片的尺寸（默认 1920 像素上限），避免带宽浪费；&lt;/li&gt;
&lt;li&gt;接口默认 HTTPS，兼容 Apple ATS，配合多节点 CDN 提供高可用服务。&lt;/li&gt;
&lt;li&gt;全国多节点 CDN 部署；&lt;/li&gt;
&lt;li&gt;接口极速响应，多台服务器构建 API 接口负载均衡。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gugudata.com/status" rel="noopener noreferrer"&gt;接口调用状态与状态监控&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  2. API 文档
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;接口详情:&lt;/strong&gt; &lt;a href="https://www.gugudata.com/api/details/image-compress" rel="noopener noreferrer"&gt;https://www.gugudata.com/api/details/image-compress&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;接口地址:&lt;/strong&gt; &lt;a href="https://api.gugudata.com/ai/image-compress" rel="noopener noreferrer"&gt;https://api.gugudata.com/ai/image-compress&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;返回格式:&lt;/strong&gt; application/json; charset=utf-8&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;请求方式:&lt;/strong&gt; POST&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;请求协议:&lt;/strong&gt; HTTPS&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;请求示例:&lt;/strong&gt; &lt;a href="https://api.gugudata.com/ai/image-compress" rel="noopener noreferrer"&gt;https://api.gugudata.com/ai/image-compress&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;数据预览:&lt;/strong&gt; &lt;a href="https://www.gugudata.com/preview/image-compress" rel="noopener noreferrer"&gt;https://www.gugudata.com/preview/image-compress&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;接口测试:&lt;/strong&gt; &lt;a href="https://api.gugudata.com/ai/image-compress/demo" rel="noopener noreferrer"&gt;https://api.gugudata.com/ai/image-compress/demo&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  3. 请求参数
&lt;/h1&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数名&lt;/th&gt;
&lt;th&gt;参数类型&lt;/th&gt;
&lt;th&gt;是否必须&lt;/th&gt;
&lt;th&gt;默认值&lt;/th&gt;
&lt;th&gt;备注&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;appkey&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;是&lt;/td&gt;
&lt;td&gt;YOUR_APPKEY&lt;/td&gt;
&lt;td&gt;付费后获取的 APPKEY，可通过 Query 参数或 Form 字段 appkey 传递&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;image_file&lt;/td&gt;
&lt;td&gt;file&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;上传的图片文件，支持 JPG / JPEG / PNG / GIF / WEBP / BMP，与 image_url 二选一必填&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;image_url&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;网络图片 URL，与 image_file 二选一必填，需为可直接访问的 HTTP/HTTPS 链接&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;targetwidth&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;目标宽度（像素），与 targetHeight 组合使用时按照最长边等比缩放；不传则不以此为约束&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;targetheight&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;目标高度（像素），与 targetWidth 组合使用时按照最长边等比缩放；不传则不以此为约束&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;maxwidth&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;最大宽度（像素），只限制不超过该宽度并保持长宽比；当未显式传递任何尺寸参数且图片特别大时，服务会自动使用 1920 作为默认上限&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;maxheight&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;最大高度（像素），只限制不超过该高度并保持长宽比；当未显式传递任何尺寸参数且图片特别大时，服务会自动使用 1920 作为默认上限&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;quality&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;85&lt;/td&gt;
&lt;td&gt;JPEG 压缩质量，取值范围 1-95，数值越低压缩越厉害，推荐在 60-90 之间；PNG 等无损格式将使用内部优化策略忽略该参数&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;format&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;输出图片格式，可选值：jpeg、png 等；不传则保持原图格式（对于部分不常见格式会自动转换为 JPEG）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h1&gt;
  
  
  4. 返回参数
&lt;/h1&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数名&lt;/th&gt;
&lt;th&gt;参数类型&lt;/th&gt;
&lt;th&gt;备注&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;HTTP Header.Content-Type&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;返回图片的 MIME 类型，例如 image/jpeg、image/png 等&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HTTP Header.Content-Disposition&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;文件下载头，包含建议的下载文件名，默认会根据原始文件名和格式自动生成&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Body(Binary)&lt;/td&gt;
&lt;td&gt;binary&lt;/td&gt;
&lt;td&gt;压缩后图片的二进制流内容，可直接保存为图片文件或在浏览器中显示&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
      <category>programming</category>
      <category>webdev</category>
      <category>image</category>
    </item>
    <item>
      <title>PDF Full-Text Multilingual AI Summary API</title>
      <dc:creator>GuGuData</dc:creator>
      <pubDate>Sat, 13 Dec 2025 09:51:04 +0000</pubDate>
      <link>https://dev.to/gugudata/pdf-full-text-multilingual-ai-summary-api-j2j</link>
      <guid>https://dev.to/gugudata/pdf-full-text-multilingual-ai-summary-api-j2j</guid>
      <description>&lt;p&gt;PDF Full-Text Multilingual AI Summary API&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;PDF Full-Text Multilingual AI Summary API&lt;/strong&gt; by &lt;a href="https://www.gugudata.com" rel="noopener noreferrer"&gt;GuguData&lt;/a&gt; provides developers with an intelligent tool to automatically analyze and summarize the contents of PDF documents. With support for &lt;strong&gt;multiple languages&lt;/strong&gt;, this API is ideal for extracting insights from large documents without manual reading or translation.&lt;/p&gt;

&lt;p&gt;Whether you're building document management systems, knowledge bases, or research tools, this API allows you to turn full PDF files into concise, high-quality summaries with just a single API call.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://api.gugudata.io/v1/imagerecognition/pdf-summary/demo" rel="noopener noreferrer"&gt;Try the Demo&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  ✨ Key Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🤖 AI-powered full-text analysis of uploaded PDF documents
&lt;/li&gt;
&lt;li&gt;🌍 Multilingual support for summaries in English, Chinese, Japanese, Korean, French, German, Spanish, and more
&lt;/li&gt;
&lt;li&gt;📝 Generates comprehensive summaries that cover main topics and key details
&lt;/li&gt;
&lt;li&gt;📄 Handles multi-page PDF files and large documents
&lt;/li&gt;
&lt;li&gt;📌 Automatic content extraction – no need for manual copy-paste or formatting
&lt;/li&gt;
&lt;li&gt;💡 High-quality summaries with deep context understanding
&lt;/li&gt;
&lt;li&gt;🔒 HTTPS support including TLS v1.0 to v1.3
&lt;/li&gt;
&lt;li&gt;🍏 Fully Apple ATS-compatible
&lt;/li&gt;
&lt;li&gt;🚀 CDN acceleration and multi-server load balancing for ultra-fast response
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📡 API Endpoint
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;URL&lt;/strong&gt;: &lt;code&gt;https://api.gugudata.io/v1/imagerecognition/pdf-summary&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Method&lt;/strong&gt;: &lt;code&gt;POST&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Authentication&lt;/strong&gt;: Requires &lt;code&gt;appkey&lt;/code&gt; (get from your &lt;a href="https://www.gugudata.com" rel="noopener noreferrer"&gt;GuguData dashboard&lt;/a&gt;)
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📥 Request Parameters
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Required&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;appkey&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Your API key from GuguData&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;file&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;file&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;PDF file to be summarized (PDF format only)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;lang&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Language code for the output summary. Supported: &lt;code&gt;en&lt;/code&gt;, &lt;code&gt;zh&lt;/code&gt;, &lt;code&gt;ja&lt;/code&gt;, &lt;code&gt;ko&lt;/code&gt;, &lt;code&gt;fr&lt;/code&gt;, &lt;code&gt;de&lt;/code&gt;, &lt;code&gt;es&lt;/code&gt; (default: &lt;code&gt;en&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;🔁 The API supports multilingual output generation. You can use the &lt;code&gt;lang&lt;/code&gt; parameter to customize the language of the summary based on your user's preference.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  📤 Response Format
&lt;/h2&gt;

&lt;p&gt;The API returns a JSON object with a concise, AI-generated summary of the PDF content:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "summary": "This document discusses the economic impacts of climate change on global markets..."
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;summary&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;AI-generated summary of the document in the requested language&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  ⚠️ Error Codes
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Code&lt;/th&gt;
&lt;th&gt;Message&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;200&lt;/td&gt;
&lt;td&gt;Normal return&lt;/td&gt;
&lt;td&gt;PDF analyzed and summary generated successfully&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;td&gt;Parameter error&lt;/td&gt;
&lt;td&gt;Invalid or missing parameters; unsupported file type&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;402&lt;/td&gt;
&lt;td&gt;APPKEY error&lt;/td&gt;
&lt;td&gt;Invalid or missing API key&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;403&lt;/td&gt;
&lt;td&gt;Account in arrears&lt;/td&gt;
&lt;td&gt;Account needs activation or payment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;429&lt;/td&gt;
&lt;td&gt;Too many requests&lt;/td&gt;
&lt;td&gt;Exceeded request rate limit (max 100/sec)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;500&lt;/td&gt;
&lt;td&gt;Internal server error&lt;/td&gt;
&lt;td&gt;Issue while processing PDF or generating summary&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;503&lt;/td&gt;
&lt;td&gt;Service unavailable&lt;/td&gt;
&lt;td&gt;Temporary service outage&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  📚 Use Cases
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🔍 Knowledge Extraction
&lt;/h3&gt;

&lt;p&gt;Summarize research papers, legal documents, and reports in seconds.&lt;/p&gt;

&lt;h3&gt;
  
  
  🌐 Multilingual Platforms
&lt;/h3&gt;

&lt;p&gt;Generate summaries in different languages for international users.&lt;/p&gt;

&lt;h3&gt;
  
  
  🧠 AI-Powered Document Management
&lt;/h3&gt;

&lt;p&gt;Quickly preview document content to improve indexing and retrieval.&lt;/p&gt;

&lt;h3&gt;
  
  
  🗂️ Enterprise Applications
&lt;/h3&gt;

&lt;p&gt;Enhance internal tools with AI-driven PDF summarization.&lt;/p&gt;




&lt;h2&gt;
  
  
  📸 API Preview
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsp6idj46a7so63ihqh0g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsp6idj46a7so63ihqh0g.png" alt="PDF Summary API Cover" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🧩 Related Tools
&lt;/h2&gt;

&lt;p&gt;Explore more intelligent document and image processing APIs on the &lt;a href="https://www.gugudata.com" rel="noopener noreferrer"&gt;GuguData Developer Marketplace&lt;/a&gt;.&lt;/p&gt;




</description>
    </item>
    <item>
      <title>IP Address Geolocation API</title>
      <dc:creator>GuGuData</dc:creator>
      <pubDate>Sat, 13 Dec 2025 09:47:03 +0000</pubDate>
      <link>https://dev.to/gugudata/ip-address-geolocation-api-39h1</link>
      <guid>https://dev.to/gugudata/ip-address-geolocation-api-39h1</guid>
      <description>&lt;p&gt;The &lt;strong&gt;IP Address Geolocation API&lt;/strong&gt; provided by &lt;a href="https://www.gugudata.com" rel="noopener noreferrer"&gt;GuguData&lt;/a&gt; offers a powerful and efficient way to retrieve geographical information for any IP address. Whether you're working with IPv4 or IPv6, this API enables you to quickly identify the user's &lt;strong&gt;country, state, city, and coordinates&lt;/strong&gt; (latitude and longitude).&lt;/p&gt;

&lt;p&gt;This is an essential tool for developers who need reliable location data for applications involving &lt;strong&gt;fraud detection&lt;/strong&gt;, &lt;strong&gt;content localization&lt;/strong&gt;, &lt;strong&gt;user behavior analysis&lt;/strong&gt;, or &lt;strong&gt;network diagnostics&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://api.gugudata.io/v1/location/ip/demo" rel="noopener noreferrer"&gt;Try the Demo&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🌐 Key Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Supports both IPv4 and IPv6&lt;/strong&gt; formats&lt;/li&gt;
&lt;li&gt;📌 &lt;strong&gt;Returns detailed location data&lt;/strong&gt;: Country, State/Province, City, Latitude, Longitude&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;Real-time results&lt;/strong&gt; with ultra-fast API response&lt;/li&gt;
&lt;li&gt;🔒 &lt;strong&gt;Full HTTPS support&lt;/strong&gt;, including TLS v1.0–v1.3 and Apple ATS compatibility&lt;/li&gt;
&lt;li&gt;🌍 &lt;strong&gt;Globally distributed CDN nodes&lt;/strong&gt; ensure low latency and high availability&lt;/li&gt;
&lt;li&gt;📊 &lt;strong&gt;Perfect for&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Fraud detection and risk analysis&lt;/li&gt;
&lt;li&gt;Content and language localization&lt;/li&gt;
&lt;li&gt;Regional user analytics&lt;/li&gt;
&lt;li&gt;Network performance monitoring&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔧 API Endpoint
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Base URL&lt;/strong&gt;: &lt;code&gt;https://api.gugudata.io/v1/location/ip&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Method&lt;/strong&gt;: &lt;code&gt;GET&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Authorization&lt;/strong&gt;: Requires &lt;code&gt;appkey&lt;/code&gt; (available from your GuguData developer dashboard)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  📥 Request Parameters
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Required&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;appkey&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Your API key from GuguData&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ip&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;The IP address to lookup (IPv4 or IPv6, e.g., &lt;code&gt;8.8.8.8&lt;/code&gt;, &lt;code&gt;2001:db8::&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  📤 Response Format
&lt;/h2&gt;

&lt;p&gt;The API returns a structured JSON object. Below are key response fields:&lt;/p&gt;

&lt;h3&gt;
  
  
  Metadata (under &lt;code&gt;dataStatus&lt;/code&gt;)
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;requestParameter&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Echo of the request&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;statusCode&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;HTTP response code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;status&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Status result (e.g., "OK")&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;statusDescription&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Human-readable status message&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;responseDateTime&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;Timestamp of the response&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;dataTotalCount&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;integer&lt;/td&gt;
&lt;td&gt;Number of results (usually 1)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Geolocation Data (under &lt;code&gt;data&lt;/code&gt;)
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;countryCode&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;ISO country code (e.g., "US", "CN")&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;state&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;State or province&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;city&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;City name&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;latitude&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;number&lt;/td&gt;
&lt;td&gt;Latitude coordinate&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;longitude&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;number&lt;/td&gt;
&lt;td&gt;Longitude coordinate&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  ⚠️ Error Codes
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Code&lt;/th&gt;
&lt;th&gt;Meaning&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;200&lt;/td&gt;
&lt;td&gt;Success&lt;/td&gt;
&lt;td&gt;Geolocation data retrieved successfully&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;td&gt;Parameter Error&lt;/td&gt;
&lt;td&gt;Invalid IP format or missing parameters&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;402&lt;/td&gt;
&lt;td&gt;Invalid APPKEY&lt;/td&gt;
&lt;td&gt;Check if your API key is valid&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;403&lt;/td&gt;
&lt;td&gt;Account in Arrears&lt;/td&gt;
&lt;td&gt;Your account needs reactivation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;429&lt;/td&gt;
&lt;td&gt;Too Many Requests&lt;/td&gt;
&lt;td&gt;Rate limited: max 100 requests/sec&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;500&lt;/td&gt;
&lt;td&gt;Internal Server Error&lt;/td&gt;
&lt;td&gt;Service failed to process request&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;503&lt;/td&gt;
&lt;td&gt;Service Unavailable&lt;/td&gt;
&lt;td&gt;Temporary outage or maintenance&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🧩 Use Cases
&lt;/h2&gt;

&lt;h3&gt;
  
  
  ✅ Fraud Detection
&lt;/h3&gt;

&lt;p&gt;Compare user IP with declared region to detect suspicious behavior.&lt;/p&gt;

&lt;h3&gt;
  
  
  🌐 Content Localization
&lt;/h3&gt;

&lt;p&gt;Customize site language or layout based on user location.&lt;/p&gt;

&lt;h3&gt;
  
  
  📈 Marketing &amp;amp; Analytics
&lt;/h3&gt;

&lt;p&gt;Group users by region to tailor campaigns and reports.&lt;/p&gt;

&lt;h3&gt;
  
  
  🛡️ Access Control
&lt;/h3&gt;

&lt;p&gt;Restrict content availability by country or region.&lt;/p&gt;




&lt;h2&gt;
  
  
  🖼️ API Preview
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2tx0wmzk8uw069rpupyg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2tx0wmzk8uw069rpupyg.png" alt="IP Address Geolocation API Preview" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📚 Related APIs
&lt;/h2&gt;

&lt;p&gt;Looking for more data APIs? Visit the &lt;a href="https://www.gugudata.com" rel="noopener noreferrer"&gt;GuguData API Marketplace&lt;/a&gt; for a full list of tools for data analysis, content moderation, and location intelligence.&lt;/p&gt;




</description>
    </item>
    <item>
      <title>高考教育信息智能助手 API 接口</title>
      <dc:creator>GuGuData</dc:creator>
      <pubDate>Mon, 08 Dec 2025 03:34:24 +0000</pubDate>
      <link>https://dev.to/gugudata/gao-kao-jiao-yu-xin-xi-zhi-neng-zhu-shou-api-jie-kou-4ili</link>
      <guid>https://dev.to/gugudata/gao-kao-jiao-yu-xin-xi-zhi-neng-zhu-shou-api-jie-kou-4ili</guid>
      <description>&lt;p&gt;高考教育信息智能助手 API 接口&lt;/p&gt;

&lt;p&gt;教育/高考 高考教育信息智能问答助手 智能问答 / 知识库检索 / 多轮对话 AI / 高考 / 高考录取 / 高等教育&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgh32szfsfyy3pnk2tswl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgh32szfsfyy3pnk2tswl.png" alt="gugudata api" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. 产品功能
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;RAG 智能体，强大的 AI 问答能力，支持高校基础信息查询、招生政策解读、专业介绍与选择建议等；&lt;/li&gt;
&lt;li&gt;支持招生政策解读、报考指南与志愿填报建议；&lt;/li&gt;
&lt;li&gt;支持多轮对话，通过 session_id 保持对话上下文；&lt;/li&gt;
&lt;li&gt;支持知识库检索（RAG），可指定检索范围；&lt;/li&gt;
&lt;li&gt;支持流式输出（SSE），实时返回 AI 生成内容；&lt;/li&gt;
&lt;li&gt;支持多种请求方式：JSON、Form、Query String；&lt;/li&gt;
&lt;li&gt;接口默认 HTTPS，兼容 Apple ATS，配合多节点 CDN 提供高可用服务。&lt;/li&gt;
&lt;li&gt;全国多节点 CDN 部署；&lt;/li&gt;
&lt;li&gt;接口极速响应，多台服务器构建 API 接口负载均衡。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gugudata.com/status" rel="noopener noreferrer"&gt;接口调用状态与状态监控&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  2. API 文档
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;接口详情:&lt;/strong&gt; &lt;a href="https://www.gugudata.com/api/details/gaokao-chat" rel="noopener noreferrer"&gt;https://www.gugudata.com/api/details/gaokao-chat&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;接口地址:&lt;/strong&gt; &lt;a href="https://api.gugudata.com/ai/gaokao/chat" rel="noopener noreferrer"&gt;https://api.gugudata.com/ai/gaokao/chat&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;返回格式:&lt;/strong&gt; application/json; charset=utf-8&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;请求方式:&lt;/strong&gt; POST&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;请求协议:&lt;/strong&gt; HTTPS&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;请求示例:&lt;/strong&gt; &lt;a href="https://api.gugudata.com/ai/gaokao/chat" rel="noopener noreferrer"&gt;https://api.gugudata.com/ai/gaokao/chat&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;数据预览:&lt;/strong&gt; &lt;a href="https://www.gugudata.com/preview/gaokao-chat" rel="noopener noreferrer"&gt;https://www.gugudata.com/preview/gaokao-chat&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;接口测试:&lt;/strong&gt; &lt;a href="https://api.gugudata.com/ai/gaokao/chat/demo" rel="noopener noreferrer"&gt;https://api.gugudata.com/ai/gaokao/chat/demo&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  3. 请求参数
&lt;/h1&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数名&lt;/th&gt;
&lt;th&gt;参数类型&lt;/th&gt;
&lt;th&gt;是否必须&lt;/th&gt;
&lt;th&gt;默认值&lt;/th&gt;
&lt;th&gt;备注&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;appkey&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;是&lt;/td&gt;
&lt;td&gt;YOUR_APPKEY&lt;/td&gt;
&lt;td&gt;付费后获取的 APPKEY，可通过 Query 参数或 JSON body 传入&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;prompt&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;是&lt;/td&gt;
&lt;td&gt;你好，请介绍一下你自己&lt;/td&gt;
&lt;td&gt;用户输入的问题，支持通过 JSON body 或 Form 参数传入&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;session_id&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;会话ID，用于多轮对话。首次请求可不传，系统会自动生成并返回；后续请求使用返回的 session_id 可保持对话上下文&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;streaming&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;false&lt;/td&gt;
&lt;td&gt;是否启用流式输出（true/false），流式输出采用 SSE (Server-Sent Events) 格式，可通过 Query 参数或 JSON body 传入&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h1&gt;
  
  
  4. 返回参数
&lt;/h1&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数名&lt;/th&gt;
&lt;th&gt;参数类型&lt;/th&gt;
&lt;th&gt;备注&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;DataStatus.StatusCode&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;接口返回状态码，100 表示成功&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DataStatus.StatusDescription&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;接口返回状态说明&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DataStatus.ResponseDateTime&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;接口数据返回时间&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DataStatus.DataTotalCount&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;此条件下的总数据量，一般用于分页计算&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.text&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;回复的文本内容&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.session_id&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;会话ID，用于多轮对话。首次请求会自动生成，后续请求使用此 ID 可保持对话上下文&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.finish_reason&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;完成原因，通常为 'stop' 表示正常完成&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.request_id&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;请求ID，用于追踪和调试&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
    </item>
    <item>
      <title>PDF Full Text Multilingual AI Summary API: Turn Any PDF Into Instant Insights</title>
      <dc:creator>GuGuData</dc:creator>
      <pubDate>Tue, 25 Nov 2025 10:14:04 +0000</pubDate>
      <link>https://dev.to/gugudata/pdf-full-text-multilingual-ai-summary-api-turn-any-pdf-into-instant-insights-2fnd</link>
      <guid>https://dev.to/gugudata/pdf-full-text-multilingual-ai-summary-api-turn-any-pdf-into-instant-insights-2fnd</guid>
      <description>&lt;p&gt;PDF Full Text Multilingual AI Summary API: Turn Any PDF Into Instant Insights&lt;/p&gt;

&lt;p&gt;Long PDF reports, research papers, contracts, manuals and multilingual documents are hard to read and even harder to summarize manually. The PDF Full Text Multilingual AI Summary API from GuGuData helps you convert any PDF into a clean, concise AI generated summary in the language you need with a single HTTP request.&lt;/p&gt;

&lt;p&gt;This guide explains what the API does, how it works and how to integrate it into your own products for PDF summarization, document automation and AI knowledge workflows.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gugudata.io/details/pdf-summary" rel="noopener noreferrer"&gt;https://gugudata.io/details/pdf-summary&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What is the PDF Full Text Multilingual AI Summary API&lt;/p&gt;

&lt;p&gt;The PDF Full Text Multilingual AI Summary API is a REST API that:&lt;/p&gt;

&lt;p&gt;Accepts a PDF file upload&lt;/p&gt;

&lt;p&gt;Performs full text parsing and analysis across all pages&lt;/p&gt;

&lt;p&gt;Uses an AI model to understand structure, topics and key points&lt;/p&gt;

&lt;p&gt;Returns a high quality summary in your target language&lt;/p&gt;

&lt;p&gt;Key highlights:&lt;/p&gt;

&lt;p&gt;Category: imagerecognition&lt;/p&gt;

&lt;p&gt;Endpoint path: /v1/imagerecognition/pdf-summary&lt;/p&gt;

&lt;p&gt;HTTP method: POST&lt;/p&gt;

&lt;p&gt;Test endpoint: &lt;a href="https://api.gugudata.io/v1/imagerecognition/pdf-summary/demo" rel="noopener noreferrer"&gt;https://api.gugudata.io/v1/imagerecognition/pdf-summary/demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With this API you can quickly build:&lt;/p&gt;

&lt;p&gt;PDF AI summary tools&lt;/p&gt;

&lt;p&gt;Knowledge management and research assistants&lt;/p&gt;

&lt;p&gt;Enterprise document dashboards&lt;/p&gt;

&lt;p&gt;Edtech or LMS content digests&lt;/p&gt;

&lt;p&gt;Multilingual document understanding pipelines&lt;/p&gt;

&lt;p&gt;Key features of the PDF AI summary API&lt;/p&gt;

&lt;p&gt;The API is optimized for real world production workloads and developer integration.&lt;/p&gt;

&lt;p&gt;AI capabilities&lt;/p&gt;

&lt;p&gt;AI powered full text analysis of PDF documents&lt;/p&gt;

&lt;p&gt;Comprehensive summary generation covering main topics and key points&lt;/p&gt;

&lt;p&gt;High quality AI generated summaries with context understanding&lt;/p&gt;

&lt;p&gt;Automatic extraction and analysis of document content&lt;/p&gt;

&lt;p&gt;Support for multi page PDF documents&lt;/p&gt;

&lt;p&gt;Multilingual summary support&lt;/p&gt;

&lt;p&gt;You can generate summaries in multiple languages by switching a single parameter:&lt;/p&gt;

&lt;p&gt;English en&lt;/p&gt;

&lt;p&gt;Chinese zh&lt;/p&gt;

&lt;p&gt;Japanese ja&lt;/p&gt;

&lt;p&gt;Korean ko&lt;/p&gt;

&lt;p&gt;French fr&lt;/p&gt;

&lt;p&gt;German de&lt;/p&gt;

&lt;p&gt;Spanish es&lt;/p&gt;

&lt;p&gt;This is especially useful for:&lt;/p&gt;

&lt;p&gt;Translating long English research papers into Chinese summaries&lt;/p&gt;

&lt;p&gt;Creating English summaries of local language government or legal PDFs&lt;/p&gt;

&lt;p&gt;Supporting global users with localized document digests&lt;/p&gt;

&lt;p&gt;Production ready infrastructure&lt;/p&gt;

&lt;p&gt;The API is built and deployed for high availability:&lt;/p&gt;

&lt;p&gt;Full HTTPS support with TLS v1.0, v1.1, v1.2, v1.3&lt;/p&gt;

&lt;p&gt;Fully compatible with Apple ATS for iOS and macOS apps&lt;/p&gt;

&lt;p&gt;Nationwide multi node CDN deployment&lt;/p&gt;

&lt;p&gt;Load balancing across multiple servers for fast responses&lt;/p&gt;

&lt;p&gt;This makes it suitable for SaaS products, large scale dashboards and mobile apps where stability and latency matter.&lt;/p&gt;

&lt;p&gt;Typical use cases&lt;/p&gt;

&lt;p&gt;You can use the PDF Full Text Multilingual AI Summary API in many scenarios:&lt;/p&gt;

&lt;p&gt;Research and academic tools&lt;br&gt;
Automatically summarize papers, theses and conference proceedings. Offer short abstracts in multiple languages.&lt;/p&gt;

&lt;p&gt;Legal and contract review&lt;br&gt;
Generate high level briefs of contract PDFs so lawyers and business users can focus on the important clauses.&lt;/p&gt;

&lt;p&gt;Enterprise document management&lt;br&gt;
Turn internal manuals, reports and policy PDFs into searchable summaries for intranets and knowledge bases.&lt;/p&gt;

&lt;p&gt;Education and learning platforms&lt;br&gt;
Provide students with short summaries of long reading materials in their native language.&lt;/p&gt;

&lt;p&gt;News and media monitoring&lt;br&gt;
Summarize PDF based reports from think tanks, governments and NGOs and push highlights to dashboards.&lt;/p&gt;

&lt;p&gt;Customer support and knowledge centers&lt;br&gt;
Summarize product manuals and technical PDFs to power chatbots, help centers and FAQ content.&lt;/p&gt;

&lt;p&gt;Request details&lt;/p&gt;

&lt;p&gt;The API uses a simple POST request with multipart form data.&lt;/p&gt;

&lt;p&gt;Endpoint&lt;/p&gt;

&lt;p&gt;Base: &lt;a href="https://api.gugudata.io" rel="noopener noreferrer"&gt;https://api.gugudata.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Path: /v1/imagerecognition/pdf-summary&lt;/p&gt;

&lt;p&gt;Method: POST&lt;/p&gt;

&lt;p&gt;Content type: multipart/form-data&lt;/p&gt;

&lt;p&gt;Request parameters&lt;/p&gt;

&lt;p&gt;Required and optional fields:&lt;/p&gt;

&lt;p&gt;appkey&lt;/p&gt;

&lt;p&gt;Type: string&lt;/p&gt;

&lt;p&gt;Required: yes&lt;/p&gt;

&lt;p&gt;Description: Your GuGuData app key, obtained from the developer center after payment and activation.&lt;/p&gt;

&lt;p&gt;file&lt;/p&gt;

&lt;p&gt;Type: file&lt;/p&gt;

&lt;p&gt;Required: yes&lt;/p&gt;

&lt;p&gt;Description: The PDF file to summarize. Only PDF format is accepted.&lt;/p&gt;

&lt;p&gt;lang&lt;/p&gt;

&lt;p&gt;Type: string&lt;/p&gt;

&lt;p&gt;Required: no&lt;/p&gt;

&lt;p&gt;Default: en&lt;/p&gt;

&lt;p&gt;Description: Target language code for the summary, for example en, zh, ja, ko, fr, de, es.&lt;/p&gt;

&lt;p&gt;If lang is omitted, the API returns an English summary by default.&lt;/p&gt;

&lt;p&gt;Quick start example&lt;/p&gt;

&lt;p&gt;Below is a minimal curl example that uploads a PDF and requests a Chinese summary.&lt;/p&gt;

&lt;p&gt;curl -X POST "&lt;a href="https://api.gugudata.io/v1/imagerecognition/pdf-summary" rel="noopener noreferrer"&gt;https://api.gugudata.io/v1/imagerecognition/pdf-summary&lt;/a&gt;"   -H "Accept: application/json"   -F "appkey=YOUR_APPKEY"   -F "file=@/path/to/your-document.pdf"   -F "lang=zh"&lt;/p&gt;

&lt;p&gt;Example request for an English summary:&lt;/p&gt;

&lt;p&gt;curl -X POST "&lt;a href="https://api.gugudata.io/v1/imagerecognition/pdf-summary" rel="noopener noreferrer"&gt;https://api.gugudata.io/v1/imagerecognition/pdf-summary&lt;/a&gt;"   -H "Accept: application/json"   -F "appkey=YOUR_APPKEY"   -F "file=@/path/to/your-document.pdf"&lt;/p&gt;

&lt;p&gt;To quickly test without writing code you can also call the demo endpoint:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://api.gugudata.io/v1/imagerecognition/pdf-summary/demo" rel="noopener noreferrer"&gt;https://api.gugudata.io/v1/imagerecognition/pdf-summary/demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Response format&lt;/p&gt;

&lt;p&gt;On success the API returns a JSON object containing the AI generated summary.&lt;/p&gt;

&lt;p&gt;Successful response structure&lt;/p&gt;

&lt;p&gt;summary&lt;/p&gt;

&lt;p&gt;Type: string&lt;/p&gt;

&lt;p&gt;Description: AI generated summary of the PDF document in the specified language.&lt;/p&gt;

&lt;p&gt;Example JSON:&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "summary": "This PDF presents an in depth analysis of the 2024 global energy transition. It covers policy trends, renewable capacity growth, investment flows and regional case studies. Key findings include..."&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;You can directly display this summary in your UI or feed it to downstream AI workflows like embeddings, semantic search or chatbots.&lt;/p&gt;

&lt;p&gt;Error handling and status codes&lt;/p&gt;

&lt;p&gt;To build a robust integration you should handle different error codes from the API.&lt;/p&gt;

&lt;p&gt;Main error codes:&lt;/p&gt;

&lt;p&gt;200 Normal return&lt;/p&gt;

&lt;p&gt;The PDF was successfully analyzed and a summary was generated.&lt;/p&gt;

&lt;p&gt;400 Parameter error&lt;/p&gt;

&lt;p&gt;Required parameters are missing or invalid.&lt;/p&gt;

&lt;p&gt;The file is not a valid PDF.&lt;/p&gt;

&lt;p&gt;Action: Check appkey, file and lang values before retrying.&lt;/p&gt;

&lt;p&gt;402 APPKEY error&lt;/p&gt;

&lt;p&gt;The appkey is invalid or does not match the developer center configuration.&lt;/p&gt;

&lt;p&gt;Action: Confirm the key from your GuGuData account and update your environment variables.&lt;/p&gt;

&lt;p&gt;403 Account in arrears&lt;/p&gt;

&lt;p&gt;The account has not been paid or has overdue balance.&lt;/p&gt;

&lt;p&gt;Action: Recharge or renew your plan in the billing center.&lt;/p&gt;

&lt;p&gt;429 Request frequency limited&lt;/p&gt;

&lt;p&gt;The request rate is too high, for example more than 100 requests per second.&lt;/p&gt;

&lt;p&gt;Action: Add client side rate limiting or queues before retrying.&lt;/p&gt;

&lt;p&gt;500 API response error&lt;/p&gt;

&lt;p&gt;Internal error while processing the PDF or generating the AI summary.&lt;/p&gt;

&lt;p&gt;Action: Log the error, retry with backoff and contact support if it persists.&lt;/p&gt;

&lt;p&gt;503 Service unavailable&lt;/p&gt;

&lt;p&gt;External service temporarily unavailable.&lt;/p&gt;

&lt;p&gt;Action: Implement retry with exponential backoff and circuit breaker logic.&lt;/p&gt;

&lt;p&gt;By correctly interpreting these codes you can provide clear error messages to your users and keep your document pipelines stable.&lt;/p&gt;

&lt;p&gt;Pricing and integration considerations&lt;/p&gt;

&lt;p&gt;The PDF Full Text Multilingual AI Summary API is a paid service:&lt;/p&gt;

&lt;p&gt;Paid usage with appkey authentication&lt;/p&gt;

&lt;p&gt;Pricing levels starting from around 99 units for discounted plans&lt;/p&gt;

&lt;p&gt;Designed for both low volume indie projects and high volume SaaS workloads&lt;/p&gt;

&lt;p&gt;For production systems consider:&lt;/p&gt;

&lt;p&gt;Caching summaries for the same document hash to avoid duplicate calls&lt;/p&gt;

&lt;p&gt;Using a message queue for large batch PDF processing&lt;/p&gt;

&lt;p&gt;Storing both the original PDF and generated summary in your own storage&lt;/p&gt;

&lt;p&gt;Logging appkey usage and error codes for monitoring&lt;/p&gt;

&lt;p&gt;SEO tips when using PDF AI summaries on your site&lt;/p&gt;

&lt;p&gt;If you embed the generated summaries into your website or product, you can improve search visibility by:&lt;/p&gt;

&lt;p&gt;Including relevant keywords such as&lt;br&gt;
PDF AI summary, multilingual PDF summarization, PDF summary API, AI document summary, PDF content analysis&lt;/p&gt;

&lt;p&gt;Adding the summary as readable HTML text next to your PDF viewer or download link&lt;/p&gt;

&lt;p&gt;Using the summary text in meta description fields where appropriate&lt;/p&gt;

&lt;p&gt;Building category pages that aggregate AI summaries for related topics or industries&lt;/p&gt;

&lt;p&gt;Providing language switchers using the lang parameter so search engines can index localized pages&lt;/p&gt;

&lt;p&gt;The more structured and readable your AI generated summaries are, the better they can contribute to organic traffic and user engagement.&lt;/p&gt;

&lt;p&gt;Why choose GuGuData for PDF AI summarization&lt;/p&gt;

&lt;p&gt;GuGuData has long experience in data APIs and AI services. This PDF Full Text Multilingual AI Summary API benefits from:&lt;/p&gt;

&lt;p&gt;Stable infrastructure with multi node CDN and load balancing&lt;/p&gt;

&lt;p&gt;Modern TLS support and Apple ATS compatibility for mobile integrations&lt;/p&gt;

&lt;p&gt;Clear error codes and documentation for developers&lt;/p&gt;

&lt;p&gt;Focus on performance and reliability for real production scenarios&lt;/p&gt;

&lt;p&gt;If you are building a tool that needs fast, accurate and multilingual PDF summaries, this API gives you a ready to use backend so you can focus on product and user experience instead of low level document parsing and AI orchestration.&lt;/p&gt;

&lt;p&gt;Start using the PDF Full Text Multilingual AI Summary API&lt;/p&gt;

&lt;p&gt;Get your appkey from the GuGuData developer center, call the /v1/imagerecognition/pdf-summary endpoint and start turning long PDFs into concise multilingual insights in your own applications.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>基于模型的高校录取概率预测 API 接口</title>
      <dc:creator>GuGuData</dc:creator>
      <pubDate>Thu, 13 Nov 2025 11:18:42 +0000</pubDate>
      <link>https://dev.to/gugudata/ji-yu-mo-xing-de-gao-xiao-lu-qu-gai-lu-yu-ce-api-jie-kou-520o</link>
      <guid>https://dev.to/gugudata/ji-yu-mo-xing-de-gao-xiao-lu-qu-gai-lu-yu-ce-api-jie-kou-520o</guid>
      <description>&lt;p&gt;基于模型的高校录取概率预测 API 接口&lt;/p&gt;

&lt;p&gt;教育/高考 融合历年分数线与分段位次特征录取概率模型 AI预测 / 高考志愿 / 录取概率 AI / 高考 / 高考录取 / 高等教育&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F42ak3sgia5n9w2t0ghta.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F42ak3sgia5n9w2t0ghta.png" alt="gugudata api" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. 产品功能
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;基于 LightGBM 梯度提升框架，融合院校分数线、高校与专业录取分数线、分段位次等多源异构数据；&lt;/li&gt;
&lt;li&gt;采用 Isotonic 回归进行预测校准，保证录取概率输出稳定可信；&lt;/li&gt;
&lt;li&gt;自动生成冲/稳/保梯度建议，并提供分差最小值与中位数等统计指标；&lt;/li&gt;
&lt;li&gt;返回 SHAP 特征贡献明细，透明解释模型决策依据；&lt;/li&gt;
&lt;li&gt;支持省份过滤、白名单院校、Top-N 控制等高级筛选能力；&lt;/li&gt;
&lt;li&gt;支持 Query 与 JSON 组合入参，便于脚本与后端系统同时调用；&lt;/li&gt;
&lt;li&gt;底层 MongoDB 数据按年度更新，同步最新高考年份信息；&lt;/li&gt;
&lt;li&gt;接口默认 HTTPS，兼容 Apple ATS，配合多节点 CDN 提供高可用服务。&lt;/li&gt;
&lt;li&gt;全国多节点 CDN 部署；&lt;/li&gt;
&lt;li&gt;接口极速响应，多台服务器构建 API 接口负载均衡。&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gugudata.com/status" rel="noopener noreferrer"&gt;接口调用状态与状态监控&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  2. API 文档
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;接口详情:&lt;/strong&gt; &lt;a href="https://www.gugudata.com/api/details/admission-predict" rel="noopener noreferrer"&gt;https://www.gugudata.com/api/details/admission-predict&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;接口地址:&lt;/strong&gt; &lt;a href="https://api.gugudata.com/ai/admission/predict?appkey=%7B%7Bappkey%7D%7D" rel="noopener noreferrer"&gt;https://api.gugudata.com/ai/admission/predict?appkey={{appkey}}&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;返回格式:&lt;/strong&gt; application/json; charset=utf-8&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;请求方式:&lt;/strong&gt; POST&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;请求协议:&lt;/strong&gt; HTTPS&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;请求示例:&lt;/strong&gt; &lt;a href="https://api.gugudata.com/ai/admission/predict?appkey=%7B%7Bappkey%7D%7D" rel="noopener noreferrer"&gt;https://api.gugudata.com/ai/admission/predict?appkey={{appkey}}&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;数据预览:&lt;/strong&gt; &lt;a href="https://www.gugudata.com/preview/admission-predict" rel="noopener noreferrer"&gt;https://www.gugudata.com/preview/admission-predict&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;接口测试:&lt;/strong&gt; &lt;a href="https://api.gugudata.com/ai/admission/predict/demo" rel="noopener noreferrer"&gt;https://api.gugudata.com/ai/admission/predict/demo&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  3. 请求参数
&lt;/h1&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数名&lt;/th&gt;
&lt;th&gt;参数类型&lt;/th&gt;
&lt;th&gt;是否必须&lt;/th&gt;
&lt;th&gt;默认值&lt;/th&gt;
&lt;th&gt;备注&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;appkey&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;是&lt;/td&gt;
&lt;td&gt;YOUR_APPKEY&lt;/td&gt;
&lt;td&gt;付费后获取的 APPKEY，可通过 Query (?appkey=) 提供&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;province&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;是&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;考生所在省份，与历年分数线数据保持一致&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;subject_type&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;是&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;科类/选科：理科、文科、物理类、历史类、综合等&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;score&lt;/td&gt;
&lt;td&gt;number&lt;/td&gt;
&lt;td&gt;是&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;考生裸分（0-750）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;rank&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;考生全省位次，可为空（为空时结合分段位次推断）&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;batch&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;本科批&lt;/td&gt;
&lt;td&gt;报考批次，目前支持普通本科批次&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;top_n&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;返回院校数量上限，范围 1-200&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;include_explanation&lt;/td&gt;
&lt;td&gt;bool&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;true&lt;/td&gt;
&lt;td&gt;是否返回 SHAP 特征贡献解释&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;prefer_local&lt;/td&gt;
&lt;td&gt;bool&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;false&lt;/td&gt;
&lt;td&gt;是否在排序时优先本省院校&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;college_provinces&lt;/td&gt;
&lt;td&gt;array(string)&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;按院校所在省份过滤，留空则不过滤；Query 方式可多次传值，格式 ["江苏", "上海"]&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;target_colleges&lt;/td&gt;
&lt;td&gt;array(string)&lt;/td&gt;
&lt;td&gt;否&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;td&gt;指定院校名单，仅对名单内院校预测&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h1&gt;
  
  
  4. 返回参数
&lt;/h1&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;参数名&lt;/th&gt;
&lt;th&gt;参数类型&lt;/th&gt;
&lt;th&gt;备注&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;DataStatus.StatusCode&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;接口状态码，100 表示成功&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DataStatus.StatusDescription&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;接口返回状态说明&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DataStatus.ResponseDateTime&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;返回时间&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DataStatus.DataTotalCount&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;本次返回院校数量&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.predictions&lt;/td&gt;
&lt;td&gt;array&lt;/td&gt;
&lt;td&gt;预测结果列表&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.predictions[].college_name&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;院校名称&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.predictions[].admission_probability&lt;/td&gt;
&lt;td&gt;float&lt;/td&gt;
&lt;td&gt;录取概率 (0-1)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.predictions[].recommendation&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;梯度建议：录取概率高 / 需要注意梯度，但成功率较高 / 录取概率低&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.predictions[].evidence&lt;/td&gt;
&lt;td&gt;object&lt;/td&gt;
&lt;td&gt;关键信息：recent_3y_min_score、score_gap、province_line_gap、is_985、is_211、is_dual_class、college_rank 等&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.predictions[].shap_explanation&lt;/td&gt;
&lt;td&gt;object&lt;/td&gt;
&lt;td&gt;SHAP 解释信息，含 base_probability、predicted_probability、top_features&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.meta.total_colleges&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;返回院校数量&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.meta.student_score&lt;/td&gt;
&lt;td&gt;float&lt;/td&gt;
&lt;td&gt;考生分数&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.meta.student_province&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;考生省份&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.meta.local_colleges&lt;/td&gt;
&lt;td&gt;int&lt;/td&gt;
&lt;td&gt;结果中同省院校数量，无 is_local 字段时为 null&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.meta.score_diff_min&lt;/td&gt;
&lt;td&gt;float&lt;/td&gt;
&lt;td&gt;分差绝对值最小值&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.meta.score_diff_median&lt;/td&gt;
&lt;td&gt;float&lt;/td&gt;
&lt;td&gt;分差绝对值中位数，用于梯度判断&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.meta.prefer_local&lt;/td&gt;
&lt;td&gt;bool&lt;/td&gt;
&lt;td&gt;是否启用本省优先排序&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.meta.college_provinces&lt;/td&gt;
&lt;td&gt;array(string)&lt;/td&gt;
&lt;td&gt;请求中用于过滤院校省份的列表&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.meta.model_version&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;模型版本号&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data.disclaimer&lt;/td&gt;
&lt;td&gt;string&lt;/td&gt;
&lt;td&gt;免责声明&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
    </item>
  </channel>
</rss>
