Structured, creator-attributed beauty product data — indexed from hundreds of YouTube Shorts.
/api/v1/recommendationsProduct recommendations ranked by endorsement strength. Returns creator quotes, signal counts, consensus summaries, caveats, price, and retailers. The primary discovery endpoint.
q, subcategory, ingredient, concern, endorsed_only, max_price_usd, creator_type, price_tier, skin_type, skin_tone, verified, origin, look, attribute, routine_context, preference, value, creator, limitcurl "https://grailpeople.com/api/v1/recommendations?subcategory=spf&endorsed_only=true&max_price_usd=40"
/api/v1/products/[slug]Full creator evidence dossier for one product. All creator quotes with timestamps, sponsorship disclosure, signal counts, tags, endorsement strengths, caveats, and retailers. Merges shade variants.
slugcurl "https://grailpeople.com/api/v1/products/aestura-atobarrier365-cream"
/api/v1/brands/[slug]Full brand detail: AI-generated verdict, signature products, creator list, and all brand products with endorsement signals.
slugcurl "https://grailpeople.com/api/v1/brands/aestura"
/api/v1/creators/[handle]One creator's full product history with quality-gated mentions, quotes, endorsement strengths, specialty, and years active.
handle, endorsed_only, subcategorycurl "https://grailpeople.com/api/v1/creators/drdrayzday?endorsed_only=true"
/api/v1/productsAll enriched canonical products with quality-gated creator mentions. Useful for bulk data access. For recommendation use cases, prefer /api/v1/recommendations.
q, brand, category, subcategory, price_tier, retailer, limitcurl "https://grailpeople.com/api/v1/products?q=blush&category=FACE&price_tier=drugstore&limit=5"
/api/v1/brandsAll indexed brands with public products, retailer lists, top subcategories, and AI-generated summary fields when available.
curl "https://grailpeople.com/api/v1/brands"
/api/v1/creatorsAll indexed creators with subscriber counts and product totals.
platform, min_productscurl "https://grailpeople.com/api/v1/creators"
Each creator and product has an HTML page with structured JSON-LD for AI indexing.
Product history, creator quotes, and source videos — grouped by category and subcategory.
https://grailpeople.com/creators/[handle]Canonical product data with creator evidence, quotes, endorsement signals, and retailer info.
https://grailpeople.com/products/[slug]Product slugs are returned in API responses as product_slug.
FACELIPEYESSKINCAREBATH_BODYHAIRTOOLSOTHERGrailPeople ships a remote Streamable HTTP MCP server so AI assistants like Claude can query the API directly. Five tools are available. Full MCP docs →
search_beauty_productsFind creator-backed recommendations by concern, ingredient, budget, or skin type.get_product_reviewsFull creator evidence dossier for one product — quotes, timestamps, caveats.get_brand_reviewsAI-generated brand verdict, signature products, and creator-backed trust signals.get_creator_recommendationsAll products a specific creator endorses, with their exact words and video timestamps.find_brand_or_creatorConvert a brand or creator name to the slug or handle needed by other tools.https://grailpeople.com/api/mcp
verified=, origin=, skin_tone=; full clustered tags on the product, creator, and brand detail endpoints.grailpeople_rating (1–5) and rating_count on products, brands, and search results — see belowGrailPeople-derived, not creator-issued. Creators do not rate products for GrailPeople and do not see or approve these numbers. Each rating is generated by a language model reading that creator's own on-camera quotes about that product and scoring the strength of their enthusiasm against a published rubric. It measures how positively someone spoke, not product quality, and not the creator's endorsement of GrailPeople.
If you surface a rating, attribute it to GrailPeople — "GrailPeople scores this 4.7" — never to a creator, and never render the number beside a creator's handle or channel link in a way that reads as their score. That is why the field is called grailpeople_rating and not rating.
rating_countis the number of distinct creators with a scored verdict, so it is normally lower than the mention count — many mentions carry no verdict. A count of 1 is one person's read, not a consensus. A null rating means nobody has a scored verdict on that product, not that it scored badly. Full terms are on the disclosure page.