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: FactReason Agent Components API
version: 2.1.0
description: Public access, discovery, correction, and paid reference-data routes. Catalogue results remain protected by Bearer-key or x402 authorization.
servers:
- url: https://factreason.com
security:
- bearerAuth: []
tags:
- name: Components
paths:
/api/v1/components:
get:
summary: Search electronic components
description: 'Paid: $0.001 per successful query (tier `component_lookup`). Misses, HTTP 304 revalidations and rate-limited requests are never billed.'
parameters:
- name: q
in: query
required: false
schema:
type: string
description: Free-text part or capability search
- name: category
in: query
required: false
schema:
type: string
- name: format
in: query
required: false
schema:
type: string
enum:
- full
- compact
description: Use `compact` for a token-reduced body. Same authorization and price as `full`.
- name: limit
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 100
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
responses:
'200':
description: 'Authorized result, or an unbilled miss with `found: false` and nearest matches'
'304':
description: Cached revalidation. Never billed.
'402':
description: Payment required. Carries x402 requirements and key-creation routes only — never any part of the requested record, and identical for a hit and a miss.
'429':
description: Rate limited. Never billed; honour `Retry-After`.
tags:
- Components
operationId: getApiV1Components
x-operation-id-source: derived
/api/v1/components/{partNumber}:
get:
summary: Look up one component by exact part number
description: 'Paid: $0.001 per successful query (tier `component_lookup`). Misses, HTTP 304 revalidations and rate-limited requests are never billed.'
parameters:
- name: partNumber
in: path
required: true
schema:
type: string
description: Exact manufacturer part number, e.g. `STM32F401RE`
- name: format
in: query
required: false
schema:
type: string
enum:
- full
- compact
description: Use `compact` for a token-reduced body. Same authorization and price as `full`.
- name: asOf
in: query
required: false
schema:
type: string
description: Return the record as it stood at this timestamp
responses:
'200':
description: 'Authorized result, or an unbilled miss with `found: false` and nearest matches'
'304':
description: Cached revalidation. Never billed.
'402':
description: Payment required. Carries x402 requirements and key-creation routes only — never any part of the requested record, and identical for a hit and a miss.
'429':
description: Rate limited. Never billed; honour `Retry-After`.
tags:
- Components
operationId: getApiV1ComponentsByPartNumber
x-operation-id-source: derived
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: FactReason API key
externalDocs:
description: FactReason documentation
url: https://factreason.com/docs