# Unif > One schema for commerce data across every channel. - [Unif — one request, every commerce data source](https://unif.dev/index.md): Unif cascades every request across its commerce data sources in cost order and stops at the first verified hit, normalized into one schema. Shops, products, creators, videos and livestreams, on every channel you sell on. - [Introduction](https://unif.dev/docs/introduction.md): What Unif is, what it returns, and when to reach for it. - [Quickstart](https://unif.dev/docs/quickstart.md): From an API key to your first enriched row. - [Authentication](https://unif.dev/docs/authentication.md): API keys, scoping, environments and key hygiene. - [The waterfall](https://unif.dev/docs/concepts/waterfall.md): How one request becomes a cascade across sources, and what it costs. - [The unified model](https://unif.dev/docs/concepts/unified-model.md): What normalization guarantees, and what it deliberately does not. - [Entities](https://unif.dev/docs/concepts/entities.md): The six objects Unif returns, field by field. - [Identifiers](https://unif.dev/docs/concepts/identifiers.md): Unif IDs, resolution, and why you should store the ID rather than the URL. - [Channels and markets](https://unif.dev/docs/concepts/channels.md): How Unif scopes a query, and what sits behind a channel. - [Periods and currency](https://unif.dev/docs/concepts/periods.md): How a window is chosen, when it gets adjusted, and how money is converted. - [Metrics reference](https://unif.dev/docs/concepts/metrics.md): Every metric, what it counts, and what it excludes. - [Coverage and freshness](https://unif.dev/docs/concepts/coverage.md): Knowing what a field is worth before you depend on it. - [Search](https://unif.dev/docs/workflows/search.md): Filters, sorting, pagination and result depth. - [Enrichment](https://unif.dev/docs/workflows/enrich.md): Turning rows you already have into rows with commerce data on them. - [Lists](https://unif.dev/docs/workflows/lists.md): Saved sets of entities you come back to. - [Trackers](https://unif.dev/docs/workflows/trackers.md): Scheduled re-checks that tell you when something actually moved. - [Jobs and exports](https://unif.dev/docs/workflows/jobs.md): Bulk work, handed off and collected later. - [Webhooks](https://unif.dev/docs/workflows/webhooks.md): Event delivery, signature verification and retries. - [Find products before they peak](https://unif.dev/docs/guides/winning-products.md): Building a product discovery query that surfaces breakouts, not bestsellers. - [Track a competitor set](https://unif.dev/docs/guides/competitor-shops.md): From a list of storefront URLs to a daily brief on what changed. - [Build a creator shortlist](https://unif.dev/docs/guides/creator-shortlist.md): Sourcing affiliates on what they sell, not on how many followers they have. - [Size and monitor a category](https://unif.dev/docs/guides/category-monitor.md): Using the category tree for market sizing and whitespace analysis. - [Sync Unif into your warehouse](https://unif.dev/docs/guides/warehouse-sync.md): A nightly pipeline that lands normalized commerce data next to your own. - [Errors](https://unif.dev/docs/platform/errors.md): The error taxonomy, and which failures are worth retrying. - [Rate limits](https://unif.dev/docs/platform/rate-limits.md): What the limits are, how to read them, and how to stay under them. - [Pagination](https://unif.dev/docs/platform/pagination.md): Cursors, page sizes and result depth. - [Idempotency](https://unif.dev/docs/platform/idempotency.md): Making retries safe on calls that cost money. - [Credits and usage](https://unif.dev/docs/platform/credits.md): What a call costs, and how to spend less. - [Sandbox](https://unif.dev/docs/platform/sandbox.md): Building and testing without spending credits. - [Versioning](https://unif.dev/docs/platform/versioning.md): What can change without warning, and what cannot. - [Changelog](https://unif.dev/changelog.md): API versions, new capabilities and breaking changes. - [API reference](https://unif.dev/api-reference/introduction.md): Base URL, conventions and the shape of every response. - [Get current workspace](https://unif.dev/api-reference/meta/get-current-workspace.md): Returns the workspace and key the request authenticated as, plus the channels the workspace is entitled to. - [List channels and markets](https://unif.dev/api-reference/meta/list-channels-and-markets.md): Lists the channels available to your workspace and the markets each one covers. Use this instead of hard-coding market lists — markets are added over time. - [Check field coverage](https://unif.dev/api-reference/meta/check-field-coverage.md): Reports which fields of an entity are populated for a given channel and market, and how fresh they are. Query this before you build a filter on a field, so you know whether it is available everywhere you plan to run. - [Search shops](https://unif.dev/api-reference/shops/search-shops.md): Returns shops ranked by the first sort key, filtered by any combination of market, category, size and momentum. Results are cursor-paginated to a depth of 1,000 rows per search. To go deeper, narrow the filters or split the search by category or period — an [export job](/docs/workflows/jobs) does th… - [Get a shop](https://unif.dev/api-reference/shops/get-a-shop.md) - [Get shop metrics over time](https://unif.dev/api-reference/shops/get-shop-metrics-over-time.md): Returns a metric series bucketed by day, week or month. - [List a shop's products](https://unif.dev/api-reference/shops/list-a-shops-products.md) - [Search products](https://unif.dev/api-reference/products/search-products.md): The primary product discovery endpoint. Combine category, price, momentum and commission filters to build a shortlist, then sort by whichever metric defines a winner for you. - [Get a product](https://unif.dev/api-reference/products/get-a-product.md) - [Get product metrics over time](https://unif.dev/api-reference/products/get-product-metrics-over-time.md) - [List creators selling a product](https://unif.dev/api-reference/products/list-creators-selling-a-product.md): Returns the creators driving attributed sales for this product, ranked by the revenue they generated. - [Search creators](https://unif.dev/api-reference/creators/search-creators.md): Find creators by the categories they actually sell in, the revenue they generate and the audience they reach. Filters describe selling behavior, not just follower counts. - [Get a creator](https://unif.dev/api-reference/creators/get-a-creator.md) - [Get creator metrics over time](https://unif.dev/api-reference/creators/get-creator-metrics-over-time.md) - [List products a creator sells](https://unif.dev/api-reference/creators/list-products-a-creator-sells.md) - [Search videos](https://unif.dev/api-reference/videos/search-videos.md): Find shoppable videos by reach, engagement and attributed revenue. - [Get a video](https://unif.dev/api-reference/videos/get-a-video.md) - [Search livestreams](https://unif.dev/api-reference/livestreams/search-livestreams.md): Find live selling sessions by revenue, audience and duration. - [Get a livestream](https://unif.dev/api-reference/livestreams/get-a-livestream.md) - [List categories](https://unif.dev/api-reference/categories/list-categories.md): Returns the normalized category tree. Category IDs are stable across channels and markets, so a filter written against `cat_beauty_personal_care` keeps working when you add a channel. - [Get a category](https://unif.dev/api-reference/categories/get-a-category.md) - [Get category metrics over time](https://unif.dev/api-reference/categories/get-category-metrics-over-time.md) - [Resolve identifiers to entities](https://unif.dev/api-reference/resolution/resolve-identifiers-to-entities.md): Turns the identifiers you already have — a storefront URL, an `@handle`, a product link, a channel-native ID — into stable Unif IDs. Resolution is the step that lets you join Unif data onto rows you already own. - [Enrich known entities](https://unif.dev/api-reference/resolution/enrich-known-entities.md): Given identifiers, returns the full normalized record for each one — resolution and retrieval in a single call. Request only the `fields` you need to spend fewer credits. - [Create a job](https://unif.dev/api-reference/jobs/create-a-job.md): Runs a search, enrichment or export asynchronously. Use a job when the work exceeds the synchronous limits: more than 100 enrichment inputs, more than 1,000 search results, or any export. - [List jobs](https://unif.dev/api-reference/jobs/list-jobs.md) - [Get a job](https://unif.dev/api-reference/jobs/get-a-job.md) - [Get job results](https://unif.dev/api-reference/jobs/get-job-results.md): Streams the results of a completed job as cursor-paginated JSON. Export jobs return a signed `download_url` on the job itself instead; this endpoint returns `409` for them. - [Cancel a job](https://unif.dev/api-reference/jobs/cancel-a-job.md): Stops a queued or running job. Credits for work already completed are not refunded. - [Create a list](https://unif.dev/api-reference/lists/create-a-list.md): A list is a durable set of entities of one type — a competitor set, a creator shortlist, a product watchlist. - [List saved lists](https://unif.dev/api-reference/lists/list-saved-lists.md) - [Get a list](https://unif.dev/api-reference/lists/get-a-list.md) - [Update a list](https://unif.dev/api-reference/lists/update-a-list.md) - [Delete a list](https://unif.dev/api-reference/lists/delete-a-list.md) - [List items in a list](https://unif.dev/api-reference/lists/list-items-in-a-list.md): Returns the full normalized record for every entity in the list, measured over the requested period. - [Add items to a list](https://unif.dev/api-reference/lists/add-items-to-a-list.md) - [Create a tracker](https://unif.dev/api-reference/trackers/create-a-tracker.md): Re-runs a saved search or re-checks a list on a schedule and emits a `tracker.triggered` webhook when a condition is met. Trackers are how you stop polling. - [List trackers](https://unif.dev/api-reference/trackers/list-trackers.md) - [Get a tracker](https://unif.dev/api-reference/trackers/get-a-tracker.md) - [Delete a tracker](https://unif.dev/api-reference/trackers/delete-a-tracker.md) - [Create a webhook endpoint](https://unif.dev/api-reference/webhooks/create-a-webhook-endpoint.md): The `secret` is returned once, at creation. Store it — you need it to verify the `Unif-Signature` header on every delivery. - [List webhook endpoints](https://unif.dev/api-reference/webhooks/list-webhook-endpoints.md) - [Get a webhook endpoint](https://unif.dev/api-reference/webhooks/get-a-webhook-endpoint.md) - [Update a webhook endpoint](https://unif.dev/api-reference/webhooks/update-a-webhook-endpoint.md) - [Delete a webhook endpoint](https://unif.dev/api-reference/webhooks/delete-a-webhook-endpoint.md) - [Get credit balance](https://unif.dev/api-reference/usage/get-credit-balance.md): Returns the current billing period, the credits included in it, and how many remain. - [List usage events](https://unif.dev/api-reference/usage/list-usage-events.md): A per-request ledger of credit consumption. Every billable call appears here with its cost and the endpoint that produced it. ## OpenAPI Specs - [openapi](/api-reference/openapi.yaml)