Indicia Tools API
The tools API from Indicia — 6 operation(s) for tools.
The tools API from Indicia — 6 operation(s) for tools.
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/indicia-app:indicia-app-tools-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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: Indicia Tools API
description: 'Programmatically access Indicia''s features with an API key or OAuth 2.1.
**API keys** - create one in the Indicia Dashboard and send it as `x-api-key`.
**OAuth** - register a public client (or use the CLI), send the user through the authorization code or device code flow, then send the access token as `Authorization: Bearer`. Request `resource=https://api.indicia.app` at the token endpoint so the JWT is audience-bound to this API.
A JavaScript SDK is available at `@indiciaosint/sdk`. The CLI is `@indiciaosint/cli` (`indicia login`).'
version: 1.0.0
servers:
- url: https://api.indicia.app
security:
- ApiKey: []
- OAuth2: []
tags:
- name: Tools
paths:
/v1/tools/appstore:
post:
operationId: searchAppStore
tags:
- Tools
summary: App Store Search
description: Look up app and developer details from the app stores.
responses:
'200':
description: Search successful
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
data:
type: object
properties:
apps:
type: array
items:
type: object
properties:
appId:
type: string
contentRating:
anyOf:
- type: string
- type: 'null'
currency:
anyOf:
- type: string
- type: 'null'
description:
anyOf:
- type: string
- type: 'null'
developer:
anyOf:
- type: string
- type: 'null'
developerAddress:
anyOf:
- type: string
- type: 'null'
developerEmail:
anyOf:
- type: string
- type: 'null'
developerId:
anyOf:
- type: string
- type: 'null'
developerWebsite:
anyOf:
- type: string
- type: 'null'
free:
anyOf:
- type: boolean
- type: 'null'
genre:
anyOf:
- type: string
- type: 'null'
headerImage:
anyOf:
- type: string
- type: 'null'
icon:
anyOf:
- type: string
- type: 'null'
installs:
anyOf:
- type: string
- type: 'null'
price:
anyOf:
- type: number
- type: 'null'
priceText:
anyOf:
- type: string
- type: 'null'
privacyPolicy:
anyOf:
- type: string
- type: 'null'
ratings:
anyOf:
- type: number
- type: 'null'
released:
anyOf:
- type: string
- type: 'null'
score:
anyOf:
- type: number
- type: 'null'
screenshots:
anyOf:
- type: array
items:
type: string
- type: 'null'
store:
enum:
- apple
- google
summary:
anyOf:
- type: string
- type: 'null'
title:
anyOf:
- type: string
- type: 'null'
updated:
anyOf:
- type: string
- type: 'null'
url:
anyOf:
- type: string
- type: 'null'
version:
anyOf:
- type: string
- type: 'null'
video:
anyOf:
- type: string
- type: 'null'
required:
- appId
- contentRating
- currency
- description
- developer
- developerAddress
- developerEmail
- developerId
- developerWebsite
- free
- genre
- headerImage
- icon
- installs
- price
- priceText
- privacyPolicy
- ratings
- released
- score
- screenshots
- store
- summary
- title
- updated
- url
- version
- video
query:
type: string
store:
enum:
- apple
- google
required:
- apps
- query
- store
error:
type: string
required:
- success
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/FailedResponse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
query:
type: string
store:
enum:
- apple
- google
required:
- query
/v1/tools/crypto:
post:
operationId: analyzeCryptoAddress
tags:
- Tools
summary: Crypto Address Analyzer
description: Check a crypto wallet's balance, tokens, and transactions.
responses:
'200':
description: Analysis successful
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
data:
type: object
properties:
address:
type: string
balance:
type: string
balanceUsd:
anyOf:
- type: number
- type: 'null'
coin:
type: string
explorerUrl:
type: string
label:
anyOf:
- type: string
- type: 'null'
network:
type: string
priceUsd:
anyOf:
- type: number
- type: 'null'
tokens:
type: array
items:
type: object
properties:
amount:
type: string
contract:
anyOf:
- type: string
- type: 'null'
icon:
anyOf:
- type: string
- type: 'null'
name:
anyOf:
- type: string
- type: 'null'
symbol:
anyOf:
- type: string
- type: 'null'
valueUsd:
anyOf:
- type: number
- type: 'null'
required:
- amount
- contract
- icon
- name
- symbol
- valueUsd
totalReceived:
anyOf:
- type: string
- type: 'null'
totalSent:
anyOf:
- type: string
- type: 'null'
transactions:
type: array
items:
type: object
properties:
amount:
anyOf:
- type: string
- type: 'null'
coin:
type: string
counterparty:
anyOf:
- type: string
- type: 'null'
direction:
anyOf:
- const: in
- const: out
- const: self
- type: 'null'
fee:
anyOf:
- type: string
- type: 'null'
hash:
type: string
status:
anyOf:
- type: string
- type: 'null'
timestamp:
anyOf:
- type: string
- type: 'null'
url:
anyOf:
- type: string
- type: 'null'
required:
- amount
- coin
- counterparty
- direction
- fee
- hash
- status
- timestamp
- url
txCount:
anyOf:
- type: number
- type: 'null'
chainabuse:
anyOf:
- type: object
properties:
reports:
type: array
items:
type: object
properties:
category:
type: string
createdAt:
type: string
description:
type: string
required:
- category
url:
type: string
required:
- reports
- url
- type: 'null'
required:
- address
- balance
- balanceUsd
- coin
- explorerUrl
- label
- network
- priceUsd
- tokens
- totalReceived
- totalSent
- transactions
- txCount
error:
type: string
required:
- success
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/FailedResponse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
address:
type: string
chainabuse:
type: boolean
network:
type: string
required:
- address
/v1/tools/doublecounter:
post:
operationId: bypassDoubleCounter
tags:
- Tools
summary: Bypass Double Counter URL
description: Get past a Discord server's Double Counter verification page.
responses:
'200':
description: Bypass successful
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
error:
type: string
required:
- success
'402':
description: Payment Required - Insufficient Credits
content:
application/json:
schema:
$ref: '#/components/schemas/FailedResponse'
'500':
description: Bypass failed
content:
application/json:
schema:
$ref: '#/components/schemas/FailedResponse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
url:
type: string
required:
- url
/v1/tools/intelx:
post:
operationId: downloadIntelxFile
tags:
- Tools
summary: Download IntelX file
description: Download a file from IntelX storage. Use storageId and bucket for a file, or systemId for a stealer log. Not all stealer logs are downloadable; failed requests still charge credits.
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
data:
type: string
required:
- success
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/FailedResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/FailedResponse'
requestBody:
required: true
content:
application/json:
schema:
anyOf:
- type: object
properties:
bucket:
enum:
- darknet.i2p
- darknet.tor
- documents.public.scihub
- dumpster
- dumpster.web.1
- dumpster.web.ssn
- leaks.logs
- leaks.private.general
- leaks.public.general
- leaks.public.wikileaks
- pastes
- patent.us
- usenet
- web.gov.ru
- web.public.af
- web.public.ams
- web.public.aq
- web.public.business
- web.public.cee
- web.public.cn
- web.public.com
- web.public.de
- web.public.eu
- web.public.gov
- web.public.info
- web.public.kp
- web.public.mea
- web.public.misc
- web.public.net
- web.public.nord
- web.public.oc
- web.public.org
- web.public.peer
- web.public.ru
- web.public.social
- web.public.tech
- web.public.we
- whois
storageId:
type: string
required:
- bucket
- storageId
- type: object
properties:
bucket:
const: leaks.logs
systemId:
type: string
required:
- bucket
- systemId
/v1/tools/link-resolver:
post:
operationId: resolveLink
tags:
- Tools
summary: Resolve Share Link
description: Find who shared a link, or decode the identifiers it exposes. Supports TikTok /t/ share links, Discord invite and channel links, and Microsoft SharePoint share links.
responses:
'200':
description: Link resolved
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
data:
type: object
properties:
platform:
enum:
- discord
- instagram
- microsoft
- tiktok
provenance:
type: string
author:
type: object
properties:
avatarUrl:
type: string
displayName:
type: string
username:
type: string
email:
type: string
sharer:
type: object
properties:
id:
type: string
username:
type: string
avatarUrl:
type: string
createdAt:
type: string
displayName:
type: string
followerCount:
type: number
followingCount:
type: number
heartCount:
type: number
privateAccount:
type: boolean
signature:
type: string
videoCount:
type: number
required:
- id
- username
target:
type: object
properties:
channelCreatedAt:
type: string
channelId:
type: string
type:
enum:
- dm
- guild-channel
- guild-message
guildCreatedAt:
type: string
guildId:
type: string
messageCreatedAt:
type: string
messageId:
type: string
required:
- channelCreatedAt
- channelId
- type
required:
- platform
- provenance
error:
type: string
required:
- success
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/FailedResponse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
url:
type: string
required:
- url
/v1/tools/virustotal:
post:
operationId: downloadVirusTotalFile
tags:
- Tools
summary: Download VirusTotal file
description: Download a file from VirusTotal.
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
data:
type: object
properties:
id:
type: string
size:
type: number
content:
type: string
contentType:
type: string
downloadUrl:
type: string
encoding:
type: string
expiresAt:
type: string
filename:
type: string
required:
- id
- size
error:
type: string
required:
- success
'402':
description: Payment Required
content:
application/json:
schema:
$ref: '#/components/schemas/FailedResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/FailedResponse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: string
required:
- id
components:
schemas:
FailedResponse:
type: object
title: FailedResponse
description: A failed API response.
required:
- success
properties:
success:
type: boolean
description: Always `false` for error responses.
error:
type: string
description: Human-readable error message.
securitySchemes:
ApiKey:
type: apiKey
in: header
name: x-api-key
description: API key for authenticating requests. Obtain a key from [Indicia Dashboard](https://indicia.app/dashboard/account)
OAuth2:
type: http
scheme: bearer
bearerFormat: JWT
description: OAuth 2.1 access token issued by https://indicia.app/api/auth. Audience must be this API.