C
Crush Rewards — Pricing Intelligence API — MPP Grade C
Preview responses and set spending limits for this service through use.mpp.land
Free budget controls, response samples, and reliability routing.
On-chain Activity
4
Total txs
4
7d txs
$0.05
7d volume
$0.05
Total volume
3
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
- 402 response missing Cache-Control: no-store
Paid Operations (13)
GET /v1/shopper/best-price dynamic
Find the best price for a product across retailers
- Amount
- map[amount:0.010000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| 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) |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| best_price | object | - |
| country | string | - |
| currency | string | - |
| other_prices | array[object] | - |
| query | string | - |
GET /v1/shopper/price-history dynamic
Get price history for a product over time
- Amount
- map[amount:0.010000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| 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) |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| history | array[object] | - |
| query | string | - |
GET /v1/shopper/deal-finder dynamic
Find discounted products in a category
- Amount
- map[amount:0.010000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| category | query | string | Yes | Product category (e.g., electronics, grocery, beauty) |
| 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) |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| category | string | - |
| deals | array[object] | - |
GET /v1/shopper/price-drop-alert dynamic
Check for recent price drops on a product
- Amount
- map[amount:0.010000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| 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) |
Response Schema (200)
| Field | Type | Description |
|---|---|---|
| drops | array[object] | - |
| query | string | - |
GET /v1/marketing/competitive-landscape dynamic
View all products and pricing in a category
- Amount
- map[amount:0.010000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| category | query | string | Yes | Product category (e.g., electronics, grocery, beauty) |
| 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) |
Response Schema (200)
{
"type": "object"
}
GET /v1/marketing/brand-tracker dynamic
Track a brand's pricing and presence over time
- Amount
- map[amount:0.010000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| 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) |
Response Schema (200)
{
"type": "object"
}
GET /v1/marketing/promo-intelligence dynamic
Analyze promotional activity in a category
- Amount
- map[amount:0.010000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| category | query | string | Yes | Product category (e.g., electronics, grocery, beauty) |
| 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) |
Response Schema (200)
{
"type": "object"
}
GET /v1/marketing/share-of-shelf dynamic
See brand market share within a category
- Amount
- map[amount:0.010000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| category | query | string | Yes | Product category (e.g., electronics, grocery, beauty) |
| country | query | string | No | Country (us or ca) |
Response Schema (200)
{
"type": "object"
}
GET /v1/marketing/price-positioning dynamic
Analyze a brand's price positioning vs competitors
- Amount
- map[amount:0.010000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| 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) |
Response Schema (200)
{
"type": "object"
}
GET /v1/analyst/inflation dynamic
Track price inflation trends in a category
- Amount
- map[amount:0.020000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| category | query | string | Yes | Product category (e.g., electronics, grocery, beauty) |
| 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 |
Response Schema (200)
{
"type": "object"
}
GET /v1/analyst/price-dispersion dynamic
Analyze price spread across retailers for a category
- Amount
- map[amount:0.020000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| category | query | string | Yes | Product category (e.g., electronics, grocery, beauty) |
| country | query | string | No | Country (us or ca) |
Response Schema (200)
{
"type": "object"
}
GET /v1/analyst/retailer-index dynamic
Price index for a specific retailer over time
- Amount
- map[amount:0.020000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| 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) |
| from | query | string | No | Start date (ISO 8601, defaults to 30 days ago) |
| to | query | string | No | End date (ISO 8601, defaults to now) |
Response Schema (200)
{
"type": "object"
}
GET /v1/analyst/category-summary dynamic
High-level summary statistics for a product category
- Amount
- map[amount:0.020000 currency:USD mode:fixed]
- Currency
- -
- Method
- Intent
- -
- 402 Declared
- Yes
Non-standard x-payment-info fields:
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| category | query | string | Yes | Product category (e.g., electronics, grocery, beauty) |
| country | query | string | No | Country (us or ca) |
Response Schema (200)
{
"type": "object"
}
Payment Methods
- Methods
- tempo (from challenge)
- Intents
- charge (from challenge)
- Currencies (discovery)
- -
- Currency (challenge)
- USDC.e on Tempo (Tempo)
- 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 (277ms)
- Challenge
- Reachable (278ms)
- Last Checked
Schema Completeness
- Paid Operations
- 13
- With Input Schema
- 0
- With Description
- 13
13 missing schema
- GET /v1/shopper/best-price
- GET /v1/shopper/price-history
- GET /v1/shopper/deal-finder
- GET /v1/shopper/price-drop-alert
- GET /v1/marketing/competitive-landscape
- GET /v1/marketing/brand-tracker
- GET /v1/marketing/promo-intelligence
- GET /v1/marketing/share-of-shelf
- GET /v1/marketing/price-positioning
- GET /v1/analyst/inflation
- GET /v1/analyst/price-dispersion
- GET /v1/analyst/retailer-index
- GET /v1/analyst/category-summary
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
- 18464 bytes
- Document Hash
- ace2dc0773391f6fa3bfbeed4199ede427fdc06d64d39fe3276f893debf7b3ee
Version History (6 snapshots)
- 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 |