A

Syntalic — Pricing Intelligence API — MPP Grade A

Preview responses and set spending limits for this service through use.mpp.land Free budget controls, response samples, and reliability routing.

On-chain Activity

507 Total txs
0 7d txs
$0.00 7d volume
$6.39 Total volume
4 Unique payers
0 Unique clients
7-day activity ▁▁▁▁▁▁▁

Compliance Checks

All paid ops declare 402 response MUST 10pt
All x-payment-info valid MUST 10pt
Challenge has Cache-Control: no-store MUST 5pt
- Challenge digest on POST SHOULD 3pt
Challenge has expires SHOULD 3pt
Challenge has Problem Details SHOULD 2pt
Challenge has required params MUST 5pt
Challenge has WWW-Authenticate MUST 5pt
Challenge returns 402 MUST 10pt
Correct Content-Type MUST 5pt
Has Cache-Control on discovery SHOULD 5pt
Has input schemas SHOULD 5pt
Has llms.txt SHOULD 5pt
Has /openapi.json at root MUST 10pt
Has required top-level fields MUST 10pt
Served over HTTPS MUST 10pt
Uses standard categories SHOULD 2pt
1 issue
  • OpenAPI doc exceeds 64KB limit (79542 bytes)

Paid Operations (13)

GET /v1/shopper/best-price 0.01 USDC.e
Find the best price for a product across retailers

Find the lowest current price for a product across Amazon, Walmart, Costco, Home Depot, Nordstrom, and IKEA in US and Canada. Returns the cheapest option plus other retailer prices for comparison.

Amount
0.01 (raw 10000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: methods: [map[amount:10000 currency:0x20c000000000000000000000b9537d11c60e8b50 decimals:6 intent:charge method:tempo role:primary settlement:Tempo Allegro USDC.e]] price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[amount:10000 currency:USDC intent:charge method:tempo recipient:0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe]]]

Parameters

NameInTypeRequiredDescription
q query string Yes Search query (product name, keyword, or category term)
country query string No Country (us or ca)
retailer query string No Filter to a specific retailer
limit query integer No Max results to return (default 10, max 50)

Input Schema

FieldTypeRequiredDescription
country string No Country (us or ca)
enum: us, ca
default: us
limit integer No Max results to return (default 10, max 50)
default: 10
q string Yes Search query (product name, keyword, or category term)
retailer string No Filter to a specific retailer
enum: amazon, walmart, costco, homedepot, nordstrom, ikea

Response Schema (200)

FieldTypeDescription
best_price object -
country string -
currency string -
other_prices array[object] -
query string -
GET /v1/shopper/price-history 0.01 USDC.e
Get price history for a product over time

Get historical price observations for a product within a date range. Returns current price, period low/high/avg, trend (rising/falling/stable), good-deal flag, and an observation time-series for charting.

Amount
0.01 (raw 10000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: methods: [map[amount:10000 currency:0x20c000000000000000000000b9537d11c60e8b50 decimals:6 intent:charge method:tempo role:primary settlement:Tempo Allegro USDC.e]] price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[amount:10000 currency:USDC intent:charge method:tempo recipient:0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe]]]

Parameters

NameInTypeRequiredDescription
q query string Yes Search query (product name, keyword, or category term)
country query string No Country (us or ca)
retailer query string No Filter to a specific retailer
from query string No Start date (ISO 8601, defaults to 30 days ago)
to query string No End date (ISO 8601, defaults to now)

Input Schema

FieldTypeRequiredDescription
country string No Country (us or ca)
enum: us, ca
default: us
from string (date) No Start date (ISO 8601, defaults to 30 days ago)
q string Yes Search query (product name, keyword, or category term)
retailer string No Filter to a specific retailer
enum: amazon, walmart, costco, homedepot, nordstrom, ikea
to string (date) No End date (ISO 8601, defaults to now)

Response Schema (200)

FieldTypeDescription
history array[object] -
query string -
GET /v1/shopper/deal-finder 0.01 USDC.e
Find discounted products in a category

Discover actively-promoted discounted products in a category above a minimum discount threshold. Returns deals ranked by discount depth with price, list price, and retailer.

Amount
0.01 (raw 10000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: methods: [map[amount:10000 currency:0x20c000000000000000000000b9537d11c60e8b50 decimals:6 intent:charge method:tempo role:primary settlement:Tempo Allegro USDC.e]] price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[amount:10000 currency:USDC intent:charge method:tempo recipient:0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe]]]

Parameters

NameInTypeRequiredDescription
category query string Yes Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
country query string No Country (us or ca)
retailer query string No Filter to a specific retailer
min_discount_pct query integer No Minimum discount percentage (default 10)
limit query integer No Max results to return (default 20, max 50)

Input Schema

FieldTypeRequiredDescription
category string Yes Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
country string No Country (us or ca)
enum: us, ca
default: us
limit integer No Max results to return (default 20, max 50)
default: 20
min_discount_pct integer No Minimum discount percentage (default 10)
default: 10
retailer string No Filter to a specific retailer
enum: amazon, walmart, costco, homedepot, nordstrom, ikea

Response Schema (200)

FieldTypeDescription
category string -
deals array[object] -
GET /v1/shopper/price-drop-alert 0.01 USDC.e
Check for recent price drops on a product

Check whether a product's current price is below its rolling average within a configurable lookback window. Returns current price vs. the average across the window plus the lowest-seen price and date. Response field `avg_price_last_30d` is a fixed name for backwards compatibility; the value is always computed across the configured `lookback_days` window.

Amount
0.01 (raw 10000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: methods: [map[amount:10000 currency:0x20c000000000000000000000b9537d11c60e8b50 decimals:6 intent:charge method:tempo role:primary settlement:Tempo Allegro USDC.e]] price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[amount:10000 currency:USDC intent:charge method:tempo recipient:0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe]]]

Parameters

NameInTypeRequiredDescription
q query string Yes Search query (product name, keyword, or category term)
country query string No Country (us or ca)
retailer query string No Filter to a specific retailer
lookback_days query integer No Days to look back for price drops (default 30)

Input Schema

FieldTypeRequiredDescription
country string No Country (us or ca)
enum: us, ca
default: us
lookback_days integer No Days to look back for price drops (default 30)
default: 30
q string Yes Search query (product name, keyword, or category term)
retailer string No Filter to a specific retailer
enum: amazon, walmart, costco, homedepot, nordstrom, ikea

Response Schema (200)

FieldTypeDescription
drops array[object] -
query string -
GET /v1/marketing/competitive-landscape 0.01 USDC.e
View all products and pricing in a category

View every product and its current pricing within a category across retailers. Sortable by price, rating, or review count for competitive benchmarking. Cursor-paginated.

Amount
0.01 (raw 10000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: methods: [map[amount:10000 currency:0x20c000000000000000000000b9537d11c60e8b50 decimals:6 intent:charge method:tempo role:primary settlement:Tempo Allegro USDC.e]] price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[amount:10000 currency:USDC intent:charge method:tempo recipient:0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe]]]

Parameters

NameInTypeRequiredDescription
category query string Yes Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
country query string No Country (us or ca)
retailer query string No Filter to a specific retailer
sort_by query string No Sort order
limit query integer No Max results to return (default 20, max 50)

Input Schema

FieldTypeRequiredDescription
category string Yes Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
country string No Country (us or ca)
enum: us, ca
default: us
limit integer No Max results to return (default 20, max 50)
default: 20
retailer string No Filter to a specific retailer
enum: amazon, walmart, costco, homedepot, nordstrom, ikea
sort_by string No Sort order
enum: price_asc, price_desc, rating, reviews
default: price_asc

Response Schema (200)

{
  "type": "object"
}
GET /v1/marketing/brand-tracker 0.01 USDC.e
Track a brand's pricing and presence over time

Track a brand's average/min/max price, product count, in-stock count, and promo count day-by-day across a date range.

Amount
0.01 (raw 10000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: methods: [map[amount:10000 currency:0x20c000000000000000000000b9537d11c60e8b50 decimals:6 intent:charge method:tempo role:primary settlement:Tempo Allegro USDC.e]] price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[amount:10000 currency:USDC intent:charge method:tempo recipient:0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe]]]

Parameters

NameInTypeRequiredDescription
brand query string Yes Brand name (e.g., Sony, Samsung, Nike)
country query string No Country (us or ca)
from query string No Start date (ISO 8601, defaults to 30 days ago)
to query string No End date (ISO 8601, defaults to now)

Input Schema

FieldTypeRequiredDescription
brand string Yes Brand name (e.g., Sony, Samsung, Nike)
country string No Country (us or ca)
enum: us, ca
default: us
from string (date) No Start date (ISO 8601, defaults to 30 days ago)
to string (date) No End date (ISO 8601, defaults to now)

Response Schema (200)

{
  "type": "object"
}
GET /v1/marketing/promo-intelligence 0.01 USDC.e
Analyze promotional activity in a category

Analyze promotional activity within a category - promo frequency, average and max discount depth - over a date range. Pivot the breakdown with `aggregate_by`: default `brand` ranks brands within the category; `retailer` ranks retailers (use together with `brand=<name>` to answer 'which retailers run the deepest promos on Brand X in Category Y'). The response key mirrors the dimension: `brands: [...]` or `retailers: [...]`.

Amount
0.01 (raw 10000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: methods: [map[amount:10000 currency:0x20c000000000000000000000b9537d11c60e8b50 decimals:6 intent:charge method:tempo role:primary settlement:Tempo Allegro USDC.e]] price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[amount:10000 currency:USDC intent:charge method:tempo recipient:0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe]]]

Parameters

NameInTypeRequiredDescription
category query string Yes Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
country query string No Country (us or ca)
brand query string No Optional brand filter — limit aggregation to products of this brand (case-insensitive)
aggregate_by query string No Group-by dimension. `brand` (default) ranks brands within the category. `retailer` ranks retailers — pair with `brand` to answer 'which retailers run the deepest promos on Brand X'.
from query string No Start date (ISO 8601, defaults to 30 days ago)
to query string No End date (ISO 8601, defaults to now)

Input Schema

FieldTypeRequiredDescription
aggregate_by string No Group-by dimension. `brand` (default) ranks brands within the category. `retailer` ranks retailers — pair with `brand` to answer 'which retailers run the deepest promos on Brand X'.
enum: brand, retailer
default: brand
brand string No Optional brand filter — limit aggregation to products of this brand (case-insensitive)
category string Yes Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
country string No Country (us or ca)
enum: us, ca
default: us
from string (date) No Start date (ISO 8601, defaults to 30 days ago)
to string (date) No End date (ISO 8601, defaults to now)

Response Schema (200)

{
  "type": "object"
}
GET /v1/marketing/share-of-shelf 0.01 USDC.e
See brand market share within a category

Measure each brand's market share within a category by product count. Shows digital shelf dominance.

Amount
0.01 (raw 10000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: methods: [map[amount:10000 currency:0x20c000000000000000000000b9537d11c60e8b50 decimals:6 intent:charge method:tempo role:primary settlement:Tempo Allegro USDC.e]] price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[amount:10000 currency:USDC intent:charge method:tempo recipient:0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe]]]

Parameters

NameInTypeRequiredDescription
category query string Yes Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
category_id query integer No Deterministic category id. When set, bypasses the fuzzy resolver cascade and uses tier 1 (id lookup) directly. Agents that learned a canonical id from a prior call's `resolved.category_id` should pin it here for round-trip stability.
country query string No Country (us or ca)

Input Schema

FieldTypeRequiredDescription
category string Yes Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
category_id integer No Deterministic category id. When set, bypasses the fuzzy resolver cascade and uses tier 1 (id lookup) directly. Agents that learned a canonical id from a prior call's `resolved.category_id` should pin it here for round-trip stability.
country string No Country (us or ca)
enum: us, ca
default: us

Response Schema (200)

{
  "type": "object"
}
GET /v1/marketing/price-positioning 0.01 USDC.e
Analyze a brand's price positioning vs competitors

Compare a brand's average price to the category average/median and classify positioning as premium, mid-range, or value.

Amount
0.01 (raw 10000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: methods: [map[amount:10000 currency:0x20c000000000000000000000b9537d11c60e8b50 decimals:6 intent:charge method:tempo role:primary settlement:Tempo Allegro USDC.e]] price: map[amount:0.010000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[amount:10000 currency:USDC intent:charge method:tempo recipient:0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe]]]

Parameters

NameInTypeRequiredDescription
brand query string Yes Brand name (e.g., Sony, Samsung, Nike)
country query string No Country (us or ca)
category query string No Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.

Input Schema

FieldTypeRequiredDescription
brand string Yes Brand name (e.g., Sony, Samsung, Nike)
category string No Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
country string No Country (us or ca)
enum: us, ca
default: us

Response Schema (200)

{
  "type": "object"
}
GET /v1/analyst/inflation 0.02 USDC.e
Track price inflation trends in a category or department

Track category-level price inflation with configurable daily, weekly, or monthly granularity. Returns period-over-period change and overall change.

Amount
0.02 (raw 20000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: methods: [map[amount:20000 currency:0x20c000000000000000000000b9537d11c60e8b50 decimals:6 intent:charge method:tempo role:primary settlement:Tempo Allegro USDC.e]] price: map[amount:0.020000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[amount:20000 currency:USDC intent:charge method:tempo recipient:0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe]]]

Parameters

NameInTypeRequiredDescription
category query string No Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
category_id query integer No Deterministic category id. When set, bypasses the fuzzy resolver cascade and uses tier 1 (id lookup) directly. Agents that learned a canonical id from a prior call's `resolved.category_id` should pin it here for round-trip stability.
department query string No Coarse depth-1 BrowseNodes department label (e.g., 'Electronics', 'Grocery', 'Toys & Games'). Exact-match, case-sensitive Title Case. Optional alongside `category`; either parameter alone or both together are accepted. Use this for stable cross-agent queries where the leaf-level category is too noisy.
country query string No Country (us or ca)
from query string No Start date (ISO 8601, defaults to 30 days ago)
to query string No End date (ISO 8601, defaults to now)
granularity query string No Time granularity for the series

Input Schema

FieldTypeRequiredDescription
category string No Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
category_id integer No Deterministic category id. When set, bypasses the fuzzy resolver cascade and uses tier 1 (id lookup) directly. Agents that learned a canonical id from a prior call's `resolved.category_id` should pin it here for round-trip stability.
country string No Country (us or ca)
enum: us, ca
default: us
department string No Coarse depth-1 BrowseNodes department label (e.g., 'Electronics', 'Grocery', 'Toys & Games'). Exact-match, case-sensitive Title Case. Optional alongside `category`; either parameter alone or both together are accepted. Use this for stable cross-agent queries where the leaf-level category is too noisy.
from string (date) No Start date (ISO 8601, defaults to 30 days ago)
granularity string No Time granularity for the series
enum: daily, weekly, monthly
default: weekly
to string (date) No End date (ISO 8601, defaults to now)

Response Schema (200)

{
  "type": "object"
}
GET /v1/analyst/price-dispersion 0.02 USDC.e
Analyze price spread across retailers for a category or department

Analyze price spread within a category - mean, stddev, coefficient of variation, and percentiles (p10..p90) with IQR outlier exclusion.

Amount
0.02 (raw 20000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: methods: [map[amount:20000 currency:0x20c000000000000000000000b9537d11c60e8b50 decimals:6 intent:charge method:tempo role:primary settlement:Tempo Allegro USDC.e]] price: map[amount:0.020000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[amount:20000 currency:USDC intent:charge method:tempo recipient:0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe]]]

Parameters

NameInTypeRequiredDescription
category query string No Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
category_id query integer No Deterministic category id. When set, bypasses the fuzzy resolver cascade and uses tier 1 (id lookup) directly. Agents that learned a canonical id from a prior call's `resolved.category_id` should pin it here for round-trip stability.
department query string No Coarse depth-1 BrowseNodes department label (e.g., 'Electronics', 'Grocery', 'Toys & Games'). Exact-match, case-sensitive Title Case. Optional alongside `category`; either parameter alone or both together are accepted. Use this for stable cross-agent queries where the leaf-level category is too noisy.
country query string No Country (us or ca)

Input Schema

FieldTypeRequiredDescription
category string No Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
category_id integer No Deterministic category id. When set, bypasses the fuzzy resolver cascade and uses tier 1 (id lookup) directly. Agents that learned a canonical id from a prior call's `resolved.category_id` should pin it here for round-trip stability.
country string No Country (us or ca)
enum: us, ca
default: us
department string No Coarse depth-1 BrowseNodes department label (e.g., 'Electronics', 'Grocery', 'Toys & Games'). Exact-match, case-sensitive Title Case. Optional alongside `category`; either parameter alone or both together are accepted. Use this for stable cross-agent queries where the leaf-level category is too noisy.

Response Schema (200)

{
  "type": "object"
}
GET /v1/analyst/retailer-index 0.02 USDC.e
Price index for a specific retailer over time

Compute a normalized price index (retailer avg / category avg) for a specific retailer day-by-day versus its category baseline.

Amount
0.02 (raw 20000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: methods: [map[amount:20000 currency:0x20c000000000000000000000b9537d11c60e8b50 decimals:6 intent:charge method:tempo role:primary settlement:Tempo Allegro USDC.e]] price: map[amount:0.020000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[amount:20000 currency:USDC intent:charge method:tempo recipient:0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe]]]

Parameters

NameInTypeRequiredDescription
retailer query string Yes Retailer name (e.g., amazon, walmart)
country query string No Country (us or ca)
category query string No Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
category_id query integer No Deterministic category id. When set, bypasses the fuzzy resolver cascade and uses tier 1 (id lookup) directly. Agents that learned a canonical id from a prior call's `resolved.category_id` should pin it here for round-trip stability.
department query string No Coarse depth-1 BrowseNodes department label (e.g., 'Electronics', 'Grocery', 'Toys & Games'). Exact-match, case-sensitive Title Case. Optional alongside `category`; either parameter alone or both together are accepted. Use this for stable cross-agent queries where the leaf-level category is too noisy.
from query string No Start date (ISO 8601, defaults to 30 days ago)
to query string No End date (ISO 8601, defaults to now)

Input Schema

FieldTypeRequiredDescription
category string No Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
category_id integer No Deterministic category id. When set, bypasses the fuzzy resolver cascade and uses tier 1 (id lookup) directly. Agents that learned a canonical id from a prior call's `resolved.category_id` should pin it here for round-trip stability.
country string No Country (us or ca)
enum: us, ca
default: us
department string No Coarse depth-1 BrowseNodes department label (e.g., 'Electronics', 'Grocery', 'Toys & Games'). Exact-match, case-sensitive Title Case. Optional alongside `category`; either parameter alone or both together are accepted. Use this for stable cross-agent queries where the leaf-level category is too noisy.
from string (date) No Start date (ISO 8601, defaults to 30 days ago)
retailer string Yes Retailer name (e.g., amazon, walmart)
to string (date) No End date (ISO 8601, defaults to now)

Response Schema (200)

{
  "type": "object"
}
GET /v1/analyst/category-summary 0.02 USDC.e
High-level summary statistics for a category or department

High-level category statistics - product/brand/retailer counts, pricing (avg/min/max/median), avg rating, promo rate, in-stock rate, and top brands.

Amount
0.02 (raw 20000)
Currency
USDC.e
Method
tempo
Intent
charge
402 Declared
Yes
Non-standard x-payment-info fields: methods: [map[amount:20000 currency:0x20c000000000000000000000b9537d11c60e8b50 decimals:6 intent:charge method:tempo role:primary settlement:Tempo Allegro USDC.e]] price: map[amount:0.020000 currency:USD mode:fixed] protocols: [map[x402:map[]] map[mpp:map[amount:20000 currency:USDC intent:charge method:tempo recipient:0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe]]]

Parameters

NameInTypeRequiredDescription
category query string No Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
category_id query integer No Deterministic category id. When set, bypasses the fuzzy resolver cascade and uses tier 1 (id lookup) directly. Agents that learned a canonical id from a prior call's `resolved.category_id` should pin it here for round-trip stability.
department query string No Coarse depth-1 BrowseNodes department label (e.g., 'Electronics', 'Grocery', 'Toys & Games'). Exact-match, case-sensitive Title Case. Optional alongside `category`; either parameter alone or both together are accepted. Use this for stable cross-agent queries where the leaf-level category is too noisy.
country query string No Country (us or ca)

Input Schema

FieldTypeRequiredDescription
category string No Product category (e.g., electronics, grocery, beauty). Fuzzy human-readable input — the resolver maps it through tier 1-4 (id → exact name → trigram → embedding kNN) to a canonical category_id. Pair with `category_id` if you have a deterministic id from a prior call.
category_id integer No Deterministic category id. When set, bypasses the fuzzy resolver cascade and uses tier 1 (id lookup) directly. Agents that learned a canonical id from a prior call's `resolved.category_id` should pin it here for round-trip stability.
country string No Country (us or ca)
enum: us, ca
default: us
department string No Coarse depth-1 BrowseNodes department label (e.g., 'Electronics', 'Grocery', 'Toys & Games'). Exact-match, case-sensitive Title Case. Optional alongside `category`; either parameter alone or both together are accepted. Use this for stable cross-agent queries where the leaf-level category is too noisy.

Response Schema (200)

{
  "type": "object"
}

Payment Methods

Methods
tempo
Intents
charge
Currencies (discovery)
USDC.e
Currency (challenge)
USDC.e on Tempo Mainnet Presto (Tempo Mainnet Presto)
Multiple Challenges
No

Recipients

  • 0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe
Per-endpoint breakdown
GET /v1/marketing/brand-tracker
0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe
GET /v1/marketing/competitive-landscape
0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe
GET /v1/shopper/best-price
0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe
GET /v1/shopper/deal-finder
0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe
GET /v1/shopper/price-drop-alert
0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe
GET /v1/shopper/price-history
0xe2e662cF219025AFC0C9Bf850b6a2B0a0b5517fe

Security

TLS Version
TLSv1.3
Challenge ID Unique
Yes
Challenge ID Length
43
Digest Binding
-

Uptime

Discovery
Reachable (203ms)
Challenge
Reachable (667ms)
Last Checked

Schema Completeness

Paid Operations
13
With Input Schema
13
With Description
13

Documentation

Homepage
-
API Reference
-
llms.txt
-

Discovery

OpenAPI URL
https://api.crushrewards.dev/openapi.json
OpenAPI Version
3.1.0
Service Version
1.0.0
Document Size
79542 bytes
Document Hash
18e4418cebd9c5d72c0ae79f4b1d229ccc016177319a2fdf3684bd1b2915f326

Version History (51 snapshots)

Grade: F (13%) → A (93%)
Grade: A (93%) → F (13%)
  • document hash changed (no semantic differences detected)
  • document hash changed (no semantic differences detected)
  • document hash changed (no semantic differences detected)
  • document hash changed (no semantic differences detected)
Grade: B (88%) → A (93%)
  • document hash changed (no semantic differences detected)
  • document hash changed (no semantic differences detected)
  • document hash changed (no semantic differences detected)
  • price changed on GET /v1/analyst/category-summary: None → 20000
  • payment method changed on GET /v1/analyst/category-summary: None → tempo
  • price changed on GET /v1/analyst/inflation: None → 20000
  • payment method changed on GET /v1/analyst/inflation: None → tempo
  • price changed on GET /v1/analyst/price-dispersion: None → 20000
  • payment method changed on GET /v1/analyst/price-dispersion: None → tempo
  • price changed on GET /v1/analyst/retailer-index: None → 20000
  • payment method changed on GET /v1/analyst/retailer-index: None → tempo
  • price changed on GET /v1/marketing/brand-tracker: None → 10000
  • payment method changed on GET /v1/marketing/brand-tracker: None → tempo
  • price changed on GET /v1/marketing/competitive-landscape: None → 10000
  • payment method changed on GET /v1/marketing/competitive-landscape: None → tempo
  • price changed on GET /v1/marketing/price-positioning: None → 10000
  • payment method changed on GET /v1/marketing/price-positioning: None → tempo
  • price changed on GET /v1/marketing/promo-intelligence: None → 10000
  • payment method changed on GET /v1/marketing/promo-intelligence: None → tempo
  • price changed on GET /v1/marketing/share-of-shelf: None → 10000
  • payment method changed on GET /v1/marketing/share-of-shelf: None → tempo
  • price changed on GET /v1/shopper/best-price: None → 10000
  • payment method changed on GET /v1/shopper/best-price: None → tempo
  • price changed on GET /v1/shopper/deal-finder: None → 10000
  • payment method changed on GET /v1/shopper/deal-finder: None → tempo
  • price changed on GET /v1/shopper/price-drop-alert: None → 10000
  • payment method changed on GET /v1/shopper/price-drop-alert: None → tempo
  • price changed on GET /v1/shopper/price-history: None → 10000
  • payment method changed on GET /v1/shopper/price-history: None → tempo
Grade: C (66%) → B (88%)
  • document hash changed (no semantic differences detected)
  • document hash changed (no semantic differences detected)
  • document hash changed (no semantic differences detected)
  • document hash changed (no semantic differences detected)
  • price changed on GET /v1/analyst/category-summary: 20000 → None
  • payment method changed on GET /v1/analyst/category-summary: tempo → None
  • price changed on GET /v1/analyst/inflation: 20000 → None
  • payment method changed on GET /v1/analyst/inflation: tempo → None
  • price changed on GET /v1/analyst/price-dispersion: 20000 → None
  • payment method changed on GET /v1/analyst/price-dispersion: tempo → None
  • price changed on GET /v1/analyst/retailer-index: 20000 → None
  • payment method changed on GET /v1/analyst/retailer-index: tempo → None
  • price changed on GET /v1/marketing/brand-tracker: 10000 → None
  • payment method changed on GET /v1/marketing/brand-tracker: tempo → None
  • price changed on GET /v1/marketing/competitive-landscape: 10000 → None
  • payment method changed on GET /v1/marketing/competitive-landscape: tempo → None
  • price changed on GET /v1/marketing/price-positioning: 10000 → None
  • payment method changed on GET /v1/marketing/price-positioning: tempo → None
  • price changed on GET /v1/marketing/promo-intelligence: 10000 → None
  • payment method changed on GET /v1/marketing/promo-intelligence: tempo → None
  • price changed on GET /v1/marketing/share-of-shelf: 10000 → None
  • payment method changed on GET /v1/marketing/share-of-shelf: tempo → None
  • price changed on GET /v1/shopper/best-price: 10000 → None
  • payment method changed on GET /v1/shopper/best-price: tempo → None
  • price changed on GET /v1/shopper/deal-finder: 10000 → None
  • payment method changed on GET /v1/shopper/deal-finder: tempo → None
  • price changed on GET /v1/shopper/price-drop-alert: 10000 → None
  • payment method changed on GET /v1/shopper/price-drop-alert: tempo → None
  • price changed on GET /v1/shopper/price-history: 10000 → None
  • payment method changed on GET /v1/shopper/price-history: tempo → None
Grade: B (76%) → C (66%)
Scan snapshots
Date Grade Score Response Status
2026-04-16 B 76% 704ms Up
2026-04-17 C 66% 290ms Up
2026-04-18 C 66% 683ms Up
2026-04-19 C 66% 255ms Up
2026-04-20 C 66% 358ms Up
2026-04-21 C 66% 266ms Up
2026-04-22 C 66% 297ms Up
2026-04-23 C 66% 252ms Up
2026-04-24 C 66% 238ms Up
2026-04-25 C 66% 265ms Up
2026-04-26 C 66% 556ms Up
2026-04-27 C 66% 747ms Up
2026-04-28 C 66% 698ms Up
2026-04-29 C 66% 231ms Up
2026-04-30 C 66% 293ms Up
2026-05-01 C 66% 239ms Up
2026-05-02 C 66% 366ms Up
2026-05-03 C 66% 194ms Up
2026-05-04 C 66% 375ms Up
2026-05-05 C 66% 205ms Up
2026-05-06 C 66% 409ms Up
2026-05-07 C 66% 275ms Up
2026-05-08 A 93% 392ms Up
2026-05-09 A 93% 214ms Up
2026-05-10 A 93% 288ms Up
2026-05-11 A 93% 202ms Up
2026-05-12 A 93% 206ms Up
2026-05-13 A 93% 155ms Up
2026-05-14 A 93% 184ms Up
2026-05-15 A 93% 387ms Up
2026-05-16 A 93% 388ms Up
2026-05-17 A 93% 199ms Up
2026-05-18 A 93% 376ms Up
2026-05-19 A 93% 342ms Up
2026-05-20 A 93% 354ms Up
2026-05-21 A 93% 324ms Up
2026-05-22 A 93% 928ms Up
2026-05-23 A 93% 367ms Up
2026-05-24 A 93% 355ms Up
2026-05-25 A 93% 158ms Up
2026-05-26 A 93% 352ms Up
2026-05-27 A 93% 193ms Up
2026-05-28 A 93% 180ms Up
2026-05-29 A 93% 348ms Up
2026-05-30 A 93% 213ms Up
2026-05-31 A 93% 184ms Up
2026-06-01 A 93% 385ms Up
2026-06-02 A 93% 356ms Up
2026-06-03 A 93% 372ms Up
2026-06-04 A 93% 372ms Up
2026-06-05 A 93% 548ms Up