# Spyglass > Query Spyglass ad intelligence over HTTP. ## Docs - [Get a brand's ad creatives](https://docs.spyglass.so/api-reference/get-a-brands-ad-creatives.md): Return creatives for a brand. `mode: "structured"` derives filters from `userRequest`; `mode: "smart"` also runs a semantic search. - [Get a brand's creative insights](https://docs.spyglass.so/api-reference/get-a-brands-creative-insights.md): Return clustered creative themes for a brand. `MEDIA_MIX` returns a breakdown by media type; the other types return weekly buckets plus ranked totals, highest first. - [Get a brand's landing pages](https://docs.spyglass.so/api-reference/get-a-brands-landing-pages.md): Return the landing-page URLs a brand sends ad traffic to, ranked by how often they appear across its ads. - [Search brands and creators](https://docs.spyglass.so/api-reference/search-brands-and-creators.md): Resolve brands by id, by name, or by a natural-language query. Exactly one shape is valid per mode, and these rules are enforced by the API but cannot be expressed in JSON Schema, so a generated client will not catch them for you: - `mode: "ids"` requires `brandIds`. - `mode: "brand_name"` requires… - [Authentication](https://docs.spyglass.so/authentication.md): Bearer keys, what they're scoped to, and how to rotate them. - [Billing](https://docs.spyglass.so/billing.md): What each call costs, and how to keep a call from costing more than you meant. - [Conventions](https://docs.spyglass.so/conventions.md): Ids, ordering, pagination, rate limits, and the things that surprise people. - [Errors](https://docs.spyglass.so/errors.md): One error shape, ten codes, and which ones are worth retrying. - [Spyglass API](https://docs.spyglass.so/index.md): Query Spyglass ad intelligence from your own code over HTTP. ## OpenAPI Specs - [openapi](https://app.spyglass.so/api/v1/openapi.json)