Numbers Protocol
  • 📓Introduction
    • Numbers Protocol
      • Defining Web3 Assets
        • Assetization Process
        • Numbers ID (Nid)
        • Non-Fungible Tokens
        • Commit
        • AssetTree
          • integrityCid
          • digitalSourceType
          • miningPreference
          • nftRecord
        • Commit and AssetTree example
      • Glossary
      • Solution Stack
      • Use Cases
      • Roadmap & Milestones
      • Principles & Standards
    • Whitepaper
    • NUM Token
      • Get NUM
      • Bridge to Multiple Chains
      • Stake NUM
      • Liquidity Providers
      • NUM Utility
      • Token Allocation
      • Deflationary Token Economy
      • Audit Report
      • Distribution and Other Activities
      • Manage your NUM in Cold Wallet
      • 🛠️Developer Tools
    • NumbersDAO
      • Roles & Responsibilities
      • Become A DAO Member
      • Governance & Voting Rules - v2.0
      • [Deprecated] Governance Rules v1.0
    • Weekly Summary
      • 2023
        • 13 Jan 2023
        • 20 Jan 2023
        • 27 Jan 2023
        • 3 Feb 2023
        • 10 Feb 2023
        • 17 Feb 2023
        • 24 Feb 2023
        • 3 Mar 2023
        • 10 March 2023
        • 17 Mar 2023
        • 24 Mar 2023
        • 31 Mar 2023
        • 7 Apr 2023
        • 14 Apr 2023
        • 21 Apr 2023
        • 28 Apr 2023
        • 5 May 2023
        • 12 May 2023
        • 19 May 2023
        • 26 May 2023
        • 2 June 2023
        • 9 June 2023
        • 16 June 2023
        • 23 June 2023
        • 30 June 2023
        • 7 July 2023
        • 14 July 2023
        • 21 July 2023
        • 28 July 2023
        • 4 Aug 2023
        • 11 Aug 2023
        • 18 Aug 2023
        • 25 Aug 2023
        • 01 Sep 2023
        • 08 Sep 2023
        • 15 Sep 2023
        • 22 Sep 2023
        • 29 Sep 2023
        • 6 Oct 2023
        • 13 Oct 2023
        • 20 Oct 2023
        • 27 Oct 2023
        • 3 Nov 2023
        • 10 Nov 2023
        • 17 Nov 2023
        • 24 Nov 2023
        • 1 Dec 2023
        • 8 Dec 2023
        • 15 Dec 2023
        • 22 Dec 2023
        • 29 Dec 2023
      • 2024
        • 5 Jan 2024
        • 12 Jan 2024
        • 19 Jan 2024
        • 26 Jan 2024
        • 2 Feb 2024
        • 9 Feb 2024
        • 16 Feb 2024
        • 23 Feb 2024
        • 1 Mar 2024
        • 8 Mar 2024
        • 15 Mar 2024
        • 22 Mar 2024
        • 29 Mar 2024
        • 5 Apr 2024
        • 12 Apr 2024
        • 19 Apr 2024
        • 26 Apr 2024
        • 3 May 2024
        • 10 May 2024
        • 17 May 2024
        • 24 May 2024
        • 31 May 2024
        • 7 June 2024
        • 14 June 2024
        • 21 June 2024
        • 28 June 2024
        • 5 July 2024
        • 12 July 2024
        • 19 July 2024
        • 26 July 2024
        • 2 Aug 2024
        • 9 Aug 2024
        • 16 Aug 2024
        • 23 Aug 2024
        • 30 Aug 2024
        • 6 Sep 2024
        • 13 Sep 2024
        • 20 Sep 2024
        • 27 Sep 2024
        • 4 Oct 2024
        • 11 Oct 2024
        • 18 Oct 2024
        • 25 Oct 2024
        • 1 Nov 2024
        • 8 Nov 2024
        • 15 Nov 2024
        • 22 Nov 2024
        • 29 Nov 2024
        • 6 Dec 2024
        • 13 Dec 2024
        • 20 Dec 2024
        • 27 Dec 2024
      • 2025
        • 3 Jan 2025
        • 10 Jan 2025
        • 17 Jan 2025
        • 24 Jan 2025
        • 31 Jan 2025
        • 7 Feb 2025
        • 14 Feb 2025
        • 21 Feb 2025
        • 28 Feb 2025
        • 7 Mar 2025
        • 14 Mar 2025
        • 21 Mar 2025
        • 28 Mar 2025
        • 4 Apr 2025
        • 11 Apr 2025
    • Community Wiki
    • FAQ
      • What is provenance and how does it work?
      • What is C2PA and why do we need it?
      • What's the role of Numbers in AI?
      • What's the difference between Numbers and NFT
      • What's the difference between Numbers and C2PA
      • How can Numbers assist songwriters and artists?
      • Why Numbers needs its own blockchain?
      • Why Numbers Mainnet is permissioned?
      • Does Numbers support other blockchain?
      • How is the Nid generated?
      • Should I mint NFT or commit with "license-to" action?
      • Environmental impact of Numbers Mainnet
      • How do I get or bridge Mainnet/BEP-20/ERC-20 NUM?
      • What is Numbers Protocol's role in the AI space?
    • Partnership Programs
      • Creative Origins
      • Creative Innovators
      • Provenance Pioneers
  • 🌐Applications
    • User Tutorials
    • Verify Engine
      • Support Status
      • Search UI Interface
      • Asset Profile
      • Advanced Search & URL Parameters
    • Capture
  • 🛠️Developers
    • Numbers Blockchain
      • Testnet (Snow)
        • Testnet Launch PR
      • Mainnet (Jade)
      • Contract Overview
      • Commit Contract
        • How Commit Contract Works
        • assetTree File
        • On-chain Commit Logs
        • When Should You Use Commit Contract?
      • NFT Contract
    • Initial Asset Registration
    • Verify Engine API
      • Asset Search
      • NFT Search
      • Theft Detection
      • Support Status
    • Nit - Git for Media Files
      • Getting Started
      • Nit Bubble Plugin
    • Read Asset History
      • Read commits with Asset Profile
        • Embed social media into asset profile
      • Read commits via API
      • Read commits via nit module
      • Read commits via Bubble plugin
      • Get the merged AssetTree
    • Commit Asset History
      • Support Status
      • Commit via API
      • Commit via Nit module
      • Commit via Bubble plugin
    • More Tools
      • [NUM] Fetch NUM balance
      • [NUM] Transfer NUM from Custodial Wallet
      • [NUM] Check Staked Amount
      • [IPFS] Cat metadata from Nid/Cid
      • [IPFS] Create Metadata on IPFS
      • [IPFS] Check Nid/Cid on IPFS
      • [IPFS] Unpin Nid/Cid from IPFS
      • XMP parser
    • Working With Us
      • Job Opportunity
      • Reporting Security Vulnerability
Powered by GitBook
On this page
  1. Developers
  2. Verify Engine API

Asset Search

PreviousVerify Engine APINextNFT Search

Last updated 11 months ago

This API offers a seamless solution for discovering and retrieving digital assets that have been registered within the Web3 ecosystem. Upon uploading a file or fileURLor using input nid the API will return the exact of the requested asset if it has been previously minted as an NFT or registered on the Numbers network. Additionally, a list of similar assets will be provided for further exploration. Authorization to access the API requires a valid . If you do not already have a Capture Token yet, please follow provided to create one.

The Numbers API is a pay-as-you-go system, which means you only pay for the API calls you make. This is a cost-effective way to use the API and it allows you to control your expenses. Make sure to and ensure sufficient funds in your wallet in the form of Credits or NUM to cover the cost. Payment for services is processed using NUM; if you want to know how much it costs in USD, you can check or .

API Endpoint: https://eoo9pxiv5yxg0za.m.pipedream.net

Cost: 0.2 NUM + Gas (~0.004 NUM per transaction) per API call. No Gas is required if paid with Credits.

Method: POST

Description:
This API finds digital assets registered on the Web3 network, by returning the exact Nid along with a list of similar assets if the requested file has been previously minted as NFT or registered on the Numbers network

Authentication:
This API requires a valid token for Authorization. The token should be passed in the headers of the request using the following format: "Authorization: token YOUR_CAPTURE_TOKEN"

Header:
Authorization: token $YOUR_CAPTURE_TOKEN (required)
Content-Type: application/json

Request Body (required):
fileURL (string) or 
file (object) or
nid (string)
One of the three above must be provided

Request Body (optional):
threshold (float): distance threshold applied to filter similar results. The smaller the threshold, the tighter the restriction is. (No threshold is applied by default.)
sampleCount (int): how many similar results to be returned (default: 10) 
isAssetTree (boolen): set this to true if the input is an AssetTree file. The API will look for the assetCid in the AssetTree for you.

Example 1 (direct file upload):
curl -F "file=@/tmp/MYFILE.png" \
     -H "Authorization: token YOUR_CAPTURE_TOKEN" \
     "https://eoo9pxiv5yxg0za.m.pipedream.net" 

Example 2 (upload via URL)
curl -X POST "https://eoo9pxiv5yxg0za.m.pipedream.net" \
     -H "Content-Type: application/json" \
     -H "Authorization: token YOUR_CAPTURE_TOKEN" \
     -d '{
         "fileURL": YOUR_FILE_URL,
         "threshold": 0.12
     }'

Response:
{
    "preciseSearch": nid, // Nid of the precise search result if found
    "inputFileMimetypr": mimetype, // Minetype of the input file
    "similarSearch": {
        "nids": list_of_similar_asset_nids, 
        "distance": list_of_asset_distanct
    }, 
    "orderID": string // ID of this order
}

200: File has been pinned successfully
400: Bad request
401: Unauthorized
403: Forbidden
500: Internal Server Error

In this example, you would replace YOUR_CAPTURE_TOKEN with your actual Capture token and /tmp/MYFILE.png with the actual file on your filesystem.

If the preciseSearch shows empty, meaning the asset has not yet been registered before. In general, a distance less than 0.12 means that AI model identified the images are really similar. If the distance between the result nid and your original asset is less than 0.12, it is very likely they are the same assets but one being modified slightly.

More examples can be found below:

import requests

url = "https://eoo9pxiv5yxg0za.m.pipedream.net"
headers = {
    "Content-Type": "application/json",
    "Authorization": "token YOUR_CAPTURE_TOKEN"
}
data = {
  "fileURL": FILE_URL,
  "sampleCount": 30
}

response = requests.post(url, headers=headers, json=data)

if response.status_code == 200:
    response_json = response.json()
    print(response_json)
else:
    print("Request failed with status code:", response.status_code)
const request = require("request");

const url = "https://eoo9pxiv5yxg0za.m.pipedream.net";
const headers = {
  "Content-Type": "application/json",
  "Authorization": "token YOUR_CAPTURE_TOKEN"
};

const data = {
  "fileURL": FILE_URL
};

request.post(
  {
    url,
    headers,
    json: data
  },
  function(error, response, body) {
    console.log(body);
  }
);
🛠️
Nid
Capture Token
the instruction
top up
CoinGecko
CoinMarketCap