Brand Protection API Documentation
Read supplied listings, reference products, and images, and organize evidence without deciding infringement. Payment is the exact USDC price on Base with x402.
https://brainiac.software/api/v1/brand-protection/product-listing-match$0.04 USDCMatch a listing to a supplied brand
Find a supplied brand name only when it is the listing brand field or a whole name in the title, description, or public page title. A partial overlap is not matched, and a name match is not a trademark determination.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
brands | No | array; Array |
products | No | array; Array |
listings | No | array; Array |
images | No | array; Array |
authorizedSellers | No | array; Array |
registrations | No | array; Array |
rules | No | array; Array |
Request exampleJSON
{
"text": "Brand: Example | Example Goods\nListing: L-1 | | Example Market | Shop A | Example kettle | 40 | USD | Example | SKU-1 | | 2026-11-01 | Blue kettle\nThe listing is fake.\nListing: L-2 | | Example Market | Shop B | kettle | 10 | USD | Other | SKU-2 | | 2026-11-01 |\n"
}Response exampleJSON
{
"checkedAt": "2026-11-04T11:00:00.000Z",
"status": "checked",
"matches": [
{
"listingId": "L-1",
"brand": "Example",
"fields": "brand,title",
"matched": true,
"quote": "Example",
"sourceUrl": "",
"retrievedAt": "2026-11-01",
"infringementDetermined": false,
"interpretation": "stated"
},
{
"listingId": "L-2",
"brand": "Example",
"fields": "",
"matched": false,
"quote": "",
"sourceUrl": "",
"retrievedAt": "2026-11-01",
"infringementDetermined": false,
"interpretation": "none"
}
],
"requestsSent": 0,
"accountAccessed": false,
"authenticationBypassed": false,
"captchaBypassed": false,
"infringementDetermined": false,
"counterfeitConfirmed": false,
"listingRemoved": false,
"legalConclusion": false,
"findings": [
{
"kind": "ignored",
"code": "unlabeled_line",
"subject": "",
"detail": "Lines without a recognized label were not read and their text was not copied."
},
{
"kind": "observation",
"code": "not_a_determination",
"subject": "",
"detail": "A supplied brand name appears in a listing. This is not a trademark determination."
}
],
"limitations": [
"Listings, brand names, and images are taken from the request or from one public page the caller named.",
"A public page is fetched with one HTTP GET. Login pages and CAPTCHAs are not bypassed.",
"Image similarity is the mean color difference after both images are drawn at 16 by 16. A difference of 12 or less is similar. It is not proof of counterfeiting.",
"A brand name in a listing is not a finding of trademark infringement.",
"No seller account is accessed and no listing is removed."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/brand-protection/product-listing-match" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"text": "Brand: Example | Example Goods\nListing: L-1 | | Example Market | Shop A | Example kettle | 40 | USD | Example | SKU-1 | | 2026-11-01 | Blue kettle\nThe listing is fake.\nListing: L-2 | | Example Market | Shop B | kettle | 10 | USD | Other | SKU-2 | | 2026-11-01 |\n"
}
JSONhttps://brainiac.software/api/v1/brand-protection/suspected-counterfeit-listing-detect$0.05 USDCDetect listing signals against a reference
Compare a listing with one linked reference product and report brand, price, and stated-word differences. A signal is not a finding that the listing is counterfeit.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
brands | No | array; Array |
products | No | array; Array |
listings | No | array; Array |
images | No | array; Array |
authorizedSellers | No | array; Array |
registrations | No | array; Array |
rules | No | array; Array |
Request exampleJSON
{
"products": [
{
"id": "P-1",
"brand": "Example",
"title": "Example kettle",
"sku": "SKU-1",
"price": 80,
"currency": "USD"
}
],
"listings": [
{
"id": "L-1",
"productId": "P-1",
"marketplace": "Example Market",
"seller": "Shop B",
"title": "replica kettle",
"price": 20,
"currency": "USD",
"brand": "Other",
"sku": "SKU-9"
}
],
"rules": [
{
"name": "price",
"value": "0.5"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T11:00:00.000Z",
"status": "checked",
"listings": [
{
"listingId": "L-1",
"productId": "P-1",
"level": "review",
"counterfeitConfirmed": false,
"signals": [
{
"code": "brand_mismatch",
"kind": "indicator",
"confirmed": false,
"detail": "Both brand fields are present and they differ. This is not a finding of counterfeiting."
},
{
"code": "stated_replica_word",
"kind": "indicator",
"confirmed": false,
"detail": "The listing text contains the word \"replica\". The word is not proof of counterfeiting."
},
{
"code": "sku_differs",
"kind": "observation",
"confirmed": false,
"detail": "Both SKUs are present and they differ."
},
{
"code": "title_differs",
"kind": "observation",
"confirmed": false,
"detail": "Both titles are present and they differ."
},
{
"code": "price_below",
"kind": "indicator",
"confirmed": false,
"detail": "The listing price is below the supplied fraction of the reference price. This is not a finding of counterfeiting."
}
]
}
],
"requestsSent": 0,
"accountAccessed": false,
"authenticationBypassed": false,
"captchaBypassed": false,
"infringementDetermined": false,
"counterfeitConfirmed": false,
"listingRemoved": false,
"legalConclusion": false,
"findings": [],
"limitations": [
"Listings, brand names, and images are taken from the request or from one public page the caller named.",
"A public page is fetched with one HTTP GET. Login pages and CAPTCHAs are not bypassed.",
"Image similarity is the mean color difference after both images are drawn at 16 by 16. A difference of 12 or less is similar. It is not proof of counterfeiting.",
"A brand name in a listing is not a finding of trademark infringement.",
"No seller account is accessed and no listing is removed."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/brand-protection/suspected-counterfeit-listing-detect" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"products": [
{
"id": "P-1",
"brand": "Example",
"title": "Example kettle",
"sku": "SKU-1",
"price": 80,
"currency": "USD"
}
],
"listings": [
{
"id": "L-1",
"productId": "P-1",
"marketplace": "Example Market",
"seller": "Shop B",
"title": "replica kettle",
"price": 20,
"currency": "USD",
"brand": "Other",
"sku": "SKU-9"
}
],
"rules": [
{
"name": "price",
"value": "0.5"
}
]
}
JSONhttps://brainiac.software/api/v1/brand-protection/product-image-similarity-check$0.05 USDCCompare product images
Decode the supplied reference and listing images and compare their pixels. Images that cannot be decoded are not compared, and a visual match is not proof of counterfeiting.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
brands | No | array; Array |
products | No | array; Array |
listings | No | array; Array |
images | No | array; Array |
authorizedSellers | No | array; Array |
registrations | No | array; Array |
rules | No | array; Array |
Request exampleJSON
{
"images": [
{
"id": "R-1",
"role": "reference",
"productId": "P-1",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGO4IycHAALyARlzRAvLAAAAAElFTkSuQmCC"
},
{
"id": "I-1",
"role": "listing",
"listingId": "L-1",
"productId": "P-1",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGO4IycHAALyARlzRAvLAAAAAElFTkSuQmCC"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T11:00:00.000Z",
"status": "compared",
"pairs": [
{
"referenceId": "R-1",
"listingImageId": "I-1",
"listingId": "L-1",
"productId": "P-1",
"referenceUrl": "",
"listingUrl": "",
"referenceRetrievedAt": "",
"retrievedAt": "",
"visualSimilarity": "identical",
"distance": 0,
"distanceSupplied": false,
"counterfeitConfirmed": false,
"detail": "The image files match. Matching files are not proof of counterfeiting."
}
],
"requestsSent": 0,
"accountAccessed": false,
"authenticationBypassed": false,
"captchaBypassed": false,
"infringementDetermined": false,
"counterfeitConfirmed": false,
"listingRemoved": false,
"legalConclusion": false,
"findings": [],
"limitations": [
"Listings, brand names, and images are taken from the request or from one public page the caller named.",
"A public page is fetched with one HTTP GET. Login pages and CAPTCHAs are not bypassed.",
"Image similarity is the mean color difference after both images are drawn at 16 by 16. A difference of 12 or less is similar. It is not proof of counterfeiting.",
"A brand name in a listing is not a finding of trademark infringement.",
"No seller account is accessed and no listing is removed."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/brand-protection/product-image-similarity-check" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"images": [
{
"id": "R-1",
"role": "reference",
"productId": "P-1",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGO4IycHAALyARlzRAvLAAAAAElFTkSuQmCC"
},
{
"id": "I-1",
"role": "listing",
"listingId": "L-1",
"productId": "P-1",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGO4IycHAALyARlzRAvLAAAAAElFTkSuQmCC"
}
]
}
JSONhttps://brainiac.software/api/v1/brand-protection/unauthorized-seller-evidence-extract$0.04 USDCExtract seller evidence
Copy the seller, marketplace, source URL, and timestamp from the supplied listing or a public page. A name missing from the supplied list is not a finding that the sale is unauthorized.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
brands | No | array; Array |
products | No | array; Array |
listings | No | array; Array |
images | No | array; Array |
authorizedSellers | No | array; Array |
registrations | No | array; Array |
rules | No | array; Array |
Request exampleJSON
{
"authorizedSellers": [
{
"name": "Shop A"
}
],
"listings": [
{
"id": "L-1",
"marketplace": "Example Market",
"seller": "Shop A",
"url": "",
"observed": "2026-11-01"
},
{
"id": "L-2",
"marketplace": "Example Market",
"seller": "Shop B",
"observed": "2026-11-02"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T11:00:00.000Z",
"status": "checked",
"sellers": [
{
"listingId": "L-1",
"seller": "Shop A",
"marketplace": "Example Market",
"sourceUrl": "",
"finalUrl": "",
"observed": "2026-11-01",
"retrievedAt": "",
"httpStatus": 0,
"listState": "on_list",
"unauthorizedConfirmed": false,
"interpretation": "stated"
},
{
"listingId": "L-2",
"seller": "Shop B",
"marketplace": "Example Market",
"sourceUrl": "",
"finalUrl": "",
"observed": "2026-11-02",
"retrievedAt": "",
"httpStatus": 0,
"listState": "not_on_list",
"unauthorizedConfirmed": false,
"interpretation": "stated"
}
],
"requestsSent": 0,
"accountAccessed": false,
"authenticationBypassed": false,
"captchaBypassed": false,
"infringementDetermined": false,
"counterfeitConfirmed": false,
"listingRemoved": false,
"legalConclusion": false,
"findings": [
{
"kind": "observation",
"code": "not_on_list",
"subject": "",
"detail": "A seller name is not on the supplied list. This is not a finding that the sale is unauthorized."
}
],
"limitations": [
"Listings, brand names, and images are taken from the request or from one public page the caller named.",
"A public page is fetched with one HTTP GET. Login pages and CAPTCHAs are not bypassed.",
"Image similarity is the mean color difference after both images are drawn at 16 by 16. A difference of 12 or less is similar. It is not proof of counterfeiting.",
"A brand name in a listing is not a finding of trademark infringement.",
"No seller account is accessed and no listing is removed."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/brand-protection/unauthorized-seller-evidence-extract" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"authorizedSellers": [
{
"name": "Shop A"
}
],
"listings": [
{
"id": "L-1",
"marketplace": "Example Market",
"seller": "Shop A",
"url": "",
"observed": "2026-11-01"
},
{
"id": "L-2",
"marketplace": "Example Market",
"seller": "Shop B",
"observed": "2026-11-02"
}
]
}
JSONhttps://brainiac.software/api/v1/brand-protection/name-usage-audit$0.04 USDCAudit brand-name usage
Record each whole supplied brand name in a listing field or public page title. A partial overlap is not counted, and usage is not a trademark determination.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
brands | No | array; Array |
products | No | array; Array |
listings | No | array; Array |
images | No | array; Array |
authorizedSellers | No | array; Array |
registrations | No | array; Array |
rules | No | array; Array |
Request exampleJSON
{
"brands": [
{
"name": "Example"
}
],
"listings": [
{
"id": "L-1",
"title": "Example kettle",
"description": "Sold by Examples",
"brand": ""
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T11:00:00.000Z",
"status": "found",
"uses": [
{
"listingId": "L-1",
"brand": "Example",
"field": "title",
"quote": "Example kettle",
"sourceUrl": "",
"retrievedAt": "",
"trademarkInfringement": false,
"interpretation": "stated"
}
],
"requestsSent": 0,
"accountAccessed": false,
"authenticationBypassed": false,
"captchaBypassed": false,
"infringementDetermined": false,
"counterfeitConfirmed": false,
"listingRemoved": false,
"legalConclusion": false,
"findings": [
{
"kind": "observation",
"code": "partial_overlap",
"subject": "L-1",
"detail": "The description overlaps the brand name without containing it as a whole name. It was not counted."
}
],
"limitations": [
"Listings, brand names, and images are taken from the request or from one public page the caller named.",
"A public page is fetched with one HTTP GET. Login pages and CAPTCHAs are not bypassed.",
"Image similarity is the mean color difference after both images are drawn at 16 by 16. A difference of 12 or less is similar. It is not proof of counterfeiting.",
"A brand name in a listing is not a finding of trademark infringement.",
"No seller account is accessed and no listing is removed."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/brand-protection/name-usage-audit" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"brands": [
{
"name": "Example"
}
],
"listings": [
{
"id": "L-1",
"title": "Example kettle",
"description": "Sold by Examples",
"brand": ""
}
]
}
JSONhttps://brainiac.software/api/v1/brand-protection/marketplace-listing-compare$0.05 USDCCompare two listing records
Compare supplied titles, brands, sellers, prices, and decoded images field by field. Different currencies are not converted, and a difference is not a finding that either listing is counterfeit.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
brands | No | array; Array |
products | No | array; Array |
listings | No | array; Array |
images | No | array; Array |
authorizedSellers | No | array; Array |
registrations | No | array; Array |
rules | No | array; Array |
Request exampleJSON
{
"listings": [
{
"id": "L-1",
"title": "Example kettle",
"brand": "Example",
"seller": "Shop A",
"price": 80,
"currency": "USD",
"sku": "SKU-1"
},
{
"id": "L-2",
"title": "Example kettle",
"brand": "Other",
"seller": "Shop B",
"price": 20,
"currency": "USD",
"sku": "SKU-9"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T11:00:00.000Z",
"status": "compared",
"leftId": "L-1",
"rightId": "L-2",
"fields": [
{
"name": "title",
"left": "Example kettle",
"right": "Example kettle",
"state": "same",
"detail": "The supplied values match."
},
{
"name": "brand",
"left": "Example",
"right": "Other",
"state": "differs",
"detail": "The supplied values differ."
},
{
"name": "seller",
"left": "Shop A",
"right": "Shop B",
"state": "differs",
"detail": "The supplied values differ."
},
{
"name": "sku",
"left": "SKU-1",
"right": "SKU-9",
"state": "differs",
"detail": "The supplied values differ."
},
{
"name": "price",
"left": "80",
"right": "20",
"state": "differs",
"detail": "The supplied values differ."
},
{
"name": "currency",
"left": "USD",
"right": "USD",
"state": "same",
"detail": "The supplied values match."
},
{
"name": "url",
"left": "",
"right": "",
"state": "missing",
"detail": "One or both records omit this field."
},
{
"name": "image",
"left": "",
"right": "",
"state": "not_compared",
"detail": "The images were not both decoded, so they were not compared."
}
],
"requestsSent": 0,
"accountAccessed": false,
"authenticationBypassed": false,
"captchaBypassed": false,
"infringementDetermined": false,
"counterfeitConfirmed": false,
"listingRemoved": false,
"legalConclusion": false,
"findings": [],
"limitations": [
"Listings, brand names, and images are taken from the request or from one public page the caller named.",
"A public page is fetched with one HTTP GET. Login pages and CAPTCHAs are not bypassed.",
"Image similarity is the mean color difference after both images are drawn at 16 by 16. A difference of 12 or less is similar. It is not proof of counterfeiting.",
"A brand name in a listing is not a finding of trademark infringement.",
"No seller account is accessed and no listing is removed."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/brand-protection/marketplace-listing-compare" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"listings": [
{
"id": "L-1",
"title": "Example kettle",
"brand": "Example",
"seller": "Shop A",
"price": 80,
"currency": "USD",
"sku": "SKU-1"
},
{
"id": "L-2",
"title": "Example kettle",
"brand": "Other",
"seller": "Shop B",
"price": 20,
"currency": "USD",
"sku": "SKU-9"
}
]
}
JSONhttps://brainiac.software/api/v1/brand-protection/intellectual-property-evidence-package$0.05 USDCPackage intellectual-property evidence
Collect the supplied listing, registration text, decoded image hash, source URL, and timestamp, and list the pieces that were not supplied. The package is not a legal conclusion.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
brands | No | array; Array |
products | No | array; Array |
listings | No | array; Array |
images | No | array; Array |
authorizedSellers | No | array; Array |
registrations | No | array; Array |
rules | No | array; Array |
Request exampleJSON
{
"brands": [
{
"name": "Example",
"owner": "Example Goods"
}
],
"listings": [
{
"id": "L-1",
"seller": "Shop B",
"title": "Example kettle",
"brand": "Example",
"marketplace": "Example Market"
}
],
"registrations": [
{
"id": "TM-1",
"office": "Example Office",
"mark": "Example",
"status": "listed by caller"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T11:00:00.000Z",
"status": "packaged",
"items": [
{
"kind": "gap",
"subject": "reference",
"sourceUrl": "",
"retrievedAt": "",
"text": "No reference product was supplied.",
"sha256": "",
"legalConclusion": false,
"interpretation": "none"
},
{
"kind": "listing",
"subject": "L-1",
"sourceUrl": "",
"retrievedAt": "",
"text": "Example Market | Shop B | Example kettle | Example",
"sha256": "",
"legalConclusion": false,
"interpretation": "stated"
},
{
"kind": "gap",
"subject": "L-1",
"sourceUrl": "",
"retrievedAt": "",
"text": "The listing has no source URL.",
"sha256": "",
"legalConclusion": false,
"interpretation": "none"
},
{
"kind": "gap",
"subject": "L-1",
"sourceUrl": "",
"retrievedAt": "",
"text": "The listing has no timestamp.",
"sha256": "",
"legalConclusion": false,
"interpretation": "none"
},
{
"kind": "gap",
"subject": "image",
"sourceUrl": "",
"retrievedAt": "",
"text": "No image was decoded.",
"sha256": "",
"legalConclusion": false,
"interpretation": "none"
},
{
"kind": "registration",
"subject": "TM-1",
"sourceUrl": "",
"retrievedAt": "",
"text": "Example Office | Example | listed by caller",
"sha256": "",
"legalConclusion": false,
"interpretation": "stated"
}
],
"requestsSent": 0,
"accountAccessed": false,
"authenticationBypassed": false,
"captchaBypassed": false,
"infringementDetermined": false,
"counterfeitConfirmed": false,
"listingRemoved": false,
"legalConclusion": false,
"findings": [],
"limitations": [
"Listings, brand names, and images are taken from the request or from one public page the caller named.",
"A public page is fetched with one HTTP GET. Login pages and CAPTCHAs are not bypassed.",
"Image similarity is the mean color difference after both images are drawn at 16 by 16. A difference of 12 or less is similar. It is not proof of counterfeiting.",
"A brand name in a listing is not a finding of trademark infringement.",
"No seller account is accessed and no listing is removed."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/brand-protection/intellectual-property-evidence-package" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"brands": [
{
"name": "Example",
"owner": "Example Goods"
}
],
"listings": [
{
"id": "L-1",
"seller": "Shop B",
"title": "Example kettle",
"brand": "Example",
"marketplace": "Example Market"
}
],
"registrations": [
{
"id": "TM-1",
"office": "Example Office",
"mark": "Example",
"status": "listed by caller"
}
]
}
JSONhttps://brainiac.software/api/v1/brand-protection/investigation-report$0.12 USDCReport a brand investigation
Combine the brand match, listing signals, image comparison, seller list, and evidence gaps from the supplied records. The report does not determine infringement or counterfeiting.
Body
| Field | Required | Notes |
|---|---|---|
text | No | string |
json | No | string |
csv | No | string |
file | No | object; Object |
brands | No | array; Array |
products | No | array; Array |
listings | No | array; Array |
images | No | array; Array |
authorizedSellers | No | array; Array |
registrations | No | array; Array |
rules | No | array; Array |
Request exampleJSON
{
"brands": [
{
"name": "Example",
"owner": "Example Goods"
}
],
"products": [
{
"id": "P-1",
"brand": "Example",
"title": "Example kettle",
"sku": "SKU-1",
"price": 80,
"currency": "USD"
}
],
"listings": [
{
"id": "L-1",
"marketplace": "Example Market",
"seller": "Shop B",
"title": "Example kettle",
"price": 20,
"currency": "USD",
"brand": "Example",
"sku": "SKU-1"
},
{
"id": "L-2",
"marketplace": "Example Market",
"seller": "Shop A",
"title": "Other kettle",
"price": 80,
"currency": "USD",
"brand": "Other",
"sku": "SKU-2"
}
],
"authorizedSellers": [
{
"name": "Shop A"
}
],
"rules": [
{
"name": "price",
"value": "0.5"
}
],
"images": [
{
"id": "R-1",
"role": "reference",
"productId": "P-1",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGO4IycHAALyARlzRAvLAAAAAElFTkSuQmCC"
},
{
"id": "I-1",
"role": "listing",
"listingId": "L-1",
"productId": "P-1",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGO4IycHAALyARlzRAvLAAAAAElFTkSuQmCC"
}
]
}Response exampleJSON
{
"checkedAt": "2026-11-04T11:00:00.000Z",
"status": "reported",
"listingCount": 2,
"matchedCount": 1,
"indicatorCount": 1,
"similarCount": 1,
"notOnListCount": 1,
"gapCount": 4,
"matches": [
{
"listingId": "L-1",
"brand": "Example",
"fields": "brand,title",
"matched": true,
"quote": "Example",
"sourceUrl": "",
"retrievedAt": "",
"infringementDetermined": false,
"interpretation": "stated"
},
{
"listingId": "L-2",
"brand": "Example",
"fields": "",
"matched": false,
"quote": "",
"sourceUrl": "",
"retrievedAt": "",
"infringementDetermined": false,
"interpretation": "none"
}
],
"listings": [
{
"listingId": "L-1",
"productId": "P-1",
"level": "indicator",
"counterfeitConfirmed": false,
"signals": [
{
"code": "price_below",
"kind": "indicator",
"confirmed": false,
"detail": "The listing price is below the supplied fraction of the reference price. This is not a finding of counterfeiting."
},
{
"code": "image_identical",
"kind": "observation",
"confirmed": false,
"detail": "The image files match. Matching files are not proof of counterfeiting."
}
]
},
{
"listingId": "L-2",
"productId": "",
"level": "none",
"counterfeitConfirmed": false,
"signals": [
{
"code": "reference_missing",
"kind": "unavailable",
"confirmed": false,
"detail": "No single supplied reference product is linked to this listing, so it was not compared."
}
]
}
],
"pairs": [
{
"referenceId": "R-1",
"listingImageId": "I-1",
"listingId": "L-1",
"productId": "P-1",
"referenceUrl": "",
"listingUrl": "",
"referenceRetrievedAt": "",
"retrievedAt": "",
"visualSimilarity": "identical",
"distance": 0,
"distanceSupplied": false,
"counterfeitConfirmed": false,
"detail": "The image files match. Matching files are not proof of counterfeiting."
}
],
"sellers": [
{
"listingId": "L-1",
"seller": "Shop B",
"marketplace": "Example Market",
"sourceUrl": "",
"finalUrl": "",
"observed": "",
"retrievedAt": "",
"httpStatus": 0,
"listState": "not_on_list",
"unauthorizedConfirmed": false,
"interpretation": "stated"
},
{
"listingId": "L-2",
"seller": "Shop A",
"marketplace": "Example Market",
"sourceUrl": "",
"finalUrl": "",
"observed": "",
"retrievedAt": "",
"httpStatus": 0,
"listState": "on_list",
"unauthorizedConfirmed": false,
"interpretation": "stated"
}
],
"uses": [
{
"listingId": "L-1",
"brand": "Example",
"field": "brand",
"quote": "Example",
"sourceUrl": "",
"retrievedAt": "",
"trademarkInfringement": false,
"interpretation": "stated"
},
{
"listingId": "L-1",
"brand": "Example",
"field": "title",
"quote": "Example kettle",
"sourceUrl": "",
"retrievedAt": "",
"trademarkInfringement": false,
"interpretation": "stated"
}
],
"fields": [
{
"name": "title",
"left": "Example kettle",
"right": "Other kettle",
"state": "differs",
"detail": "The supplied values differ."
},
{
"name": "brand",
"left": "Example",
"right": "Other",
"state": "differs",
"detail": "The supplied values differ."
},
{
"name": "seller",
"left": "Shop B",
"right": "Shop A",
"state": "differs",
"detail": "The supplied values differ."
},
{
"name": "sku",
"left": "SKU-1",
"right": "SKU-2",
"state": "differs",
"detail": "The supplied values differ."
},
{
"name": "price",
"left": "20",
"right": "80",
"state": "differs",
"detail": "The supplied values differ."
},
{
"name": "currency",
"left": "USD",
"right": "USD",
"state": "same",
"detail": "The supplied values match."
},
{
"name": "url",
"left": "",
"right": "",
"state": "missing",
"detail": "One or both records omit this field."
},
{
"name": "image",
"left": "",
"right": "",
"state": "not_compared",
"detail": "The images were not both decoded, so they were not compared."
}
],
"items": [
{
"kind": "listing",
"subject": "L-1",
"sourceUrl": "",
"retrievedAt": "",
"text": "Example Market | Shop B | Example kettle | Example",
"sha256": "",
"legalConclusion": false,
"interpretation": "stated"
},
{
"kind": "gap",
"subject": "L-1",
"sourceUrl": "",
"retrievedAt": "",
"text": "The listing has no source URL.",
"sha256": "",
"legalConclusion": false,
"interpretation": "none"
},
{
"kind": "gap",
"subject": "L-1",
"sourceUrl": "",
"retrievedAt": "",
"text": "The listing has no timestamp.",
"sha256": "",
"legalConclusion": false,
"interpretation": "none"
},
{
"kind": "listing",
"subject": "L-2",
"sourceUrl": "",
"retrievedAt": "",
"text": "Example Market | Shop A | Other kettle | Other",
"sha256": "",
"legalConclusion": false,
"interpretation": "stated"
},
{
"kind": "gap",
"subject": "L-2",
"sourceUrl": "",
"retrievedAt": "",
"text": "The listing has no source URL.",
"sha256": "",
"legalConclusion": false,
"interpretation": "none"
},
{
"kind": "gap",
"subject": "L-2",
"sourceUrl": "",
"retrievedAt": "",
"text": "The listing has no timestamp.",
"sha256": "",
"legalConclusion": false,
"interpretation": "none"
},
{
"kind": "image",
"subject": "R-1",
"sourceUrl": "",
"retrievedAt": "",
"text": "1x1",
"sha256": "0d241b0667c6ffc3e6c2c21c9c329f10d6b8a5f3405f94164240d0e651f48895",
"legalConclusion": false,
"interpretation": "stated"
},
{
"kind": "image",
"subject": "I-1",
"sourceUrl": "",
"retrievedAt": "",
"text": "1x1",
"sha256": "0d241b0667c6ffc3e6c2c21c9c329f10d6b8a5f3405f94164240d0e651f48895",
"legalConclusion": false,
"interpretation": "stated"
}
],
"requestsSent": 0,
"accountAccessed": false,
"authenticationBypassed": false,
"captchaBypassed": false,
"infringementDetermined": false,
"counterfeitConfirmed": false,
"listingRemoved": false,
"legalConclusion": false,
"findings": [
{
"kind": "observation",
"code": "not_a_determination",
"subject": "",
"detail": "A supplied brand name appears in a listing. This is not a trademark determination."
},
{
"kind": "observation",
"code": "not_on_list",
"subject": "",
"detail": "A seller name is not on the supplied list. This is not a finding that the sale is unauthorized."
}
],
"limitations": [
"Listings, brand names, and images are taken from the request or from one public page the caller named.",
"A public page is fetched with one HTTP GET. Login pages and CAPTCHAs are not bypassed.",
"Image similarity is the mean color difference after both images are drawn at 16 by 16. A difference of 12 or less is similar. It is not proof of counterfeiting.",
"A brand name in a listing is not a finding of trademark infringement.",
"No seller account is accessed and no listing is removed."
]
}cURL
curl -i -X POST "https://brainiac.software/api/v1/brand-protection/investigation-report" \
-H 'content-type: application/json' \
-H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
--data-binary @- <<'JSON'
{
"brands": [
{
"name": "Example",
"owner": "Example Goods"
}
],
"products": [
{
"id": "P-1",
"brand": "Example",
"title": "Example kettle",
"sku": "SKU-1",
"price": 80,
"currency": "USD"
}
],
"listings": [
{
"id": "L-1",
"marketplace": "Example Market",
"seller": "Shop B",
"title": "Example kettle",
"price": 20,
"currency": "USD",
"brand": "Example",
"sku": "SKU-1"
},
{
"id": "L-2",
"marketplace": "Example Market",
"seller": "Shop A",
"title": "Other kettle",
"price": 80,
"currency": "USD",
"brand": "Other",
"sku": "SKU-2"
}
],
"authorizedSellers": [
{
"name": "Shop A"
}
],
"rules": [
{
"name": "price",
"value": "0.5"
}
],
"images": [
{
"id": "R-1",
"role": "reference",
"productId": "P-1",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGO4IycHAALyARlzRAvLAAAAAElFTkSuQmCC"
},
{
"id": "I-1",
"role": "listing",
"listingId": "L-1",
"productId": "P-1",
"mediaType": "image/png",
"fileBase64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGO4IycHAALyARlzRAvLAAAAAElFTkSuQmCC"
}
]
}
JSON