PageSourceSearch

https://socq.ai/_next/static/chunks/3817-af7a3eeb3cfd3fdd.js

js socq.ai collected 2026-10-05 12:39:43 UTC 29,409 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3817],{6144:(e,t,r)=>{"use strict";r.d(t,{DT:()=>l,FP:()=>n,TK:()=>i,Zn:()=>o,aM:()=>s,x3:()=>c});var a=r(92651);function i(e){return"string"==typeof e?{pathname:e}:e}function o(e){let t=new URLSearchParams;for(let[r,a]of Object.entries(e))Array.isArray(a)?a.forEach(e=>{t.append(r,String(e))}):t.set(r,String(a));return"?"+t.toString()}function n({pathname:e,locale:t,params:r,pathnames:i,query:s}){function l(e){let n,l=i[e];return l?(n=(0,a.Wl)(l,t,e),r&&Object.entries(r).forEach(([e,t])=>{let r,a;Array.isArray(t)?(r=`(\\[)?\\[...${e}\\](\\])?`,a=t.map(e=>String(e)).join("/")):(r=`\\[${e}\\]`,a=String(t)),n=n.replace(RegExp(r,"g"),a)}),n=new URL(n=n.replace(/\[\[\.\.\..+\]\]/g,""),"http://l").pathname):n=e,n=(0,a.po)(n),s&&(n+=o(s)),n}if("string"==typeof e)return l(e);{let{pathname:t,...r}=e;return{...r,pathname:l(t)}}}function s(e,t,r){let i=(0,a.FD)(Object.keys(r)),o=decodeURI(t);for(let t of i){let i=r[t];if("string"==typeof i){if((0,a.ql)(i,o))return t}else if((0,a.ql)((0,a.Wl)(i,e,t),o))return t}return t}function l(e,t=window.location.pathname){return"/"===e?t:t.replace(e,"")}function c(e,t,r,i){let o,{mode:n}=r.localePrefix;if(void 0!==i)o=i;else if((0,a._x)(e)){let e=r.domains?.find(e=>e.locales.includes(t)),a=e?.localePrefix||n;"always"===a?o=!0:"as-needed"===a&&(o=e?t!==e.defaultLocale:t!==r.defaultLocale)}return o?(0,a.PJ)((0,a.XP)(t,r.localePrefix),e):e}},9780:(e,t,r)=>{"use strict";r.d(t,{A:()=>i});var a=r(6144);function i(e,t,r,i){if(!e||i===r||null==i||!t)return;let o=(0,a.DT)(t),{name:n,...s}=e;s.path||(s.path=""!==o?o:"/");let l=`${n}=${i};`;for(let[e,t]of Object.entries(s))l+=`${"maxAge"===e?"max-age":e}`,"boolean"!=typeof t&&(l+="="+t),l+=";";document.cookie=l}},23817:(e,t,r)=>{Promise.resolve().then(r.bind(r,32206)),Promise.resolve().then(r.bind(r,76558))},32206:(e,t,r)=>{"use strict";r.d(t,{ResourceHub:()=>g});var a=r(95155),i=r(12115),o=r(55638),n=r(71168);let s={en:[{id:"blog",label:"Blog",href:"/blog"},{id:"alternatives",label:"Alternatives",href:"/alternatives"},{id:"compare",label:"Compare",href:"/compare"}],zh:[{id:"blog",label:"博客",href:"/blog"},{id:"alternatives",label:"替代方案",href:"/alternatives"},{id:"compare",label:"产品对比",href:"/compare"}]},l={blog:{eyebrow:"SOCIAL DATA GUIDES",title:"Practical guides for social data APIs",description:"Step-by-step tutorials, API guides, and data workflows for public social networks, ad libraries, commerce, maps, app stores, and SEO.",searchPlaceholder:"Search guides and tutorials",allPlatforms:"All",allTopics:"All topics",latest:"Latest",alphabetical:"A–Z",browseTopics:"Browse topics",featuredResources:"Featured resources",emptyTitle:"No matching guides",emptyDescription:"Try another platform, topic, or search term.",clearFilters:"Clear filters",trending:"Trending",ctaTitle:"Ready to test an endpoint?",ctaDescription:"Explore endpoints, inspect schemas, and run requests from one API catalog.",ctaAction:"View API catalog",topics:["Tutorials","Scraping","API Guides","Data Workflows","Migration"],items:[{id:"youtube-transcripts-at-scale",title:"How to Download YouTube Transcripts at Scale with an API",description:"Extract YouTube video transcripts at scale using the SocQ API.",platform:"youtube",topic:"API Guides",date:"July 2026",readTime:"8 min read",href:"/blog/download-youtube-transcripts-api",trending:!0},{id:"reddit-api-guide",title:"Reddit API Guide: Access Posts, Comments and Search Data in 2026",description:"Retrieve Reddit posts, comments, community context, and search results.",platform:"reddit",topic:"API Guides",date:"July 2026",readTime:"11 min read",href:"/blog/reddit-api-guide"},{id:"scrape-linkedin-api",title:"How to Scrape LinkedIn Profiles, Companies, and Jobs with an API",description:"Route public LinkedIn URLs to four endpoints and build a validated production workflow.",platform:"linkedin",topic:"Tutorials",date:"July 2026",readTime:"12 min read",href:"/blog/scrape-linkedin-api"},{id:"scrape-instagram-reels-api",title:"How to Scrape Instagram Reels Data with an API",description:"Collect public Reels, normalize records, and preserve changing metric snapshots.",platform:"instagram",topic:"Tutorials",date:"July 2026",readTime:"11 min read",href:"/blog/scrape-instagram-reels-api",trending:!0},{id:"export-facebook-comments-json-csv",title:"How to Export Facebook Comments to JSON or CSV",description:"Collect public comments and generate safe UTF-8 JSON and CSV exports.",platform:"facebook",topic:"Tutorials",date:"July 2026",readTime:"12 min read",href:"/blog/export-facebook-comments-json-csv"},{id:"unified-social-media-api",title:"Unified Social Media API: One API for Public Social Data",description:"Use one key, task workflow, and normalized model across 27 platforms and 158 public-data endpoints for social, ads, commerce, maps, app stores, and SEO.",topic:"API Guides",date:"September 2026",readTime:"14 min read",href:"/blog/unified-social-media-api",trending:!0}]},alternatives:{eyebrow:"API ALTERNATIVES",title:"Find the right social data API",description:"Explore focused alternatives to general scraping platforms and restricted official APIs.",searchPlaceholder:"Search API alternatives",allPlatforms:"All",allTopics:"All needs",latest:"Recommended",alphabetical:"A–Z",browseTopics:"Browse needs",featuredResources:"Popular alternatives",emptyTitle:"No matching alternatives",emptyDescription:"Try another platform, need, or provider name.",clearFilters:"Clear filters",trending:"Trending",ctaTitle:"Need a focused social data API?",ctaDescription:"Use one API key and normalized responses across every supported platform.",ctaAction:"Explore SocQ APIs",topics:["Social Data","Official API","Automation","Pricing","Migration"],items:[{id:"apify-alternative",title:"7 Best Apify Alternatives for Social Media Scraping APIs",description:"Compare a focused social data API with actor-based web automation.",topic:"Social Data",date:"July 2026",readTime:"8 min read",href:"/alternatives/apify",trending:!0},{id:"twitter-api-alternative",title:"Twitter API Pricing and X API Alternatives",description:"Compare public X profile, post, user timeline, and search access.",platform:"x",topic:"Official API",date:"July 2026",readTime:"12 min read",href:"/alternatives/twitter-api-alternative"}]},compare:{eyebrow:"API COMPARISONS",title:"Compare social data APIs",description:"Compare coverage, integration models, and product fit before choosing a social data provider.",searchPlaceholder:"Search providers or comparisons",allPlatforms:"All",allTopics:"All comparisons",latest:"Popular",alphabetical:"A–Z",browseTopics:"Compare by",featuredResources:"Popular comparisons",emptyTitle:"No matching comparisons",emptyDescription:"Try another platform, comparison type, or provider.",clearFilters:"Clear filters",trending:"Trending",ctaTitle:"Compare the endpoints that matter",ctaDescription:"Inspect SocQ coverage and request pricing before choosing a provider.",ctaAction:"View API coverage",topics:["API Coverage","Pricing","Developer Experience","Social Data","Migration"],items:[{id:"linkedin-scraper-apis",title:"7 Best LinkedIn Scraper APIs for Profiles, Companies, Posts & Jobs",description:"Compare profile, company, post, and jobs data coverage for developers.",platform:"linkedin",topic:"API Coverage",date:"July 2026",readTime:"8 min read",href:"/compare/linkedin-scraper-apis",trending:!0},{id:"instagram-scraper-apis",title:"7 Best Instagram Scraper APIs in 2026",description:"Compare public profiles, posts, Reels, comments, pricing, and developer fit.",platform:"instagram",topic:"Social Data",date:"July 2026",readTime:"12 min read",href:"/compare/instagram-scraper-apis"},{id:"tiktok-scraper-apis",title:"7 Best TikTok Scraper APIs for Videos, Profiles and Comments",description:"Compare TikTok profiles, videos, c
1omments, search, hashtags, pricing, and production fit.",platform:"tiktok",topic:"API Coverage",date:"July 2026",readTime:"12 min read",href:"/compare/tiktok-scraper-apis",trending:!0},{id:"twitter-scraper-apis",title:"7 Best Twitter/X Scraper APIs in 2026",description:"Compare profiles, Posts, timelines, search, official X pricing, and managed API options.",platform:"x",topic:"API Coverage",date:"July 2026",readTime:"11 min read",href:"/compare/twitter-scraper-apis"}]}},c={blog:{Tutorials:"教程",Scraping:"数据抓取","API Guides":"API 指南","Data Workflows":"数据工作流",Migration:"迁移"},alternatives:{"Social Data":"社媒数据","Official API":"官方 API",Automation:"自动化",Pricing:"价格",Migration:"迁移"},compare:{"API Coverage":"API 覆盖",Pricing:"价格","Developer Experience":"开发者体验","Social Data":"社媒数据",Migration:"迁移"}},d={"youtube-transcripts-at-scale":{title:"如何通过 API 批量下载 YouTube 字幕",description:"使用 SocQ API 批量获取公开视频已有的 YouTube 字幕。"},"reddit-api-guide":{title:"2026 Reddit API 指南:访问帖子、评论与搜索数据",description:"获取 Reddit 帖子、评论、社区上下文和搜索结果。"},"scrape-linkedin-api":{title:"如何通过 API 抓取 LinkedIn 个人资料、公司和职位",description:"把公开 LinkedIn URL 路由到四个端点,并构建通过校验的生产工作流。"},"scrape-instagram-reels-api":{title:"如何通过 API 抓取 Instagram Reels 数据",description:"采集公开 Reels、标准化记录,并保存持续变化的指标快照。"},"export-facebook-comments-json-csv":{title:"如何把 Facebook 评论导出为 JSON 或 CSV",description:"采集公开评论,并生成安全的 UTF-8 JSON 和 CSV 文件。"},"unified-social-media-api":{title:"统一社交媒体 API:一套接口采集公开社交与商业数据",description:"用一个 Key、任务流程和标准模型接入 27 个平台、158 个公开数据端点,覆盖社交、广告、电商、地图、应用商店和 SEO。"},"apify-alternative":{title:"7 个最佳 Apify 替代方案:社交媒体抓取 API",description:"比较专注型社媒数据 API 与基于 Actor 的网页自动化平台。"},"twitter-api-alternative":{title:"X API 价格与 Twitter API 替代方案",description:"比较公开 X 用户资料、帖子、用户时间线和搜索访问。"},"linkedin-scraper-apis":{title:"7 个最佳 LinkedIn 抓取 API:个人、公司、帖子与职位",description:"比较面向开发者的个人、公司、帖子和职位数据覆盖。"},"instagram-scraper-apis":{title:"2026 年 7 个最佳 Instagram 抓取 API",description:"比较公开资料、帖子、Reels、评论、价格与开发者体验。"},"tiktok-scraper-apis":{title:"7 个最佳 TikTok 抓取 API:视频、资料与评论",description:"比较资料、视频、评论、搜索、标签、价格与生产适配。"},"twitter-scraper-apis":{title:"2026 年 7 个最佳 Twitter/X 抓取 API",description:"比较资料、帖子、时间线、搜索、官方 X 价格与托管 API。"}};function p(e){return l[e].items.map(t=>({...t,...d[t.id]??{},topic:c[e][t.topic]??t.topic,date:"2026 年 7 月",readTime:t.readTime.replace("min read","分钟阅读")}))}let m={blog:{...l.blog,eyebrow:"社媒数据指南",title:"面向开发者的社媒数据 API 实战指南",description:"涵盖公开社交网络、广告库、电商、地图、应用商店和 SEO 的教程、API 指南与数据工作流。",searchPlaceholder:"搜索指南和教程",allPlatforms:"全部",allTopics:"全部主题",latest:"最新",alphabetical:"按名称",browseTopics:"浏览主题",featuredResources:"精选内容",emptyTitle:"没有匹配的指南",emptyDescription:"试试其他平台、主题或搜索词。",clearFilters:"清除筛选",trending:"热门",ctaTitle:"准备测试一个接口?",ctaDescription:"从统一 API 目录浏览接口、查看字段并开始请求。",ctaAction:"查看 API 目录",topics:["教程","数据抓取","API 指南","数据工作流","迁移"],items:p("blog")},alternatives:{...l.alternatives,eyebrow:"API 替代方案",title:"找到更适合的社媒数据 API",description:"探索通用抓取平台与受限官方 API 的专注型替代方案。",searchPlaceholder:"搜索 API 替代方案",allPlatforms:"全部",allTopics:"全部需求",latest:"推荐",alphabetical:"按名称",browseTopics:"按需求浏览",featuredResources:"热门替代方案",emptyTitle:"没有匹配的替代方案",emptyDescription:"试试其他平台、需求或供应商名称。",clearFilters:"清除筛选",trending:"热门",ctaTitle:"需要专注社媒数据的 API?",ctaDescription:"一个 API Key 接入所有平台,并获得统一的响应结构。",ctaAction:"探索 SocQ API",topics:["社媒数据","官方 API","自动化","价格","迁移"],items:p("alternatives")},compare:{...l.compare,eyebrow:"API 产品对比",title:"比较社媒数据 API",description:"从覆盖范围、接入方式和产品适配度出发,选择合适的社媒数据供应商。",searchPlaceholder:"搜索供应商或产品对比",allPlatforms:"全部",allTopics:"全部对比",latest:"热门",alphabetical:"按名称",browseTopics:"对比维度",featuredResources:"热门对比",emptyTitle:"没有匹配的产品对比",emptyDescription:"试试其他平台、对比维度或供应商。",clearFilters:"清除筛选",trending:"热门",ctaTitle:"比较真正重要的接口",ctaDescription:"在选择供应商前查看 SocQ 的覆盖范围和按请求定价。",ctaAction:"查看 API 覆盖",topics:["API 覆盖","价格","开发者体验","社媒数据","迁移"],items:p("compare")}},u={en:l,zh:m};var f=r(76280),h=r(91337);let x=[{id:"instagram",label:"Instagram"},{id:"tiktok",label:"TikTok"},{id:"youtube",label:"YouTube"},{id:"x",label:"X"},{id:"linkedin",label:"LinkedIn"},{id:"reddit",label:"Reddit"},{id:"facebook",label:"Facebook"}
1];function b({item:e,trendingLabel:t}){return(0,a.jsxs)(f.N_,{href:e.href,className:"group grid min-h-[82px] grid-cols-[36px_minmax(0,1fr)_auto] items-center gap-4 border-t border-border/80 px-4 py-4 transition-colors first:border-t-0 hover:bg-muted/45 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-[hsl(var(--brand-accent)/0.45)] sm:grid-cols-[40px_minmax(0,1fr)_minmax(88px,auto)_90px_88px_24px] sm:px-5 dark:hover:bg-white/[0.025]",children:[(0,a.jsx)("span",{className:"flex h-9 w-9 items-center justify-center rounded-[4px] border border-border bg-background text-muted-foreground group-hover:border-[hsl(var(--brand-accent)/0.35)]",children:e.platform?(0,a.jsx)(n.yR,{platformId:e.platform,branded:!0}):(0,a.jsx)("span",{className:"font-mono text-xs font-semibold text-[hsl(var(--brand-accent))]",children:"API"})}),(0,a.jsxs)("span",{className:"min-w-0",children:[(0,a.jsx)("span",{className:"block truncate text-[15px] font-semibold leading-5 text-foreground",children:e.title}),(0,a.jsx)("span",{className:"mt-1 block truncate text-[13px] leading-5 text-muted-foreground",children:e.description})]}),(0,a.jsx)("span",{className:"hidden text-[12px] font-medium text-muted-foreground sm:block",children:e.trending?(0,a.jsx)("span",{className:"text-[hsl(var(--brand-accent))]",children:t}):e.topic}),(0,a.jsx)("span",{className:"hidden whitespace-nowrap font-mono text-[11px] text-muted-foreground sm:block",children:e.date}),(0,a.jsx)("span",{className:"hidden whitespace-nowrap text-[12px] text-muted-foreground sm:block",children:e.readTime}),(0,a.jsx)(o.flY,{className:"h-4 w-4 text-muted-foreground transition-transform group-hover:translate-x-0.5 group-hover:text-[hsl(var(--brand-accent))] motion-reduce:transition-none"})]})}function g({kind:e,locale:t,items:r}){let l=u[t][e],[c,d]=(0,i.useState)(""),[p,m]=(0,i.useState)("all"),[v,P]=(0,i.useState)("all"),[A,y]=(0,i.useState)("latest"),w=(0,i.useMemo)(()=>{let e=c.trim().toLowerCase();return[...(r??l.items).filter(t=>{let r="all"===p||t.platform===p,a="all"===v||t.topic===v,i=`${t.title} ${t.description} ${t.topic}`.toLowerCase();return r&&a&&(!e||i.includes(e))})].sort((e,r)=>"alphabetical"===A?e.title.localeCompare(r.title,t):e.trending!==r.trending?e.trending?-1:1:e.title.localeCompare(r.title,t))},[l.items,r,t,p,c,A,v]),k=c.length>0||"all"!==p||"all"!==v;return(0,a.jsxs)("main",{className:"min-h-screen bg-background text-foreground",children:[(0,a.jsx)("nav",{"aria-label":"zh"===t?"内容中心":"Resource centers",className:"border-b border-border/80 bg-background",children:(0,a.jsx)("div",{className:"mx-auto flex h-14 max-w-7xl items-end gap-8 px-4 sm:px-6",children:s[t].map(t=>(0,a.jsx)(f.N_,{href:t.href,"aria-current":t.id===e?"page":void 0,className:(0,h.cn)("relative flex h-full items-center px-1 text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--brand-accent)/0.45)]",t.id===e?"text-foreground after:absolute after:inset-x-0 after:bottom-0 after:h-0.5 after:bg-[hsl(var(--brand-accent))]":"text-muted-foreground hover:text-foreground"),children:t.label},t.id))})}),(0,a.jsx)("section",{className:"border-b border-border/80",children:(0,a.jsxs)("div",{className:"mx-auto grid max-w-7xl gap-10 px-4 py-12 sm:px-6 lg:grid-cols-[minmax(0,0.95fr)_minmax(420px,1.05fr)] lg:items-center lg:gap-16 lg:py-14",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-mono text-xs font-semibold tracking-[0.12em] text-[hsl(var(--brand-accent))]",children:l.eyebrow}),(0,a.jsx)("h1",{className:"mt-4 max-w-[650px] text-balance text-[38px] font-bold leading-[1.05] tracking-[-0.025em] sm:text-[48px] lg:text-[58px]",children:l.title}),(0,a.jsx)("p",{className:"mt-5 max-w-[630px] text-pretty text-[15px] leading-7 text-muted-foreground sm:text-base",children:l.description})]}),(0,a.jsxs)("form",{role:"search",onSubmit:e=>e.preventDefault(),className:"group flex min-h-16 items-center gap-3 rounded-[5px] border border-border bg-card/45 px-4 transition-[border-color,box-shadow] focus-within:border-[hsl(var(--brand-accent)/0.65)] focus-within:ring-1 focus-within:ring-[hsl(var(--brand-accent)/0.18)]",children:[(0,a.jsx)(o.$p$,{className:"h-5 w-5 shrink-0 text-muted-foreground group-focus-within:text-[hsl(var(--brand-accent))]"}),(0,a.jsx)("label",{htmlFor:`${e}-search`,className:"sr-only",children:l.searchPlaceholder}),(0,a.jsx)("input",{id:`${e}-search`,type:"search",value:c,onChange:e=>d(e.target.value),placeholder:l.searchPlaceholder,className:"h-12 min-w-0 flex-1 bg-transparent text-[15px] text-foreground outline-none placeholder:text-muted-foreground"}),c?(0,a.jsx)("button",{type:"button",onClick:()=>d(""),className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-[4px] text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--brand-accent)/0.4)]","aria-label":"zh"===t?"清除搜索":"Clear search",children:(0,a.jsx)(o.MKb,{className:"h-4 w-4"})}):(0,a.jsx)("kbd",{className:"hidden rounded-[4px] border border-border px-2 py-1 font-mono text-[11px] text-muted-foreground sm:block",children:"⌘K"})]})]})}),(0,a.jsx)("section",{className:"border-b border-border/80 bg-card/25","aria-label":"zh"===t?"筛选":"Filters",children:(0,a.jsxs)("div",{className:"mx-auto flex max-w-7xl flex-col gap-3 px-4 py-3 sm:px-6 lg:flex-row lg:items-center",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 gap-2 overflow-x-auto pb-1 lg:pb-0",children:[(0,a.jsx)("button",{type:"button",onClick:()=>m("all"),"aria-pressed":"all"===p,className:(0,h.cn)("flex h-10 shrink-0 items-center rounded-[4px] border px-4 text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--brand-accent)/0.45)]","all"===p?"border-[hsl(var(--brand-accent))] text-foreground":"border-border text-muted-foreground hover:border-foreground
1/35 hover:text-foreground"),children:l.allPlatforms}),x.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>m(e.id),"aria-pressed":p===e.id,className:(0,h.cn)("group flex h-10 shrink-0 items-center gap-2 rounded-[4px] border px-3.5 text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--brand-accent)/0.45)]",p===e.id?"border-[hsl(var(--brand-accent))] text-foreground":"border-border text-muted-foreground hover:border-foreground/35 hover:text-foreground"),children:[(0,a.jsx)(n.yR,{platformId:e.id,branded:!0}),e.label]},e.id))]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)("label",{className:"relative min-w-0 flex-1 lg:w-[168px] lg:flex-none",children:[(0,a.jsx)("span",{className:"sr-only",children:l.allTopics}),(0,a.jsxs)("select",{value:v,onChange:e=>P(e.target.value),className:"h-10 w-full appearance-none rounded-[4px] border border-border bg-background pl-3 pr-9 text-sm font-medium text-foreground outline-none transition-colors hover:border-foreground
1/35 focus:border-[hsl(var(--brand-accent)/0.7)]",children:[(0,a.jsx)("option",{value:"all",children:l.allTopics}),l.topics.map(e=>(0,a.jsx)("option",{value:e,children:e},e))]}),(0,a.jsx)(o.D3D,{className:"pointer-events-none absolute right-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"})]}),(0,a.jsxs)("label",{className:"relative min-w-0 flex-1 lg:w-[150px] lg:flex-none",children:[(0,a.jsx)("span",{className:"sr-only",children:l.latest}),(0,a.jsxs)("select",{value:A,onChange:e=>y(e.target.value),className:"h-10 w-full appearance-none rounded-[4px] border border-border bg-background pl-3 pr-9 text-sm font-medium text-foreground outline-none transition-colors hover:border-foreground/35 focus:border-[hsl(var(--brand-accent)/0.7)]",children:[(0,a.jsx)("option",{value:"latest",children:l.latest}),(0,a.jsx)("option",{value:"alphabetical",children:l.alphabetical})]}),(0,a.jsx)(o.D3D,{className:"pointer-events-none absolute right-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"})]})]})]})}),(0,a.jsxs)("section",{className:"mx-auto grid max-w-7xl gap-6 px-4 py-6 sm:px-6 lg:grid-cols-[230px_minmax(0,1fr)]",children:[(0,a.jsxs)("aside",{className:"hidden overflow-hidden rounded-[5px] border border-border lg:block",children:[(0,a.jsx)("h2",{className:"border-b border-border px-5 py-4 text-sm font-semibold",children:l.browseTopics}),(0,a.jsxs)("nav",{className:"py-2","aria-label":l.browseTopics,children:[(0,a.jsx)("button",{type:"button",onClick:()=>P("all"),className:(0,h.cn)("relative flex min-h-11 w-full items-center px-5 text-left text-sm transition-colors hover:bg-muted/45","all"===v?"text-foreground before:absolute before:inset-y-0 before:left-0 before:w-0.5 before:bg-[hsl(var(--brand-accent))]":"text-muted-foreground"),children:l.allTopics}),l.topics.map(e=>(0,a.jsx)("button",{type:"button",onClick:()=>P(e),className:(0,h.cn)("relative flex min-h-11 w-full items-center px-5 text-left text-sm transition-colors hover:bg-muted/45",v===e?"text-foreground before:absolute before:inset-y-0 before:left-0 before:w-0.5 before:bg-[hsl(var(--brand-accent))]":"text-muted-foreground"),children:e},e))]})]}),(0,a.jsxs)("div",{className:"overflow-hidden rounded-[5px] border border-border",children:[(0,a.jsxs)("div",{className:"flex min-h-14 items-center justify-between border-b border-border px-4 sm:px-5",children:[(0,a.jsx)("h2",{className:"text-sm font-semibold",children:l.featuredResources}),(0,a.jsx)("span",{className:"font-mono text-[11px] text-muted-foreground",children:w.length})]}),w.length>0?w.map(e=>(0,a.jsx)(b,{item:e,trendingLabel:l.trending},e.id)):(0,a.jsxs)("div",{className:"flex min-h-[280px] flex-col items-center justify-center px-6 text-center",children:[(0,a.jsx)(o.$p$,{className:"h-6 w-6 text-muted-foreground"}),(0,a.jsx)("h3",{className:"mt-4 text-base font-semibold",children:l.emptyTitle}),(0,a.jsx)("p",{className:"mt-2 text-sm text-muted-foreground",children:l.emptyDescription}),k?(0,a.jsx)("button",{type:"button",onClick:function(){d(""),m("all"),P("all")},className:"mt-5 text-sm font-semibold text-[hsl(var(--brand-accent))] hover:text-foreground",children:l.clearFilters}):null]})]})]}),(0,a.jsx)("section",{className:"mx-auto max-w-7xl px-4 pb-20 pt-1 sm:px-6",children:(0,a.jsxs)("div",{className:"flex flex-col gap-5 rounded-[5px] border border-border px-5 py-5 sm:flex-row sm:items-center sm:justify-between sm:px-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-base font-semibold",children:l.ctaTitle}),(0,a.jsx)("p",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:l.ctaDescription})]}),(0,a.jsxs)(f.N_,{href:"/apis",className:"inline-flex h-11 shrink-0 items-center justify-center gap-2 rounded-[4px] bg-[hsl(var(--brand-accent))] px-5 text-sm font-semibold text-white transition-colors hover:bg-[hsl(var(--brand-accent)/0.9)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--brand-accent)/0.5)] focus-visible:ring-offset-2 focus-visible:ring-offset-background",children:[l.ctaAction,(0,a.jsx)(o.flY,{className:"h-4 w-4"})]})]})})]})}},76280:(e,t,r)=>{"use strict";r.d(t,{N_:()=>o,a8:()=>s,rd:()=>l});var a=r(82430);let i=(0,r(93474).A)({locales:["en","zh"],defaultLocale:"en",localePrefix:"as-needed",localeDetection:!1}),{Link:o,redirect:n,usePathname:s,useRouter:l}=(0,a.A)(i)},76558:(e,t,r)=>{"use strict";r.d(t,{default:()=>c});var a=r(98500),i=r(73321),o=r(12115),n=r(11697),s=r(9780),l=r(95155),c=(0,o.forwardRef)(function({href:e,locale:t,localeCookie:r,onClick:o,prefetch:c,...d},p){let m=(0,n.Ym)(),u=null!=t&&t!==m,f=(0,i.usePathname)();return u&&(c=!1),(0,l.jsx)(a,{ref:p,href:e,hrefLang:u?t:void 0,onClick:function(e){(0,s.A)(r,f,m,t),o&&o(e)},prefetch:c,...d})})},82430:(e,t,r)=>{"use strict";r.d(t,{A:()=>u});var a=r(73321),i=r(12115),o=r.t(i,2),n=r(11697),s=o["use".trim()],l=r(92651),c=r(76558),d=r
1(6144),p=r(95155),m=r(9780);function u(e){let{Link:t,config:r,getPathname:o,...u}=function(e,t){var r,o,n;let m={...r=t||{},localePrefix:"object"==typeof(n=r.localePrefix)?n:{mode:n||"always"},localeCookie:!!((o=r.localeCookie)??1)&&{name:"NEXT_LOCALE",sameSite:"lax",..."object"==typeof o&&o},localeDetection:r.localeDetection??!0,alternateLinks:r.alternateLinks??!0},u=m.pathnames,f=(0,i.forwardRef)(function({href:t,locale:r,...a},i){let o,n;"object"==typeof t?(o=t.pathname,n=t.params):o=t;let d=(0,l._x)(t),f=e(),x=(0,l.yL)(f)?s(f):f,b=d?h({locale:r||x,href:null==u?o:{pathname:o,params:n},forcePrefix:null!=r||void 0}):o;return(0,p.jsx)(c.default,{ref:i,href:"object"==typeof t?{...t,pathname:b}:b,locale:r,localeCookie:m.localeCookie,...a})});function h(e){let t,{forcePrefix:r,href:a,locale:i}=e;return null==u?"object"==typeof a?(t=a.pathname,a.query&&(t+=(0,d.Zn)(a.query))):t=a:t=(0,d.FP)({locale:i,...(0,d.TK)(a),pathnames:m.pathnames}),(0,d.x3)(t,i,m,r)}function x(e){return function(t,...r){return e(h(t),...r)}}return{config:m,Link:f,redirect:x(a.redirect),permanentRedirect:x(a.permanentRedirect),getPathname:h}}(n.Ym,e);return{...u,Link:t,usePathname:function(){let e,t,o=(e=(0,a.usePathname)(),t=(0,n.Ym)(),(0,i.useMemo)(()=>{if(!e)return e;let a=e,i=(0,l.XP)(t,r.localePrefix);if((0,l.wO)(i,e))a=(0,l.MY)(e,i);else if("never"!==r.localePrefix.mode&&r.localePrefix.prefixes){let r=(0,l.bL)(t);(0,l.wO)(r,e)&&(a=(0,l.MY)(e,r))}return a},[r.localePrefix,t,e])),s=(0,n.Ym)();return(0,i.useMemo)(()=>o&&r.pathnames?(0,d.aM)(s,o,r.pathnames):o,[s,o])},useRouter:function(){let e=(0,a.useRouter)(),t=(0,n.Ym)(),s=(0,a.usePathname)();return(0,i.useMemo)(()=>{function a(e){return function(a,i){let{locale:n,...l}=i||{},c=[o({href:a,locale:n||t,forcePrefix:null!=n||void 0})];Object.keys(l).length>0&&c.push(l),(0,m.A)(r.localeCookie,s,t,n),e(...c)}}return{...e,push:a(e.push),replace:a(e.replace),prefetch:a(e.prefetch)}},[t,s,e])},getPathname:o}}},92651:(e,t,r)=>{"use strict";r.d(t,{FD:()=>b,MY:()=>o,PJ:()=>n,Wl:()=>l,XP:()=>p,_x:()=>i,bL:()=>m,po:()=>c,ql:()=>d,wO:()=>s,yL:()=>g});var a=r(41463);function i(e){let t;return("object"==typeof e?null==e.host&&null==e.hostname:!/^[a-z]+:/i.test(e))&&(null==(t="object"==typeof e?e.pathname:e)||!!t.startsWith("/"))}function o(e,t){return e.replace(RegExp(`^${t}`),"")||"/"}function n(e,t){let r=e;return/^\/(\?.*)?$/.test(t)&&(t=t.slice(1)),r+=t}function s(e,t){return t===e||t.startsWith(`${e}/`)}function l(e,t,r){return"string"==typeof e?e:e[t]||r}function c(e){let t=function(){try{return"true"===a.env._next_intl_trailing_slash}catch{return!1}}(),[r,...i]=e.split("#"),o=i.join("#"),n=r;if("/"!==n){let e=n.endsWith("/");t&&!e?n+="/":!t&&e&&(n=n.slice(0,-1))}return o&&(n+="#"+o),n}function d(e,t){let r,a=c(e),i=c(t);return(r=a.replace(/\/\[\[(\.\.\.[^\]]+)\]\]/g,"(?:/(.*))?").replace(/\[\[(\.\.\.[^\]]+)\]\]/g,"(?:/(.*))?").replace(/\[(\.\.\.[^\]]+)\]/g,"(.+)").replace(/\[([^\]]+)\]/g,"([^/]+)"),RegExp(`^${r}$`)).test(i)}function p(e,t){return"never"!==t.mode&&t.prefixes?.[e]||m(e)}function m(e){return"/"+e}function u(e){return e.includes("[[...")}function f(e){return e.includes("[...")}function h(e){return e.includes("[")}function x(e,t){let r=e.split("/"),a=t.split("/"),i=Math.max(r.length,a.length);for(let e=0;e<i;e++){let t=r[e],i=a[e];if(!t&&i)return -1;if(t&&!i)return 1;if(t||i){if(!h(t)&&h(i))return -1;if(h(t)&&!h(i))return 1;if(!f(t)&&f(i))return -1;if(f(t)&&!f(i))return 1;if(!u(t)&&u(i))return -1;if(u(t)&&!u(i))return 1}}return 0}function b(e){return e.sort(x)}function g(e){return"function"==typeof e.then}},93474:(e,t,r)=>{"use strict";function a(e){return e}r.d(t,{A:()=>a})}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.