Cross-store app lookup
Resolve public Apple/Google Play listings by title or explicit IDs. Resolved complete listings use a bounded Groq multilingual identity judgment plus an independent developer string guard; a model cannot override publisher mismatch. Model confidence is uncalibrated and requires at least 0.8 to merge. Explicit match_threshold opts into deterministic title/developer matching. Missing, expired, exhausted or failed inference uses that same fallback and reports fallback_code. Title search resolution is still deterministic; supply explicit IDs for differently named localized listings. Partial source results retain known fields. A clean no-match costs 30 credits; unresolved listings or all-source failure are uncharged. Shared deadline 47 seconds; finite store and inference allowances apply.
title, google_play_id, or app_store_id; at least one is required. Explicit IDs anchor their stores directly. Without a title, the resolved anchor supplies the search title for the other store. stores is a nonempty CSV subset of google_play,app_store; IDs for excluded stores are rejected.
Each selected store returns an independent status and canonical App. Search uses a bounded ranked window (Google Play: 30 requested rows; Apple: 100). A candidate must pass the title threshold, default 0.6, and competing publishers within two native source positions and 0.05 title similarity are treated as ambiguous. Native source rank breaks more distant ties; this can exclude lower-ranked homonyms, so supply explicit IDs when identity must be authoritative. The selected candidate is then enriched with full app details. Failed enrichment preserves only the known search fields and marks that store partial.
Complete resolved cross-store listings are compared by a multilingual model judgment through Groq (openai/gpt-oss-20b), with a separate publisher string guard. Only public store IDs, titles and publisher names are sent to the model. It can recognize translated titles, but cannot override publisher mismatch. A merge requires an equivalent-title judgment with a model confidence of at least 0.8, plus the independent publisher guard. Different apps owned by the same publisher must remain separate.
match.method identifies llm_identity or title_developer_fallback. Confidence is an uncalibrated assessment, not a probability; check confidence_kind, model, title_relation, and fallback_code. Supplying match_threshold explicitly selects the deterministic title/developer guard. Missing credentials, expired trial access, exhausted allowances, rate limits, timeout, invalid output or incomplete listings also select the documented fallback. Publisher mismatch prevents the inference call entirely.
Title-search candidate selection remains deterministic. For localized names that do not share title tokens, supply both store IDs so the model compares the resolved listings. Localized publisher names that fail the independent string guard also remain separate; the model does not invent ownership evidence.
include selects a nonempty CSV subset of merged,similar,developer, default all three. Omitted blocks are not computed. merged is null unless both listings pass the match guards. Its rating gap is Google Play minus Apple; ratings are specific to each market and collection time. Apple install counts are unavailable and remain null. Similar apps and developer apps are source lists, not independently verified recommendations.
Country/language must be accepted by every selected store; defaults are US/en. The stores share a 47-second deadline. Source tasks are persisted for one hour, so retrying pending work reuses the same task. A timeout, exhausted provider allowance or source failure never turns into an empty successful result.
A fresh successful response costs 30 credits, including clean no-match and explicitly partial results. No resolved listing yields 404; a required source failure with no usable listing yields 503. Both are free, as are cache hits and idempotent replays. Use X-Max-Credits: 30 and a 60-second client timeout. Invalid include returns 400; other unsupported options return 422 before source work.
Authorizations
Headers
Optional nonnegative integer cap on the maximum request hold. A live request whose hold exceeds this cap returns 422 CREDIT_BUDGET_EXCEEDED before spending. Metered holds use the requested limit; cache hits and successful idempotent replays cost zero.
x >= 0Query Parameters
Response
Resolve public Apple/Google Play listings by title or explicit IDs. Resolved complete listings use a bounded Groq multilingual identity judgment plus an independent developer string guard; a model cannot override publisher mismatch. Model confidence is uncalibrated and requires at least 0.8 to merge. Explicit match_threshold opts into deterministic title/developer matching. Missing, expired, exhausted or failed inference uses that same fallback and reports fallback_code. Title search resolution is still deterministic; supply explicit IDs for differently named localized listings. Partial source results retain known fields. A clean no-match costs 30 credits; unresolved listings or all-source failure are uncharged. Shared deadline 47 seconds; finite store and inference allowances apply.
x >= 0The selected operation determines the resource fields in this object. Source data can omit a metric or report it as null.