reqistry-dev Growth API
Trust scores, stack, comparison, change feed, and curated collections
Trust scores, stack, comparison, change feed, and curated collections
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/reqistry-dev:reqistry-dev-growth-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: Public APIs — Mobile Client Growth API
description: 'API reference for the Public APIs Flutter mobile app. Includes anonymous device auth, email/password account linking, profile management, bookmarks, folders, discovery, categories, search, and legacy JSON endpoints.
## Authentication
Bearer-protected endpoints require:
```
Authorization: Bearer
```
Tokens are obtained via `POST /v1/auth/anonymous` or `POST /v1/auth/login-email`.
Public endpoints (no token required): `POST /submit`, `POST /v1/apis` (auth optional, enables submission attribution), `POST /v1/auth/anonymous`, `POST /v1/auth/refresh`, `POST /v1/auth/revoke`, `POST /v1/auth/login-email`, `GET /v1/recently-added`, `GET /v1/recommend` (auth optional, personalizes with bookmarks), `GET /v1/apis/{slug}`, `GET /v1/apis/{id}/alternatives`, `GET /v1/trust-scores/{id}`, `GET /v1/apis/compare`, `GET /v1/change-feed`, `GET /v1/use-case-collections`, categories (unversioned and `/v1` aliases), `GET /search`, `GET /metadata`, `POST /track`, and `POST /admin/v1/contact-messages`. Every other `/v1/*` operation requires a Bearer token.
## Account Types
- **Anonymous**: Device-only, no email. Data tied to device fingerprint.
- **Email-linked**: Has email + password. Can login from any device. Data merges on link.
## Token Lifecycle
- **Access token**: 15 minutes, used for API requests
- **Refresh token**: 30 days, used to rotate access tokens
- Refreshing a token invalidates the old one (single-use rotation)
- Revoking deactivates all tokens for a device'
version: 1.0.0
contact:
name: Public APIs
url: '---'
servers:
- url: http://localhost:4000
description: Local development
- url: '---'
description: Production
tags:
- name: Growth
description: Trust scores, stack, comparison, change feed, and curated collections
paths:
/v1/trust-scores/{id}:
get:
tags:
- Growth
summary: Get API trust score
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Trust score
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
apiId:
type: string
slug:
type: string
name:
type: string
trustScore:
$ref: '#/components/schemas/TrustScore'
operationId: getTrustScore
/v1/apis/compare:
get:
tags:
- Growth
summary: Compare APIs
parameters:
- name: ids
in: query
required: true
schema:
type: string
description: Comma-separated 2-4 API ids or slugs
responses:
'200':
description: Compared APIs
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/CompareApi'
operationId: compareApis
description: Side-by-side comparison of 2 to 8 APIs.
/v1/change-feed:
get:
tags:
- Growth
summary: Recent API change feed
parameters:
- name: limit
in: query
schema:
type: integer
minimum: 1
maximum: 50
- name: since
in: query
description: Only events after this ISO datetime
schema:
type: string
format: date-time
- name: q
in: query
description: Keyword filter on event titles
schema:
type: string
maxLength: 100
responses:
'200':
description: Recent change events with API context
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/ChangeFeedEvent'
operationId: getChangeFeed
/v1/use-case-collections:
get:
tags:
- Growth
summary: Curated API use-case collections
responses:
'200':
description: Curated collections with APIs
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/UseCaseCollection'
operationId: getUseCaseCollections
/v1/stack:
get:
tags:
- Growth
summary: Current user API stack
security:
- bearerAuth: []
responses:
'200':
description: Stack summary, per-project health, and saved APIs
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: object
required:
- summary
- projects
- savedApis
properties:
summary:
$ref: '#/components/schemas/StackSummary'
projects:
type: array
items:
$ref: '#/components/schemas/StackProjectSummary'
savedApis:
type: array
items:
$ref: '#/components/schemas/CompareApi'
operationId: getStack
/v1/ship-check:
post:
tags:
- Growth
summary: Ship-check verdict
description: Production-safety verdict for one API by id or slug. Accepts a Bearer session or an X-Agent-Key header.
operationId: shipCheck
security:
- bearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
apiId:
type: string
slug:
type: string
responses:
'200':
description: Verdict
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
$ref: '#/components/schemas/ShipCheckReport'
'400':
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Not authenticated
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: API not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/v1/stack/history:
get:
tags:
- Growth
summary: Stack history
description: Daily stack snapshots, newest first.
operationId: getStackHistory
security:
- bearerAuth: []
responses:
'200':
description: History
content:
application/json:
schema:
type: object
required:
- data
properties:
data:
type: array
items:
$ref: '#/components/schemas/StackHistoryItem'
'401':
description: Not authenticated
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
TrustFactor:
type: object
required:
- score
- weight
- label
properties:
score:
type: integer
minimum: 0
maximum: 100
weight:
type: integer
label:
type: string
StackHistoryItem:
type: object
required:
- id
- downCount
- apiCount
- createdAt
properties:
id:
type: string
downCount:
type: integer
avgTrust:
type:
- integer
- 'null'
apiCount:
type: integer
createdAt:
type: string
format: date-time
UseCaseCollection:
type: object
required:
- id
- title
- description
- apis
properties:
id:
type: string
title:
type: string
description:
type: string
filters:
type: object
description: Category/pricing/auth filters backing the set
apis:
type: array
items:
$ref: '#/components/schemas/CompareApi'
Error:
type: object
properties:
error:
type: string
required:
- error
ShipCheckReport:
type: object
required:
- apiId
- slug
- name
- verdict
- score
- grade
- checks
properties:
apiId:
type: string
slug:
type: string
name:
type: string
verdict:
type: string
enum:
- ship
- caution
- avoid
score:
type: integer
minimum: 0
maximum: 100
grade:
type: string
summary:
type:
- string
- 'null'
factors:
type: object
checks:
type: object
properties:
health:
type: string
enum:
- pass
- fail
- unknown
https:
type: string
enum:
- pass
- fail
- unknown
documentation:
type: string
enum:
- pass
- fail
- unknown
rateLimit:
type: string
enum:
- pass
- fail
- unknown
auth:
type: string
enum:
- pass
- fail
- unknown
computedAt:
type: string
format: date-time
TrustScore:
type: object
required:
- score
- grade
- summary
- factors
properties:
score:
type: integer
minimum: 0
maximum: 100
grade:
type: string
enum:
- A
- B
- C
- D
- F
summary:
type: string
computedAt:
type: string
format: date-time
nullable: true
factors:
type: object
additionalProperties:
$ref: '#/components/schemas/TrustFactor'
ChangeFeedEvent:
type: object
required:
- id
- eventType
- title
- createdAt
- api
properties:
id:
type: string
eventType:
type: string
title:
type: string
details:
type: object
description: Event-specific key/value details
createdAt:
type: string
format: date-time
api:
type: object
required:
- id
- slug
- name
properties:
id:
type: string
slug:
type: string
name:
type: string
category:
type: object
properties:
name:
type: string
slug:
type: string
CompareApi:
type: object
properties:
id:
type: string
format: uuid
slug:
type: string
name:
type: string
category:
type: string
trustScore:
$ref: '#/components/schemas/TrustScore'
authType:
type: string
pricingType:
type: string
rateLimit:
type: string
nullable: true
sdkLanguages:
type: array
items:
type: string
responseTimeMs:
type: integer
nullable: true
uptime30d:
type: number
nullable: true
cors:
type: string
https:
type: boolean
nullable: true
openApiAvailable:
type: boolean
documentationUrl:
type: string
nullable: true
lastVerifiedAt:
type: string
format: date-time
nullable: true
StackProjectSummary:
type: object
required:
- id
- title
- apiCount
- downCount
- apis
properties:
id:
type: string
title:
type: string
apiCount:
type: integer
minimum: 0
downCount:
type: integer
minimum: 0
averageTrustScore:
type:
- integer
- 'null'
minimum: 0
maximum: 100
apis:
type: array
items:
$ref: '#/components/schemas/CompareApi'
StackSummary:
type: object
required:
- apiCount
- projectCount
- downCount
properties:
apiCount:
type: integer
minimum: 0
projectCount:
type: integer
minimum: 0
downCount:
type: integer
minimum: 0
averageTrustScore:
type:
- integer
- 'null'
minimum: 0
maximum: 100
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Anonymous device access token from POST /v1/auth/anonymous