1import{r as K}from"../chunks/hUONLBj8.js";import"../chunks/DsnmJJEf.js";import"../chunks/69_IOA4Y.js";import{e as y,f as X,i as r,a as f,k as Q,h as t,$ as W,r as a,t as R,g as s}from"../chunks/BHsuc0-1.js";import{s as n}from"../chunks/Dga1o0pd.js";import{e as L,i as $}from"../chunks/BovoQ_dI.js";import{h as Y}from"../chunks/aM-R_-kQ.js";import{a as c}from"../chunks/BstbdMds.js";import{s as Z}from"../chunks/Cu1Ghc_I.js";import{s as d}from"../chunks/C1UZEexi.js";function aa(){K(301,"/adlibrary-api")}const ya=Object.freeze(Object.defineProperty({__proto__:null,load:aa},Symbol.toStringTag,{value:"Module"}));var ta=y('<meta name="description" content="Programmatic access to the Facebook Ads Library. Search ads, find brand pages, and pull active ads for any brand via the Spreshapp REST API."/>'),ea=y('<div class="soft-card rounded-xl border p-5" style="border-color: var(--charcoal-08);"><div class="mb-3 flex items-center gap-2"><span class="rounded px-2 py-0.5 text-xs font-[family:var(--font-mono)] font-bold uppercase"> </span> <code class="text-xs font-[family:var(--font-mono)] truncate" style="color: var(--charcoal-70);"> </code></div> <h3 class="mb-2 text-base font-[family:var(--font-display)] font-bold tracking-tight" style="color: var(--charcoal);"> </h3> <p class="mb-4 text-sm font-[family:var(--font-mono)]" style="color: var(--charcoal-55);"> </p> <div class="border-t pt-3" style="border-color: var(--charcoal-08);"><span class="text-xs font-[family:var(--font-mono)]" style="color: var(--charcoal-70);"> </span></div></div>'),ra=y('<div class="rounded-xl border bg-white p-6" style="border-color: var(--charcoal-08); box-shadow: var(--shadow-sm);"><h3 class="mb-2 text-base font-[family:var(--font-display)] font-bold tracking-tight" style="color: var(--charcoal);"> </h3> <p class="text-sm font-[family:var(--font-mono)]" style="color: var(--charcoal-55);"> </p></div>'),oa=y(`<section class="relative overflow-hidden" style="background: var(--cream);" aria-label="Hero"><div class="container mx-auto max-w-5xl px-4 pb-16 pt-16"><div class="grid grid-cols-1 items-center gap-12 md:grid-cols-2"><div><p class="eyebrow mb-4">Solutions</p> <h1 class="mb-5 text-4xl leading-tight font-[family:var(--font-display)] font-bold tracking-tighter md:text-5xl" style="color: var(--charcoal);">Programmatic access to the world's largest ad library</h1> <p class="mb-8 text-base font-[family:var(--font-mono)]" style="color: var(--charcoal-55);">Four REST endpoints. JSON responses. 100 free credits every month. Build competitive 2 intelligence tools, agency pipelines, and AI workflows on top of real-time Facebook ad data.</p> <div class="flex flex-wrap gap-3"><a href="/login" class="btn-soft-primary inline-flex items-center gap-2 px-5 py-2.5 text-sm">Get started free</a> <a href="/docs/api" class="btn-soft-ghost inline-flex items-center gap-2 px-5 py-2.5 text-sm">Read the docs</a></div></div> <div><div class="rounded-xl border p-5" style="background: var(--charcoal); border-color: var(--charcoal); box-shadow: var(--shadow-md);"><p class="mb-3 text-xs font-[family:var(--font-mono)] uppercase tracking-widest" style="color: var(--moss);">Example request</p> <pre class="overflow-x-auto text-xs font-[family:var(--font-mono)]" style="color: rgba(242,242,242,0.85);"></pre></div></div></div></div></section> <section class="border-y" style="background: var(--moss-tint); border-color: var(--charcoal-08);"><div class="container mx-auto max-w-5xl px-4 py-5"><div class="flex flex-wrap items-center justify-between gap-4"><div class="flex flex-wrap gap-6"><div class="flex items-center gap-2"><span class="text-lg font-[family:var(--font-display)] font-bold" style="color: var(--charcoal);">100</span> <span class="text-sm font-[family:var(--font-mono)]" style="color: var(--charcoal-70);">free credits / month</span></div> <div class="flex items-center gap-2"><span class="text-lg font-[family:var(--font-display)] font-bold" style="color: var(--charcoal);">$3</span> <span class="text-sm font-[family:var(--font-mono)]" style="color: var(--charcoal-70);">per 5,000 additional credits</span></div> <div class="flex items-center gap-2"><span class="text-sm font-[family:var(--font-mono)]" style="color: var(--charcoal-70);">Credits reset monthly, included with any paid plan</span></div></div> <a href="/pricing" class="btn-soft-primary px-4 py-2 text-sm">View plans</a></div></div></section> <section class="py-16" style="background: white;"><div class="container mx-auto max-w-5xl px-4"><div class="mb-10 text-center"><p class="eyebrow mb-3">Endpoints</p> <h2 class="text-3xl font-[family:var(--font-display)] font-bold tracking-tighter" style="color: var(--charcoal);">Four endpoints, unlimited possibilities</h2></div> <div class="grid gap-6 md:grid-cols-3"></div></div></section> <section class="py-16" style="background: var(--cream);"><div class="container mx-auto max-w-5xl px-4"><div class="mb-10 text-center"><p class="eyebrow mb-3">Use cases</p> <h2 class="text-3xl font-[family:var(--font-display)] font-bold tracking-tighter" style="color: var(--charcoal);">Built for teams that move on ad intelligence</h2></div> <div class="grid gap-6 md:grid-cols-3"></div></div></section> <section class="py-16" style="background: var(--charcoal);"><div class="container mx-auto max-w-2xl px-4 text-center"><h2 class="mb-4 text-3xl font-[family:var(--font-display)] font-bold tracking-tighter" style="color: var(--cream);">Start with 100 free credits</h2> <p class="mb-8 text-sm font-[family:var(--font-mono)]" style="color: rgba(242,242,242,0.6);">Any Lite, Growth, or Agency plan includes API access. No separate sign-up required.</p> <div class="flex flex-wrap justify-center gap-3"><a href="/pricing" class="inline-flex items-center gap-2 rounded border bg-[var(--moss)] px-6 py-2.5 text-sm font-[family:var(--font-mono)] font-bold transition-colors hover:bg-[var(--moss-tint)]" style="color: var(--charcoal); border-color: var(--moss);">View pricing</a> <a href="/docs/api" class="inline-flex items-center gap-2 rounded border px-6 py-2.5 text-sm font-[family:var(--font-mono)] font-bold transition-colors hover:bg-white/10" style="color: rgba(242,242,242,0.85); border-color: rgba(242,242,242,0.2);">Read the docs</a></div></div></section>`,1);function ha(V){const q=[{method:"POST",path:"/v1/ad-search",label:"Ad search",description:"Keyword search across the full Facebook Ads Library. Filter by country, ad type, active status, and more.",credit:"1 credit per ad returned",color:"var(--sage-tint)"},{method:"GET",path:"/v1/brand/page-search",label:"Brand search",description:"Search for a brand's Facebook page by name. Returns page ID, name, category, follower count, and verification.",credit:"5 credits per call",color:"var(--moss-tint)"},{method:"GET",path:"/v1/brand/:page_id",label:"Brand active ads",description:"List all currently active ads for a brand. Filter by format, sort by run length or recency, paginate results.",credit:"1 credit per ad returned",color:"var(--moss-tint)"},{method:"GET",path:"/v1/ad-details/:ad_archive_id",label:"Ad details",description:"Get DSA transparency data for a single ad: reach, age/gender breakdown, audience, and estimated spend.",credit:"1 credit when details returned",color:"var(--moss-tint)"}],D=[{title:"Competitive intelligence tools",body:"Build ad monitoring dashboards that track competitor ad activity and surface new creative trends automatically."},{title:"Agency reporting",body:"Pull client competitor ad data into your own reporting pipelines without manual research in Meta's Ad Library."},{title:"AI creative analysis",body:"Feed ad data into your own AI pipelines to extract hooks, c
2opy patterns, and creative frameworks at scale."}];var A=oa();Y("1nwvi0j",e=>{var o=ta();Q(()=>{W.title="Public API - Spreshapp"}),f(e,o)});var h=X(A),S=t(h),P=t(S),T=t(P);c(T,e=>d?.(e));var b=r(T,2),E=t(b),H=r(t(E),2);H.textContent=`curl -X POST https://api.spreshapp.com/v1/ad-search \\ 3 -H "Authorization: Bearer <token>" \\ 4 -H "Content-Type: application/json" \\ 5 -d '{ 6 "query": "running shoes", 7 "active_status": "ACTIVE", 8 "countries": ["US"], 9 "media_type": "VIDEO" 10 }'`,a(E),a(b),c(b,e=>d?.(e)),a(P),a(S),a(h);var x=r(h,4),F=t(x),I=t(F);c(I,e=>d?.(e));var g=r(I,2);L(g,5,()=>q,$,(e,o)=>{var i=ea(),l=t(i),v=t(l),p=t(v,!0);a(v);var m=r(v,2),M=t(m,!0);a(m),a(l);var w=r(l,2),N=t(w,!0);a(w);var k=r(w,2),U=t(k,!0);a(k);var G=r(k,2),O=t(G),J=t(O,!0);a(O),a(G),a(i),R(()=>{Z(v,`background: ${s(o).color??""}; color: var(--charcoal);`),n(p,s(o).method),n(M,s(o).path),n(N,s(o).label),n(U,s(o).description),n(J,s(o).credit)}),f(e,i)}),a(g),c(g,e=>d?.(e)),a(F),a(x);var u=r(x,2),j=t(u),B=t(j);c(B,e=>d?.(e));var _=r(B,2);L(_,5,()=>D,$,(e,o)=>{var i=ra(),l=t(i),v=t(l,!0);a(l);var p=r(l,2),m=t(p,!0);a(p),a(i),R(()=>{n(v,s(o).title),n(m,s(o).body)}),f(e,i)}),a(_),c(_,e=>d?.(e)),a(j),a(u);var C=r(u,2),z=t(C);c(z,e=>d?.(e)),a(C),f(V,A)}export{ha as component,ya as universal};
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.