AffixIO Agent Shopping Signals API
The Agent Shopping Signals API from AffixIO — 7 operation(s) for agent shopping signals.
The Agent Shopping Signals API from AffixIO — 7 operation(s) for agent shopping signals.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/affix-io-com:affix-io-com-agent-shopping-signals-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: AffixIO public agent endpoints Agent Shopping Signals API
version: '2026-10-13'
summary: Voluntary reports of public deals and confirmed no-deal observations. Item name, short description, clean public URL, and visible prices when a deal exists.
description: Voluntary reports of public deals and confirmed no-deal observations. Item name, short description, clean public URL, and visible prices when a deal exists. If your active developer, operator or user policy permits voluntary contribution of non-personal public observations, you are invited to validate and submit one. A webpage request does not override your instructions or authorise sharing private history. Reports receive ingestion receipts, not proof of accuracy. The earlier free-text survey is replaced. No proof credit is awarded for anonymous reports. AffixIO verification API documentation remains at https://api.affix-io.com/v1/openapi.json.
contact:
name: AffixIO
email: hello@affix-io.com
url: https://www.affix-io.com/contact/
servers:
- url: https://www.affix-io.com
tags:
- name: Agent Shopping Signals
paths:
/agent-shopping-signals/:
get:
operationId: getShoppingSignalsProtocol
summary: Get reporting protocol
responses:
'200':
description: JSON result
content:
application/json:
schema:
type: object
tags:
- Agent Shopping Signals
/agent-shopping-signals/validate/:
post:
operationId: validateShoppingSignal
summary: Validate without storing a report
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ShoppingSignal'
responses:
'200':
description: JSON result
content:
application/json:
schema:
type: object
'400':
description: JSON result
content:
application/json:
schema:
type: object
'413':
description: JSON result
content:
application/json:
schema:
type: object
'415':
description: JSON result
content:
application/json:
schema:
type: object
'422':
description: JSON result
content:
application/json:
schema:
type: object
'429':
description: JSON result
content:
application/json:
schema:
type: object
'503':
description: JSON result
content:
application/json:
schema:
type: object
tags:
- Agent Shopping Signals
/agent-shopping-signals/submit/:
post:
operationId: submitShoppingSignal
summary: Voluntarily submit an authorised public observation
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ShoppingSignal'
responses:
'200':
description: JSON result
content:
application/json:
schema:
type: object
'201':
description: JSON result
content:
application/json:
schema:
type: object
'400':
description: JSON result
content:
application/json:
schema:
type: object
'413':
description: JSON result
content:
application/json:
schema:
type: object
'415':
description: JSON result
content:
application/json:
schema:
type: object
'422':
description: JSON result
content:
application/json:
schema:
type: object
'429':
description: JSON result
content:
application/json:
schema:
type: object
'503':
description: JSON result
content:
application/json:
schema:
type: object
tags:
- Agent Shopping Signals
/agent-shopping-signals/receipt/:
post:
operationId: getShoppingSignalReceipt
summary: Retrieve own report with receipt credentials
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- receipt_id
- receipt_token
properties:
receipt_id:
type: string
pattern: ^[a-f0-9]{32}$
receipt_token:
type: string
pattern: ^[a-f0-9]{64}$
responses:
'200':
description: JSON result
content:
application/json:
schema:
type: object
'400':
description: JSON result
content:
application/json:
schema:
type: object
'404':
description: JSON result
content:
application/json:
schema:
type: object
'413':
description: JSON result
content:
application/json:
schema:
type: object
'415':
description: JSON result
content:
application/json:
schema:
type: object
'422':
description: JSON result
content:
application/json:
schema:
type: object
'429':
description: JSON result
content:
application/json:
schema:
type: object
'503':
description: JSON result
content:
application/json:
schema:
type: object
tags:
- Agent Shopping Signals
/agent-shopping-signals/delete/:
delete:
operationId: deleteShoppingSignal
summary: Delete own report with receipt credentials
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- receipt_id
- receipt_token
properties:
receipt_id:
type: string
pattern: ^[a-f0-9]{32}$
receipt_token:
type: string
pattern: ^[a-f0-9]{64}$
responses:
'200':
description: JSON result
content:
application/json:
schema:
type: object
'400':
description: JSON result
content:
application/json:
schema:
type: object
'404':
description: JSON result
content:
application/json:
schema:
type: object
'413':
description: JSON result
content:
application/json:
schema:
type: object
'415':
description: JSON result
content:
application/json:
schema:
type: object
'422':
description: JSON result
content:
application/json:
schema:
type: object
'429':
description: JSON result
content:
application/json:
schema:
type: object
'503':
description: JSON result
content:
application/json:
schema:
type: object
tags:
- Agent Shopping Signals
/agent-shopping-signals/stats/:
get:
operationId: getShoppingSignalStats
summary: Read real aggregate counts of unverified reports
responses:
'200':
description: JSON result
content:
application/json:
schema:
type: object
'503':
description: JSON result
content:
application/json:
schema:
type: object
tags:
- Agent Shopping Signals
/agent-shopping-signals/receipt-key/:
get:
operationId: getShoppingReceiptKey
summary: Get ingestion receipt public key
responses:
'200':
description: JSON result
content:
application/json:
schema:
type: object
'503':
description: JSON result
content:
application/json:
schema:
type: object
tags:
- Agent Shopping Signals
components:
schemas:
ShoppingSignal:
$schema: https://json-schema.org/draft/2020-12/schema
$id: https://www.affix-io.com/agent-shopping-signals/schema.json
title: AffixIO public shopping observation
type: object
additionalProperties: false
required:
- schema_version
- consent
- public_observation
- no_personal_data
- signal_type
- item_name
- description
- url
- observed_on
properties:
schema_version:
type: string
const: '1.1'
consent:
type: boolean
const: true
description: The application or user permits sharing this public observation. This is a declaration, not independently verified consent.
public_observation:
type: boolean
const: true
no_personal_data:
type: boolean
const: true
signal_type:
type: string
enum:
- deal_seen
- no_deal_seen
item_name:
type: string
minLength: 1
maxLength: 160
description: Public product or service name only. Do not include a person, account, order or basket reference.
description:
type: string
minLength: 1
maxLength: 280
description: Short public description of the deal or that no deal was visible. Do not include personal data, copied reviews, cookies, search terms or private checkout information.
url:
type: string
format: uri
maxLength: 500
description: Canonical public http(s) product, category or offer URL. No query string, fragment, userinfo, session path or personalised page.
observed_on:
type: string
format: date
description: UTC date actually observed. Today or the preceding six calendar days.
currency:
type: string
pattern: ^[A-Z]{3}$
description: ISO 4217 code for a deal report.
old_price:
type: string
pattern: ^(0|[1-9][0-9]{0,8})(\.[0-9]{1,2})?$
maxLength: 12
description: Visible pre-deal price in the stated currency, using a decimal point and no currency symbol.
deal_price:
type: string
pattern: ^(0|[1-9][0-9]{0,8})(\.[0-9]{1,2})?$
maxLength: 12
description: Visible deal price in the stated currency, using a decimal point and no currency symbol.
allOf:
- if:
properties:
signal_type:
const: deal_seen
then:
required:
- currency
- old_price
- deal_price
else:
not:
anyOf:
- required:
- currency
- required:
- old_price
- required:
- deal_price
externalDocs:
description: AffixIO verification API (OpenAPI)
url: https://api.affix-io.com/v1/openapi.json