AdSwipeFile public API

A small, read-only JSON API over the AdSwipeFile ad library. No key and no sign-in. It shows what a signed-out visitor sees: per list, the newest 12 ads; per ad, its card (name, description, brand, niche, formats, image, page URL). For the full library and the ads' copy, use the MCP server with a free account.

The machine-readable description is https://adswipefile.com/openapi.json (OpenAPI 3.1; every operation has an operationId, so it imports as function-calling tools).

Endpoints

Slugs are the last part of a page URL: https://adswipefile.com/niches/beauty is the niche beauty. Find them with search.

curl -s 'https://adswipefile.com/api/v1/search?q=protein'
curl -s 'https://adswipefile.com/api/v1/ads?niche=beauty&format=ugc&limit=5'

Rate limits

60 requests a minute per IP address, over a sliding window. Every response says where you stand:

RateLimit-Policy: "public";q=60;w=60
RateLimit: "public";r=59;t=42

(RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset carry the same numbers.) Past the limit the answer is 429 with Retry-After in seconds.

Errors

Every error is application/problem+json (RFC 9457), including unknown paths under /api/:

{ "type": "https://adswipefile.com/docs/api#errors", "title": "Not found", "status": 404,
  "detail": "No niche with slug \"beuty\".", "code": "not_found",
  "resolution": "Find slugs with /api/v1/search?q=<name>, …" }

Branch on code (one of not_found, bad_request, method_not_allowed, rate_limited, not_acceptable, service_unavailable), show detail, follow resolution.

Markdown instead of JSON

Any page URL answers Accept: text/markdown with that page as markdown, at the same URL: curl -H 'Accept: text/markdown' https://adswipefile.com/niches. A client that accepts neither markdown nor HTML gets 406.