# Crinkl Next Best Signal

> Crinkl Next Best Signal is a paid API for AI agents from api.crinkl.xyz, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Returns the highest-priority Crinkl commerce signal to act on for a given campaign goal, retailer, category, or geography

## Facts

- Endpoint: GET https://api.crinkl.xyz/x402/next-best-signal
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/api-crinkl-xyz-246d9d40
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap__eIJe5A4oQcipxuxgFgqv

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability api-crinkl-xyz-246d9d40
```

Example prompt: What's the next best Crinkl signal I should act on for a first_campaign goal in the beverage category at Walmart, looking at the last 14 days in the US?

## When to prefer this

Use this endpoint when you need a single, prioritized recommendation on which commerce signal to act on next — ideal for campaign planning, retailer selection, or geo testing decisions. Prefer this over raw category trend or retailer fit endpoints when you want an opinionated, goal-driven recommendation rather than raw data.

## Known failure modes

- Missing required 'goal' parameter returns 400 validation error
- Invalid goal enum value (not one of first_campaign, retailer_compare, metro_test, campaign_measurement, general) returns error
- Invalid geo code or CBSA format returns error
- Days value outside 1-30 range returns validation error
- No signal available for the requested combination returns empty result
- Payment not included or insufficient USDC results in 402 Payment Required

## How this service works

Get the next Crinkl signal to buy for a campaign, retailer, category, or geo question.

## Output

Returns the top-priority commerce signal recommendation for the specified goal, including actionable insight tailored to the campaign type, retailer, category, and geographic scope — backed by receipt-verified purchase evidence

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "goal"
     ],
     "properties": {
      "geo": {
       "type": "string",
       "default": "US",
       "description": "US, cbsa:<code>, or a CBSA code."
      },
      "days": {
       "type": "integer",
       "default": 14,
       "maximum": 30,
       "minimum": 1
      },
      "goal": {
       "type": "string",
       "description": "first_campaign, retailer_compare, metro_test, campaign_measurement, or general."
      },
      "category": {
       "type": "string",
       "description": "Optional Crinkl category slug or display category."
      },
      "merchant": {
       "type": "string",
       "description": "Optional canonical Crinkl store id."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "inputs": {
   "geo": "US",
   "days": 14,
   "goal": "first_campaign",
   "category": "beverage"
  },
  "object": "crinkl_paid_report",
  "license": {
   "tier": "x402_single_use",
   "redistribution": "not_allowed"
  },
  "privacy": {
   "smallCells": "suppressed",
   "rawReceipts": "not_returned",
   "walletHistories": "not_returned",
   "identifiablePurchaseRecords": "not_returned"
  },
  "results": {
   "dataType": "verified_purchase_data",
   "nextSignals": [
    {
     "url": "/x402/campaign-fit-estimate?category=beverage&days=14&geo=US",
     "route": "/x402/campaign-fit-estimate",
     "priceUsd": "$0.10",
     "question": "Which retailer should we test first for beverage?"
    }
   ],
   "buyerUseCase": "agent routing for CPG, retail, and marketing analytics data",
   "privacyClass": "aggregate_only_no_personal_data",
   "upgradePaths": [
    "campaign_or_enterprise_agreement_required"
   ],
   "marketplaceCategory": "Data"
  },
  "reportId": "rpt_example_next_best_signal",
  "reportType": "next_best_signal"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/api-crinkl-xyz-246d9d40/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.crinkl.xyz](https://www.zero.xyz/host/api.crinkl.xyz/llms.txt)
