Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/hangingcontext-com:hangingcontext-com-feeds-api"
All apis
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.
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.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Hanging Context public read Feeds API
version: 1.0.0
summary: Free, keyless JSON, Markdown and feeds for Hanging Context stories.
description: 'Hanging Context publishes fresh context for agents. Stories are rebuilt every 12 hours. Each claim cites a Synorb Manifest. Every endpoint here is a read. No key is necessary. The same stories are also available through the MCP server at https://hangingcontext.com/mcp. Version policy: Breaking changes ship as a new version. We announce them at least 90 days ahead with Deprecation and Sunset response headers on the old version, and on the /developers page. Paging uses a cursor. Each REST list holds every story of its window, so the REST files have no cursor. To get only the stories that are new since your last call, call the MCP tool hc_since. It returns next_cursor and has_more, and you send next_cursor in your next call. Rate limit: 60 calls per 60 seconds per IP address for /ask and MCP tool calls.'
termsOfService: https://hangingcontext.com/terms/reuse/
contact:
name: Hanging Context
email: team@synorb.com
url: https://hangingcontext.com/contact/
license:
name: Hanging Context reuse terms
url: https://hangingcontext.com/terms/reuse/
x-api-version: '1'
x-sdks:
- ecosystem: npm
language: JavaScript
package: hanging-context
version: 0.1.0
url: https://www.npmjs.com/package/hanging-context
install: npm install hanging-context
cli: hanging-context
- ecosystem: pypi
language: Python
package: hanging-context
version: 0.1.0
url: https://pypi.org/project/hanging-context/
install: pip install hanging-context
cli: hanging-context
x-pagination:
style: cursor
tool: hc_since
cursor_field: next_cursor
more_field: has_more
note: Paging uses a cursor. Each REST list holds every story of its window, so the REST files have no cursor. To get only the stories that are new since your last call, call the MCP tool hc_since. It returns next_cursor and has_more, and you send next_cursor in your next call.
servers:
- url: https://hangingcontext.com
description: Production
security: []
tags:
- name: Feeds
description: Feeds for readers that poll.
paths:
/editions/feed.json:
get:
operationId: getJsonFeed
tags:
- Feeds
summary: Get the JSON Feed
description: Get all stories as a JSON Feed, newest first.
responses:
'200':
description: A JSON Feed document.
content:
application/feed+json:
schema:
$ref: '#/components/schemas/JsonFeed'
headers:
HC-API-Version:
$ref: '#/components/headers/HC-API-Version'
'404':
description: No such file. The body is JSON, Markdown or HTML, chosen by the Accept header.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
text/markdown:
schema:
type: string
text/html:
schema:
type: string
parameters:
- $ref: '#/components/parameters/ApiVersion'
/editions/feed.xml:
get:
operationId: getRssFeed
tags:
- Feeds
summary: Get the RSS feed
description: Get all stories as an RSS feed, newest first.
responses:
'200':
description: An RSS document.
content:
application/rss+xml:
schema:
type: string
headers:
HC-API-Version:
$ref: '#/components/headers/HC-API-Version'
'404':
description: No such file. The body is JSON, Markdown or HTML, chosen by the Accept header.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
text/markdown:
schema:
type: string
text/html:
schema:
type: string
parameters:
- $ref: '#/components/parameters/ApiVersion'
/editions/atom.xml:
get:
operationId: getAtomFeed
tags:
- Feeds
summary: Get the Atom feed
description: Get all stories as an Atom feed, newest first.
responses:
'200':
description: An Atom document.
content:
application/atom+xml:
schema:
type: string
headers:
HC-API-Version:
$ref: '#/components/headers/HC-API-Version'
'404':
description: No such file. The body is JSON, Markdown or HTML, chosen by the Accept header.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
text/markdown:
schema:
type: string
text/html:
schema:
type: string
parameters:
- $ref: '#/components/parameters/ApiVersion'
components:
schemas:
JsonFeed:
type: object
description: A JSON Feed 1.1 document.
required:
- version
- title
- items
properties:
version:
type: string
title:
type: string
home_page_url:
type: string
format: uri
feed_url:
type: string
format: uri
items:
type: array
items:
type: object
properties:
id:
type: string
url:
type: string
format: uri
title:
type: string
date_published:
type: string
format: date-time
additionalProperties: true
additionalProperties: true
Error:
type: object
description: The JSON error body.
required:
- error
- message
properties:
error:
type: string
description: A short error code.
example: empty_question
message:
type: string
description: What is wrong.
next_step:
type: string
description: What to do next.
retry_after:
type: integer
description: Seconds to wait. Only for code 429.
headers:
HC-API-Version:
description: The API version of this response.
schema:
type: string
example: '1'
parameters:
ApiVersion:
name: HC-API-Version
in: header
required: false
description: The API version you expect. Version 1 is the only version today. Every response carries the HC-API-Version header.
schema:
type: string
enum:
- '1'
default: '1'
externalDocs:
description: 'Hanging Context developers: the MCP server, the SDKs and the CLI, rate limits and errors.'
url: https://hangingcontext.com/developers/