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.

POSThttps://brainiac.software/api/v1/brand-protection/product-listing-match$0.04 USDC

Match 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

FieldRequiredNotes
textNostring
jsonNostring
csvNostring
fileNoobject; Object
brandsNoarray; Array
productsNoarray; Array
listingsNoarray; Array
imagesNoarray; Array
authorizedSellersNoarray; Array
registrationsNoarray; Array
rulesNoarray; 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"
}
JSON
POSThttps://brainiac.software/api/v1/brand-protection/suspected-counterfeit-listing-detect$0.05 USDC

Detect 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

FieldRequiredNotes
textNostring
jsonNostring
csvNostring
fileNoobject; Object
brandsNoarray; Array
productsNoarray; Array
listingsNoarray; Array
imagesNoarray; Array
authorizedSellersNoarray; Array
registrationsNoarray; Array
rulesNoarray; 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"
    }
  ]
}
JSON
POSThttps://brainiac.software/api/v1/brand-protection/product-image-similarity-check$0.05 USDC

Compare 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

FieldRequiredNotes
textNostring
jsonNostring
csvNostring
fileNoobject; Object
brandsNoarray; Array
productsNoarray; Array
listingsNoarray; Array
imagesNoarray; Array
authorizedSellersNoarray; Array
registrationsNoarray; Array
rulesNoarray; 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"
    }
  ]
}
JSON
POSThttps://brainiac.software/api/v1/brand-protection/unauthorized-seller-evidence-extract$0.04 USDC

Extract 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

FieldRequiredNotes
textNostring
jsonNostring
csvNostring
fileNoobject; Object
brandsNoarray; Array
productsNoarray; Array
listingsNoarray; Array
imagesNoarray; Array
authorizedSellersNoarray; Array
registrationsNoarray; Array
rulesNoarray; 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"
    }
  ]
}
JSON
POSThttps://brainiac.software/api/v1/brand-protection/name-usage-audit$0.04 USDC

Audit 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

FieldRequiredNotes
textNostring
jsonNostring
csvNostring
fileNoobject; Object
brandsNoarray; Array
productsNoarray; Array
listingsNoarray; Array
imagesNoarray; Array
authorizedSellersNoarray; Array
registrationsNoarray; Array
rulesNoarray; 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": ""
    }
  ]
}
JSON
POSThttps://brainiac.software/api/v1/brand-protection/marketplace-listing-compare$0.05 USDC

Compare 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

FieldRequiredNotes
textNostring
jsonNostring
csvNostring
fileNoobject; Object
brandsNoarray; Array
productsNoarray; Array
listingsNoarray; Array
imagesNoarray; Array
authorizedSellersNoarray; Array
registrationsNoarray; Array
rulesNoarray; 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"
    }
  ]
}
JSON
POSThttps://brainiac.software/api/v1/brand-protection/intellectual-property-evidence-package$0.05 USDC

Package 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

FieldRequiredNotes
textNostring
jsonNostring
csvNostring
fileNoobject; Object
brandsNoarray; Array
productsNoarray; Array
listingsNoarray; Array
imagesNoarray; Array
authorizedSellersNoarray; Array
registrationsNoarray; Array
rulesNoarray; 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"
    }
  ]
}
JSON
POSThttps://brainiac.software/api/v1/brand-protection/investigation-report$0.12 USDC

Report 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

FieldRequiredNotes
textNostring
jsonNostring
csvNostring
fileNoobject; Object
brandsNoarray; Array
productsNoarray; Array
listingsNoarray; Array
imagesNoarray; Array
authorizedSellersNoarray; Array
registrationsNoarray; Array
rulesNoarray; 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