Heuritech Discovery API
The WordPress metadata routes describing which post types, taxonomies and post statuses heuritech.com exposes — the self-description layer an agent reads before querying the content collections.
The WordPress metadata routes describing which post types, taxonomies and post statuses heuritech.com exposes — the self-description layer an agent reads before querying the content 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/heuritech-discovery-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: Heuritech Content API (WordPress REST wp/v2) Discovery API
version: wp/v2
summary: 'Public read surface of the heuritech.com content estate: blog posts, pages, media, comments, taxonomy, authors and site search.'
description: 'Heuritech publishes heuritech.com on WordPress (WordPress.com Atomic + Jetpack), which exposes the WordPress REST API at https://heuritech.com/wp-json/. The wp/v2 namespace is anonymously readable and returns the company blog, marketing and legal pages, media library, reader comments, editorial taxonomy, author profiles and a site-wide search endpoint as JSON.
This document was DERIVED mechanically by API Evangelist from the route-discovery document served at https://heuritech.com/wp-json/ on 2026-08-17 — every path, method and parameter below is taken verbatim from that descriptor. Heuritech publishes no OpenAPI definition of its own, and this is NOT the Heuritech product API: the commercial Heuritech trend-data API is sold on the Business and Enterprise plans and has no public documentation, base URL or specification. Only GET operations are modelled here; the write operations WordPress registers on these same routes require authentication (WordPress Application Passwords over HTTP Basic).'
contact:
name: Heuritech
url: https://heuritech.com/
x-derived-by: API Evangelist enrichment pipeline
x-derived-from: https://heuritech.com/wp-json/
x-derived-on: '2026-08-17'
x-provider-published: false
servers:
- url: https://heuritech.com/wp-json
description: Production
tags:
- name: Discovery
description: WordPress metadata routes describing the post types, taxonomies and post statuses this site exposes.
paths:
/wp/v2/types:
get:
operationId: getTypes
summary: GET /wp/v2/types
description: WordPress metadata routes describing the post types, taxonomies and post statuses this site exposes.
tags:
- Discovery
parameters:
- name: context
in: query
required: false
schema:
type: string
enum:
- view
- embed
- edit
default: view
description: Scope under which the request is made; determines fields present in response.
responses:
'200':
description: Success. Collection responses carry X-WP-Total and X-WP-TotalPages headers.
headers:
X-WP-Total:
description: Total number of items in the collection.
schema:
type: integer
X-WP-TotalPages:
description: Total number of pages available.
schema:
type: integer
content:
application/json:
schema:
type: array
items:
type: object
'400':
description: 'Invalid parameter. WordPress error envelope: {code, message, data:{status}}.'
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'401':
description: Authentication required for this context or resource (rest_forbidden / rest_cannot_read).
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource matched the request (rest_no_route / rest_post_invalid_id).
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
/wp/v2/types/{type}:
get:
operationId: getTypesType
summary: GET /wp/v2/types/{type}
description: WordPress metadata routes describing the post types, taxonomies and post statuses this site exposes.
tags:
- Discovery
parameters:
- name: type
in: path
required: true
schema:
type: string
description: An alphanumeric identifier for the post type.
- name: context
in: query
required: false
schema:
type: string
enum:
- view
- embed
- edit
default: view
description: Scope under which the request is made; determines fields present in response.
responses:
'200':
description: Success. Collection responses carry X-WP-Total and X-WP-TotalPages headers.
headers:
X-WP-Total:
description: Total number of items in the collection.
schema:
type: integer
X-WP-TotalPages:
description: Total number of pages available.
schema:
type: integer
content:
application/json:
schema:
type: object
'400':
description: 'Invalid parameter. WordPress error envelope: {code, message, data:{status}}.'
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'401':
description: Authentication required for this context or resource (rest_forbidden / rest_cannot_read).
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource matched the request (rest_no_route / rest_post_invalid_id).
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
/wp/v2/taxonomies:
get:
operationId: getTaxonomies
summary: GET /wp/v2/taxonomies
description: WordPress metadata routes describing the post types, taxonomies and post statuses this site exposes.
tags:
- Discovery
parameters:
- name: context
in: query
required: false
schema:
type: string
enum:
- view
- embed
- edit
default: view
description: Scope under which the request is made; determines fields present in response.
- name: type
in: query
required: false
schema:
type: string
description: Limit results to taxonomies associated with a specific post type.
responses:
'200':
description: Success. Collection responses carry X-WP-Total and X-WP-TotalPages headers.
headers:
X-WP-Total:
description: Total number of items in the collection.
schema:
type: integer
X-WP-TotalPages:
description: Total number of pages available.
schema:
type: integer
content:
application/json:
schema:
type: array
items:
type: object
'400':
description: 'Invalid parameter. WordPress error envelope: {code, message, data:{status}}.'
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'401':
description: Authentication required for this context or resource (rest_forbidden / rest_cannot_read).
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource matched the request (rest_no_route / rest_post_invalid_id).
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
/wp/v2/taxonomies/{taxonomy}:
get:
operationId: getTaxonomiesTaxonomy
summary: GET /wp/v2/taxonomies/{taxonomy}
description: WordPress metadata routes describing the post types, taxonomies and post statuses this site exposes.
tags:
- Discovery
parameters:
- name: taxonomy
in: path
required: true
schema:
type: string
description: An alphanumeric identifier for the taxonomy.
- name: context
in: query
required: false
schema:
type: string
enum:
- view
- embed
- edit
default: view
description: Scope under which the request is made; determines fields present in response.
responses:
'200':
description: Success. Collection responses carry X-WP-Total and X-WP-TotalPages headers.
headers:
X-WP-Total:
description: Total number of items in the collection.
schema:
type: integer
X-WP-TotalPages:
description: Total number of pages available.
schema:
type: integer
content:
application/json:
schema:
type: object
'400':
description: 'Invalid parameter. WordPress error envelope: {code, message, data:{status}}.'
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'401':
description: Authentication required for this context or resource (rest_forbidden / rest_cannot_read).
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource matched the request (rest_no_route / rest_post_invalid_id).
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
/wp/v2/statuses:
get:
operationId: getStatuses
summary: GET /wp/v2/statuses
description: WordPress metadata routes describing the post types, taxonomies and post statuses this site exposes.
tags:
- Discovery
parameters:
- name: context
in: query
required: false
schema:
type: string
enum:
- view
- embed
- edit
default: view
description: Scope under which the request is made; determines fields present in response.
responses:
'200':
description: Success. Collection responses carry X-WP-Total and X-WP-TotalPages headers.
headers:
X-WP-Total:
description: Total number of items in the collection.
schema:
type: integer
X-WP-TotalPages:
description: Total number of pages available.
schema:
type: integer
content:
application/json:
schema:
type: array
items:
type: object
'400':
description: 'Invalid parameter. WordPress error envelope: {code, message, data:{status}}.'
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'401':
description: Authentication required for this context or resource (rest_forbidden / rest_cannot_read).
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource matched the request (rest_no_route / rest_post_invalid_id).
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
/wp/v2/statuses/{status}:
get:
operationId: getStatusesStatus
summary: GET /wp/v2/statuses/{status}
description: WordPress metadata routes describing the post types, taxonomies and post statuses this site exposes.
tags:
- Discovery
parameters:
- name: status
in: path
required: true
schema:
type: string
description: An alphanumeric identifier for the status.
- name: context
in: query
required: false
schema:
type: string
enum:
- view
- embed
- edit
default: view
description: Scope under which the request is made; determines fields present in response.
responses:
'200':
description: Success. Collection responses carry X-WP-Total and X-WP-TotalPages headers.
headers:
X-WP-Total:
description: Total number of items in the collection.
schema:
type: integer
X-WP-TotalPages:
description: Total number of pages available.
schema:
type: integer
content:
application/json:
schema:
type: object
'400':
description: 'Invalid parameter. WordPress error envelope: {code, message, data:{status}}.'
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'401':
description: Authentication required for this context or resource (rest_forbidden / rest_cannot_read).
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No route or resource matched the request (rest_no_route / rest_post_invalid_id).
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
components:
schemas:
WPError:
type: object
description: The WordPress REST API error envelope returned on every 4xx/5xx.
properties:
code:
type: string
description: Machine-readable error code, e.g. rest_no_route.
message:
type: string
description: Human-readable error message.
data:
type: object
properties:
status:
type: integer
required:
- code
- message