您的利益相关者希望有一个仪表板,显示流量来源、重要国家以及访客的参与度。通过本文,您将发布一个集成,使用 Zyla API Hub 上的网站流量 API 获取国家覆盖和域级流量来源、主要国家和参与度指标。
此 API 提供的内容
网站流量 API 提供域级流量智能,您可以将其放入产品分析、SEO 工具或竞争研究工作流程中。您传递一个域名并接收:
- 按流量份额排名的前 5 个国家(包括数字国家标识符和 ISO alpha-2 代码)。
- 参与度指标,包括跳出率、每次访问页面数、访问次数和网站停留时间。
- 高级网站元数据(标题、描述)。
它还提供一个包含 ISO 代码和地区的国家目录,以便您可以在 UI 或报告中准确标记或过滤特定国家的流量。
在 Zyla API Hub 上开始
打开 Zyla API Hub 上的网站流量 API 列表并订阅。Zyla 提供一个帐户、一个 API 密钥,以及超过 10,000 个公共 API 的订阅 + 配额模型。对于此 API,您可以从 7 天的试用或 50 次请求开始;请查看列表以获取当前访问选项和定价。
订阅后,您将收到一个 API 密钥。以下所有请求使用:
- Header: Authorization: Bearer YOUR_API_KEY
- HTTP 方法:GET
随时从 Zyla API Hub 浏览其他类别或管理您的订阅。当您准备好实施时,请在此处获取试用:开始 7 天试用网站流量 API。
您将使用的端点
1) 国家列表
接收所有支持的国家及其代码的列表。这些代码在流量分析响应中引用,以便您可以正确呈现国家名称和地区。
方法:GET
URL: https://zylalabs.com/api/29/site-traffic-api/1372/countries-list
cURL
curl -s -X GET "https://zylalabs.com/api/29/site-traffic-api/1372/countries-list" \
-H "Authorization: Bearer YOUR_API_KEY"
官方示例响应
[{"name":"Afghanistan","alpha-2":"AF","alpha-3":"AFG","country-code":"004","iso_3166-2":"ISO 3166-2:AF","region":"Asia","sub-region":"Southern Asia","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"Åland Islands","alpha-2":"AX","alpha-3":"ALA","country-code":"248","iso_3166-2":"ISO 3166-2:AX","region":"Europe","sub-region":"Northern Europe","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"Albania","alpha-2":"AL","alpha-3":"ALB","country-code":"008","iso_3166-2":"ISO 3166-2:AL","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Algeria","alpha-2":"DZ","alpha-3":"DZA","country-code":"012","iso_3166-2":"ISO 3166-2:DZ","region":"Africa","sub-region":"Northern Africa","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"American Samoa","alpha-2":"AS","alpha-3":"ASM","country-code":"016","iso_3166-2":"ISO 3166-2:AS","region":"Oceania","sub-region":"Polynesia","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"Andorra","alpha-2":"AD","alpha-3":"AND","country-code":"020","iso_3166-2":"ISO 3166-2:AD","region":"Europe","sub-region":"Southern Europe","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"Angola","alpha-2":"AO","alpha-3":"AGO","country-code":"024","iso_3166-2":"ISO 3166-2:AO","region":"Africa","sub-region":"Sub-Saharan Africa","intermediate-region":"Middle Africa","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"Anguilla","alpha-2":"AI","alpha-3":"AIA","country-code":"660","iso_3166-2":"ISO 3166-2:AI","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"Antarctica","alpha-2":"AQ","alpha-3":"ATA","country-code":"010","iso_3166-2":"ISO 3166-2:AQ","region":"","sub-region":"","intermediate-region":"","region-code":"","sub-region-code":"","intermediate-region-code":""},{"name":"Antigua and Barbuda","alpha-2":"AG","alpha-3":"ATG","country-code":"028","iso_3166-2":"ISO 3166-2:AG","region":"Americas","sub-region":"Latin America and the Caribbean","intermediate-region":"Caribbean","region-code":"019","s…
如何使用:
- 使用“alpha-2”字段将流量响应中的两字母 ISO 代码映射到人类可读名称。
- 在构建汇总时按“region”和“sub-region”分组或过滤。
- 将此数据集本地存储并定期刷新,以避免重复查找。
2) 流量来源和概述
提供一个域名(不带协议或“www”)以检索按流量份额排名的前 5 个国家和参与度指标,以及高级网站元数据。
方法:GET
URL: https://zylalabs.com/api/29/site-traffic-api/93/traffic-source-and-overview
所需查询参数:
- domain: 您想要分析的域名(示例:google.com)
cURL
响应包括以下字段:
- SiteName、Title、Description
- TopCountryShares:包含 Country、CountryCode、Value 的对象数组
- Engagments:BounceRate、PagePerVisit、Visits、TimeOnSite、Month、Year
- EstimatedMonthlyVisits:一个以日期为键的对象(例如,“YYYY-MM-01”),映射到访问计数
注意:流量来源和概述端点仅需要域名参数;请勿包含协议或子域名,如“www”。
您可以粘贴的代码
Python 示例:获取流量概述并总结关键字段
此代码段调用流量来源和概述端点以获取单个域名,并打印国家份额和参与度指标。将 YOUR_API_KEY 替换为您从 Zyla 获取的密钥。
import requests
from typing import Dict, Any
API_KEY = "YOUR_API_KEY"
DOMAIN = "google.com"
url = "https://zylalabs.com/api/29/site-traffic-api/93/traffic-source-and-overview"
params = {"domain": DOMAIN}
headers = {"Authorization": f"Bearer {API_KEY}"}
resp = requests.get(url, headers=headers, params=params, timeout=30)
resp.raise_for_status()
data: Dict[str, Any] = resp.json()
print("Site:", data.get("SiteName"))
print("Title:", data.get("Title"))
print("Description:", data.get("Description"))
eng = data.get("Engagments", {}) or {}
print("Engagement:")
print(" BounceRate:", eng.get("BounceRate"))
print(" PagePerVisit:", eng.get("PagePerVisit"))
print(" Visits:", eng.get("Visits"))
print(" TimeOnSite (seconds):", eng.get("TimeOnSite"))
print(" Period:", f'{eng.get("Year")}-{eng.get("Month")}')
top_countries = data.get("TopCountryShares", []) or []
print("\nTop Country Shares:")
for item in top_countries:
code = item.get("CountryCode")
share = item.get("Value")
print(f" {code}: {share}")
monthly = data.get("EstimatedMonthlyVisits", {}) or {}
# Take the latest month key if available, sorted by key (YYYY-MM-01 format)
if monthly:
latest_key = sorted(monthly.keys())[-1]
print("\nLatest Estimated Monthly Visits:")
print(f" {latest_key}: {monthly[latest_key]}")
提示:响应包含数值和一些字符串编码的数字(例如,参与度中的跳出率、访问次数)。如果您需要数值计算,请在聚合之前将字符串强制转换为 float 或 int。
您本周可以发布的实际用例
- 在营销仪表板中进行国家感知的流量细分:调用流量来源和概述,使用国家列表中的国家名称呈现 TopCountryShares。
- 竞争监控小部件:对于竞争对手域名的简短列表,按计划轮询端点并绘制 EstimatedMonthlyVisits 随时间的变化。
- SEO 机会分析:将 SiteName/Title/Description 与 PagePerVisit 和 BounceRate 结合,以优先考虑值得外展或合作的域名。
- 区域规划:使用国家列表为国家标记区域,并按区域汇总流量份额,帮助销售团队集中精力。
- 参与度健康检查:每月跟踪 TimeOnSite、PagePerVisit 和 BounceRate,以在参与度超出阈值时发出警报。
节省时间的请求/响应细节
- 身份验证:在每个请求中使用 Authorization: Bearer YOUR_API_KEY。
- 域名格式:仅提供域名(例如,“example.com”)。请勿包含协议或“www”。
- 时间段字段:Engagments 包含 Month 和 Year;EstimatedMonthlyVisits 键看起来像“YYYY-MM-01”。将其存储为字符串或解析为日期。
- 国家代码:流量响应包括 Country(数字代码)和 CountryCode(ISO alpha-2)。使用国家列表映射到国家名称和地区。
- 缓存:这两个端点都是 GET;实现客户端缓存以减少仪表板或服务器渲染页面中的冗余调用。
- 分页:在这些端点上不适用;响应是请求的域名或数据集的完整有效负载。
- 访问模型:订阅 + 配额。首次使用通常从 7 天试用或 50 次请求开始——请查看列表以获取当前详细信息。
通过 MCP 从 AI 代理调用 API
如果您在兼容 MCP 的客户端中运行工作流程,可以通过 Zyla 的 MCP 端点路由调用。配置您的代理以访问:
端点: https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
这使您的 AI 代理能够调用上述文档中的相同网站流量 API 端点,同时通过您的 Zyla 密钥集中身份验证。有关 MCP 的更多信息,请参见 MCP 页面。您仍然可以控制您的工具调用的 API 路径以及结果如何呈现到代理的输出中。
端到端工作流程示例
- 获取国家列表一次,并在您的应用中按 ETag 或时间戳缓存,按 alpha-2 键入。
- 对于每个用户提供的域名,调用流量来源和概述,域名=example.com。
- 将 TopCountryShares.CountryCode 与您缓存的国家映射连接以获取标签和地区。
- 呈现参与度指标(BounceRate、PagePerVisit、Visits、TimeOnSite)以及国家份额。
- 如果您绘制趋势,请按解析日期索引 EstimatedMonthlyVisits,以确保正确排序。
验证和 QA 提示
- 域名规范化:在调用 API 之前将其小写并去除前缀,以避免重复。
- 数字处理:将 Engagments 中的字符串数字转换为数字类型以进行算术运算,但如果您需要精确格式,则保留原始字符串以供显示。
- 区域汇总:使用国家列表中的“region”和“sub-region”汇总流量;为空区域字段(例如,南极洲)保留后备方案。
- 弹性:用超时和重试包装调用;将数据集视为最终一致,并缓存最近的结果。
为什么选择 Zyla 快速发布
通过一个帐户和一个 API 密钥跨目录,您可以稍后添加相邻的分析或丰富,而无需更改身份验证模型。计费为订阅 + 配额,这简化了成本跟踪。在 Zyla API Hub 上浏览目录,然后订阅网站流量 API,以获取您本周所需的确切流量洞察。
常见问题
域名字段期望什么参数格式?
使用不带协议或“www”的裸域,例如:domain=example.com。
如何将 TopCountryShares 中的国家代码映射到可读名称?
调用国家列表端点,并在 alpha-2 代码(TopCountryShares 中的 CountryCode)上连接以显示国家名称和地区。
是否有分页或批处理端点?
文档中的端点是单次调用的 GET,没有分页。对于批处理,循环遍历您的域名列表并缓存结果。
参与数据中使用了什么时间单位?
Engagments.TimeOnSite 以秒为单位表示。BounceRate、PagePerVisit 和 Visits 可能是字符串编码的——如果您需要计算,请转换为数字类型。Month 和 Year 表示参与快照的时间段。
如何开始试用并获取 API 密钥?
在列表页面上订阅以开始 7 天试用或 50 次请求(请查看页面以获取当前访问)。您的密钥出现在 Zyla 控制台中,并在头部中用作 Bearer YOUR_API_KEY。
准备好构建了吗?订阅并立即开始获取流量智能:开始 7 天试用网站流量 API。
官方 API 响应
[{"name":"阿富汗","alpha-2":"AF","alpha-3":"AFG","country-code":"004","iso_3166-2":"ISO 3166-2:AF","region":"亚洲","sub-region":"南亚","intermediate-region":"","region-code":"142","sub-region-code":"034","intermediate-region-code":""},{"name":"奥兰群岛","alpha-2":"AX","alpha-3":"ALA","country-code":"248","iso_3166-2":"ISO 3166-2:AX","region":"欧洲","sub-region":"北欧","intermediate-region":"","region-code":"150","sub-region-code":"154","intermediate-region-code":""},{"name":"阿尔巴尼亚","alpha-2":"AL","alpha-3":"ALB","country-code":"008","iso_3166-2":"ISO 3166-2:AL","region":"欧洲","sub-region":"南欧","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"阿尔及利亚","alpha-2":"DZ","alpha-3":"DZA","country-code":"012","iso_3166-2":"ISO 3166-2:DZ","region":"非洲","sub-region":"北非","intermediate-region":"","region-code":"002","sub-region-code":"015","intermediate-region-code":""},{"name":"美属萨摩亚","alpha-2":"AS","alpha-3":"ASM","country-code":"016","iso_3166-2":"ISO 3166-2:AS","region":"大洋洲","sub-region":"波利尼西亚","intermediate-region":"","region-code":"009","sub-region-code":"061","intermediate-region-code":""},{"name":"安道尔","alpha-2":"AD","alpha-3":"AND","country-code":"020","iso_3166-2":"ISO 3166-2:AD","region":"欧洲","sub-region":"南欧","intermediate-region":"","region-code":"150","sub-region-code":"039","intermediate-region-code":""},{"name":"安哥拉","alpha-2":"AO","alpha-3":"AGO","country-code":"024","iso_3166-2":"ISO 3166-2:AO","region":"非洲","sub-region":"撒哈拉以南非洲","intermediate-region":"中非","region-code":"002","sub-region-code":"202","intermediate-region-code":"017"},{"name":"安圭拉","alpha-2":"AI","alpha-3":"AIA","country-code":"660","iso_3166-2":"ISO 3166-2:AI","region":"美洲","sub-region":"拉丁美洲和加勒比海","intermediate-region":"加勒比海","region-code":"019","sub-region-code":"419","intermediate-region-code":"029"},{"name":"南极洲","alpha-2":"AQ","alpha-3":"ATA","country-code":"010","iso_3166-2":"ISO 3166-2:AQ","region":"","sub-region":"","intermediate-region":"","region-code":"","sub-region-code":"","intermediate-region-code":""},{"name":"安提瓜和巴布达","alpha-2":"AG","alpha-3":"ATG","country-code":"028","iso_3166-2":"ISO 3166-2:AG","region":"美洲","sub-region":"拉丁美洲和加勒比海","intermediate-region":"加勒比海","region-code":"019","s…