Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API 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.
openapi: 3.2.0
info:
title: Indicia Unified 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: unified
paths:
/v1/search/unified:
post:
operationId: searchUnified
tags:
- unified
summary: Unified Search
description: Search every matching source at once with one query.
responses:
'200':
description: Search completed (partial failures reported per feature)
content:
application/json:
schema:
type: object
properties:
results:
type: object
additionalProperties: {}
success:
type: boolean
type:
enum:
- domain
- email
- ip
- phone
- username
required:
- results
- success
- type
'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:
type: object
properties:
query:
type: string
minLength: 1
type:
enum:
- domain
- email
- ip
- phone
- username
usIntel:
type: boolean
required:
- query
- type
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.