Every gift here, as data.

A public, read-only API over all 2,821 gifts on this site. Ask for a person and a budget, get back the same ranked shelf a visitor is shown. No key needed, no sign-up, no cost.

Try it now.

This link is a live request. Open it and read the answer.

https://giftiam.com/api/v1/gifts?for=him&age=fifties-sixties&budget=100-to-250&interests=golf&limit=5

Version 1 lives at https://giftiam.com/api/v1. Answers are JSON, may be cached for five minutes, and are readable from any origin.

Six endpoints.

  • GET /gifts is the one that matters. It takes the six parameters below and answers with a ranked, deduplicated list.
  • GET /gifts/{id} is one gift on its own, in the same shape.
  • GET /go/{id} sends a buyer to the shop. Point people here rather than at the shop, because the destination follows our merchant accounts as they arrive, so a link saved today keeps working.
  • GET /demand is the week on TikTok Shop United States: category totals, the overall top sellers, the household-brand crossovers, the movers, and the movement against the week before.
  • GET /demand/kinds lists every kind of product TikTok sold in the week it answers for, with its units and how many brand-name picks this site holds for it.
  • GET /demand/kinds/{slug} is one kind: the TikTok rows with their units beside the brand-name gifts to give instead, each with its id for /gifts/{id}.

What you can ask for.

  • for Which side of a shelf to draw from. anyone, him, her
  • age The age group. Left out, it uses thirties-forties. babies-toddlers, young-kids, tweens, teens, twenties, thirties-forties, fifties-sixties, seventy-plus
  • budget The price band. Left out, it uses 25-to-50. under-25, 25-to-50, 50-to-100, 100-to-250, over-250, only-the-best
  • interests Comma separated. A gift has to carry at least one. cooking, baking, coffee, wine, grilling, gardening, reading, music, jazz, gaming, travel, hiking, fitness, yoga, art, crafts, photography, tech, cars, fishing, golf, pets, fashion, skincare, home-decor, plants, puzzles, history, science, sports-fan, building, outdoor-play, pretend-play, stem, sensory-play, board-games, birdwatching, self-care, watches, bar, tools, cycling, running, fragrance
  • exclude Comma separated gift ids they already have. Each one also removes other listings of the same product. any gift id
  • limit How many gifts to return. 1 to 24, 10 by default

A value we do not know comes back as a 400 carrying the whole list of values that parameter takes, so a wrong guess tells you the right ones.

About the prices.

Some shops do not allow us to publish a figure. For those gifts price is null and priceLabel carries the price band instead, for example "$50 to $100". Both fields are always there, and the band is always accurate.

The checked date on every gift is the day we last read its price and its link. The shop has today's.

How the order is decided.

The engine ranks the whole catalogue: a reviewed lead order for each age and budget, then a deterministic score, then a pass that stops the same product being offered twice. Commission plays no part in it. You get the order a person browsing this site gets.

Links to stores may earn us a commission. It never changes what is shown.

Keys.

Keys are optional; ask for one for a higher rate limit. Send it as an X-Api-Key header and the answer will say keyed: true so you know it arrived.

The full description is openapi.json, the short one is llms.txt, and how we choose explains the ranking in words.