Indexed Products
Searches Today
Searches This Month
Rate Limit

Usage Quota

Products Indexed 0 / 50,000
API Calls Today 0

Quick Actions

0 Total Products
50,000 Plan Limit
50,000 Remaining

Indexed Products

0 products
Image Product ID Name Quality Category Price Actions
Loading products...
Filters
Loading filters…
Applied on every search. Add more filter options under Custom Fields.

Drop an image here or click to upload

Supports JPEG, PNG, WebP
Try:
Example: #ff0000 for red, #0000ff for blue
Lower = stricter matching (0-441)
Text: 30% Visual: 70%

Upload Multiple Images (up to 10)

Add image URLs to search with multiple images simultaneously

0 Total Searches
0 Saved Searches
0 Searches Today

Saved Searches

No saved searches yet

Recent Searches

0 searches
Type Query Results Time Date Actions
Loading search history...

Scan for Duplicates

Click "Scan Now" to find near-duplicate products with >95% visual similarity

Loading…

Distribution

Excellent (0) Good (0) Fair (0) Poor (0)

Lowest-quality products

0

Loading…

Recent Requests

Time Method Endpoint Status Latency IP
Loading logs...

Archived Logs

Older logs are archived to downloadable files (JSONL format). Files are kept for 3 months.

Click Refresh to check for archived logs.

API Requests Over Time

Request Breakdown

Image Searches 0
Text Searches 0
Product Indexing 0
Other 0

Top Performing

No data available

Daily Usage

Date Total Requests Image Searches Text Searches Products Indexed
Loading usage data...

Conversion Attribution

Revenue tied to search queries via /v1/search/feedback action=purchase
Total revenue
Orders
Units sold
AOV

Top queries by revenue

Query Revenue Orders Units AOV
Loading…

Filter usage

Loading…

Trending queries (24h)

Zero-result queries

Demand-signal report — queries returning no products, grouped case-insensitively. Fix via synonyms or new inventory.
Total searches
Zero-result searches
Zero-result rate
Query Times run Last seen
Loading…

Demand gaps

Popular queries whose results are frequently empty. Each row is a merchandising prompt: add synonyms, index more stock, or stock-order.
Query Searches Empty % Last seen
Loading…

Rising searches

Queries whose last-7-day rate exceeds the prior baseline. NEW = no prior activity. Useful for inventory planning and homepage features.
Query 7d Prior Trend
Loading…

Conversion by search mode

Revenue, orders, AOV and conversion rate broken out by which kind of search surfaced the result — text, image, multipart upload, NL, or the widget variants. Drives where to invest in search relevance. Powered by /v1/search/analytics/conversion-by-mode; numbers update only after merchants fire action=purchase feedback (with order_value) tied to a search_id.
Search mode Searches Orders Conv. rate Revenue AOV
Loading…

Two ways to authenticate

Your backend can authenticate to the Trooply API two different ways. Pick one — you don't need both. The two credential types live on this page but are not interchangeable: an API key cannot be used as a client secret, and a client secret cannot be used as a Bearer token.

  • Method 1 — API Key (recommended). A long-lived sk_… token you put in Authorization: Bearer headers. Simpler. Scopable. Revocable.
  • Method 2 — OAuth client_credentials. Exchange a client_id + sk_live_… secret for a short-lived JWT, then use the JWT. Use only if your SDK / framework requires it.

Not sure which to pick? Read API key or OAuth: which one do you actually need? — full comparison, decision tree, and the typo that locks people out.

Keep credentials server-side — for browser / storefront embeds use a public widget key from Widget → Public keys. Want to lock down your portal account? Turn on two-factor authentication.

Method 1 — API Keys

Long-lived sk_… tokens for direct Bearer auth. Recommended.

Name Key Prefix Scopes Created Expires Actions
Loading API keys...

Keys are shown only once at creation. Lost it? Revoke and create a new one.

Use an API key like this
curl -H "Authorization: Bearer sk_YOUR_API_KEY" \
  <BASE_URL>/v1/products/stats

Method 2 — OAuth client_credentials

Exchange these for a JWT at /oauth/token. Use only if your SDK requires OAuth 2.0.

Client ID
Base URL
Client Secret
starts with sk_live_ — stored hashed, only shown once at generate time
Use OAuth like this
curl -X POST <BASE_URL>/oauth/token \
  -d grant_type=client_credentials \
  -d client_id=YOUR_CLIENT_ID \
  -d client_secret=sk_live_YOUR_SECRET
# → { "access_token": "eyJ…", "expires_in": 3600 }
# then:
curl -H "Authorization: Bearer eyJ…" <BASE_URL>/v1/products/stats

Heads-up: the client_secret starts with sk_live_ (Method 2). An API key from Method 1 starts with just sk_ — the two are not interchangeable.

Loading webhooks...

Available Events

product.indexed product.deleted product.duplicate_detected product.updated bulk.completed

Developer Portal

Team members with the Developer group can log in to test APIs, view docs, and integrate.

Open Developer Portal →

Team Members

Active members

Name Email Role Last active Actions
Loading members…
Current Plan

Free

Active

Monthly API Usage

0 / 1,000 API calls
0 / 100 products indexed

Plan Features

Max Products
Rate Limit
Bulk Indexing
Monthly API Calls

Invoice History

Date Amount Status Invoice
No invoices yet

Cancel Subscription

Cancel at end of billing period

Your plan will downgrade to Free at the end of the current period.

Customize

Use {product_id} as placeholder

Live Preview

Embed Code

Paste before </body> on your website:


                                

Public keys

0 keys

Public keys (pk_live_…) are safe to embed in page source. They only work from an allow-listed origin, and only permit search reads — no indexing / admin. Replace the legacy data-client-secret embed with data-public-key as soon as you've created one.

Name Public key Allowed origins Rate limit Active Last used Actions
Loading…

How It Works

1. Paste Code

Add the script tag before </body>

2. Users Search

Click the button to search by image or text

3. Find Products

AI results link to your product pages

Field key Display name Type Enum values Filterable Required Actions
Loading…

Send values with your indexing call, for example {"product_id":"SKU-1","image_url":"…","metadata":{"vendor":"Samsung","season":"SS26"}}. Then filter on them via POST /v1/search/url body {"image_url":"…","filters":{"vendor":"Samsung"}}.

Type When Products Effect Active Priority Actions
Loading…

Rules fire in this order every search: Bury (drop buried SKUs) → Boost (multiply score) → Pin (force to top). Tie-break is priority ascending, then created_at descending.

Title When Position CTA Active Priority Actions
Loading…

Up to 3 banners are returned per search. Matching rule is priority ascending, then created_at descending. Scope semantics match merchandising rules; category_match fires when at least one result has metadata.category equal to the scope value.

Policy

Changes apply on the next image scored. Leave in shadow for at least a week before enforcing.

Unchecked → every scan is still logged, nothing is blocked.

Per-category thresholds

Lower values flag more images. Defaults are tuned against hand-labelled fixtures — change only after reviewing shadow-mode distributions below.

Shadow-mode summary (7 days)

Loading…

Category flag counts

Loading…

Recent events

Last 50 scans across all surfaces. would_block = true means enforce mode would have returned 403.

Loading…

Identity

How your account shows up in invoices, audit log, and team dashboards.

Security

Password, two-factor auth, and active sessions.

Change password

Min 8 characters. Changing the password signs you out of every other session.

Two-factor auth

Status Off

Active sessions

Loading…

Branding

Logo URL surfaced to the search widget chrome.

Public https URL. SVG / PNG / WebP. Squarish (≥ 64×64) renders best.

Danger zone

Export your catalog or permanently delete the account.

Export catalog

Downloads a JSON file containing your profile + every product (metadata only — vector embeddings are rebuildable from images).


Delete account

Deactivates your account and irreversibly deletes the Qdrant collection (all indexed products + their embeddings). Billing and audit logs are kept for compliance.

Account Information

Client Name -
Plan Premium
Created At -
Status Active

API Credentials

Client ID
-
API Endpoint

Plan Limits

Max Products 50,000
Rate Limit 200/min
Bulk Indexing Enabled

Referral Program

Invite others and earn extra Premium days! Both you and your referral get 7 bonus days.

0
Referrals
0
Days Earned
7
Days per Invite

Share this link. When someone signs up, you both get 7 extra Premium days.

Multilingual Settings

Enable auto-translation to automatically generate multilingual metadata when products are indexed. Search queries in any language are already supported by CLIP.

Automatically translates product name, category, etc. when indexed

White-Label Branding

Customize the search widget and portal with your brand identity (Enterprise plan).

Search Ranking Weights

Adjust how search results are ranked. Weights must total 100%. Higher weight = more influence on result ordering.

57%

How visually similar the product looks (CLIP embedding)

23%

Whether the product is the same type (shoes, bag, etc.)

5%

Boost products with more clicks and purchases

5%

Prefer products from the same category

5%

Prefer products with similar shape/proportions

5%

Prefer products with similar color palette

Total 100%

Smart Threshold

Automatically calculate the optimal similarity threshold for your product catalog.

Search A/B Testing

Compare two search weight configurations. Traffic is split 50/50 between variants.

No active experiment. Click "New Experiment" to start.

Danger Zone

Delete All Products

Remove all indexed products. This cannot be undone.