Reverse image search over MemeStack's index of memes, infographics, charts and screenshots
Reverse image search over MemeStack's index of memes, infographics, charts and screenshots: send an image URL, get the copies and close variants we hold (whole-picture perceptual-hash match) with captions, tags and image ids, each browsable at memestack.ai/gallery/{id}. 21 sats (USDC equivalent) per call. No account or API key: the x402 (USDC on Base) or L402 (Lightning) payment is the auth.
17000 (raw units)
price
2
calls / 30d
2
unique payers
2026-09-17
updated
Provider
api.memestack.ai · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0xa06C42DAA258595Bc773A0bF032A5Ba55939781a",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "17000",
"maxTimeoutSeconds": 600
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"image_url": "https://example.com/meme.png"
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"input_meta": {
"mime_type": "image/png",
"phash": "a1b2c3d4e5f60718",
"size_bytes": 48213
},
"similar": [
{
"caption": "Distracted boyfriend meme, labelled",
"id": "3f2b6d8e-1c4a-4f0e-9b7d-2a6c8e0f1d23",
"similarity": 87,
"tags": [
{
"name": "Distracted Boyfriend",
"score": 9,
"tag": "distracted_boyfriend"
}
]
}
]
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"image_url": {
"description": "HTTPS URL or data:image/...;base64,... URL of the query image.",
"type": "string"
}
},
"required": [
"image_url"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
},
"l402": {
"info": {
"expiry": "2026-09-17T03:58:38.000Z",
"invoice": "lnbc210n1p42kcckpp5rxpjt6ly2glxd0arcknc3hhsae7u40ujmx3pea83cgc3pcsx9x2qsp5xa4t8ep66fe6g5v0wx4a5ahrcq45y6fcqdlq6px5unv65vvy76fqxqztgnp4qvyndeaqzman7h898jxm98dzkm0mlrsx36s93smrur7h0azyyuxc5rzjqwghf7zxvfkxq5a6sr65g0gdkv768p83mhsnt0msszapamzx2qvuxqqqqrt49lmtcqqqqqqqqqqq86qq9qcqzpuhp5gzffss4zetggc3k3qntqatvenf37k89709m3ll4mjgqewfja9h6q9qyyssq3asn070j6mxdpk8ez2hxdt5qmfewmzdumtwz2g8fpnu7xewc5txzlgq8ly8eweg5zglgfgsdalezxk6mf7sfmpuhjkgx6j56jg2laugphgnjuv",
"macaroon": "v1:eyJ2IjoxLCJwYXltZW50X2hhc2giOiIxOTgzMjVlYmU0NTIzZTY2YmZhM2M1YTc4OGRlZjBlZTdkY2FiZjkyZDlhMjFjZjRmMWMyMzExMGUyMDYyOTk0IiwidG9vbCI6InJldmVyc2VfaW1hZ2Vfc2VhcmNoIiwicHJpY2Vfc2F0cyI6MjEsImV4cCI6MTc4OTYxNzUxOCwibm9uY2UiOiIzYWRjN2Q4ZS1mZjQxLTQzNDgtYmE0MC1iZTBjMmJmZDVhYmIiLCJ2ZXJpZnlfdXJsIjoiaHR0cHM6Ly9sbnVybC5ibGluay5zdi92ZXJpZnkvMTk4MzI1ZWJlNDUyM2U2NmJmYTNjNWE3ODhkZWYwZWU3ZGNhYmY5MmQ5YTIxY2Y0ZjFjMjMxMTBlMjA2Mjk5NCJ9.NzG7xfKbRURvsGcTQcDiIAGumVaTTZh_mkzTSXSXaEA"
},
"schema": {
"description": "L402 Lightning payment offer (experimental MCP extension). Pay the bolt11 invoice, then retry with {macaroon, preimage}.",
"properties": {
"expiry": {
"type": "string"
},
"invoice": {
"type": "string"
},
"macaroon": {
"type": "string"
}
},
"type": "object"
}
}
}Use it
curl
curl "https://api.memestack.ai/v1/agent/reverse-search" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://api.memestack.ai/v1/agent/reverse-search");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://api.memestack.ai/v1/agent/reverse-search")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/12400.json, and this resource appears in /discovery/resources and /discovery/search.