Hashnode GraphQL API

The Hashnode Public API is a GraphQL API that queries publication data, manages posts and drafts, and creates content via mutations. All requests are POSTed to a single endpoint at https://gql-beta.hashnode.com. Introspection is enabled and anonymous, so the SDL is the published contract - 123 types, 13 root queries and 9 root mutations. Anonymous public reads (post, feed, user, tag) require no token; publication-scoped reads and all mutations require a Personal Access Token and an active Pro plan on the target publication. The legacy endpoint gql.hashnode.com now returns HTTP 301 to a deprecation notice.

Documentation

Other Resources

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.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/hashnode-graphql-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

API entry from apis.yml

apis.yml Raw ↑
aid: hashnode:hashnode-graphql-api
name: Hashnode GraphQL API
description: The Hashnode Public API is a GraphQL API that queries publication data, manages posts and
  drafts, and creates content via mutations. All requests are POSTed to a single endpoint at https://gql-beta.hashnode.com.
  Introspection is enabled and anonymous, so the SDL is the published contract - 123 types, 13 root queries
  and 9 root mutations. Anonymous public reads (post, feed, user, tag) require no token; publication-scoped
  reads and all mutations require a Personal Access Token and an active Pro plan on the target publication.
  The legacy endpoint gql.hashnode.com now returns HTTP 301 to a deprecation notice.
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
humanURL: https://github.com/Hashnode/gql-skill
baseURL: https://gql-beta.hashnode.com
tags:
- GraphQL
- Blogging
- Posts
- Publications
- Drafts
- Comments
- Series
- Tags
properties:
- type: GraphQL
  url: graphql/hashnode-gql-api.graphql
- type: GraphQLManifest
  url: graphql/hashnode-graphql.yml
- type: Documentation
  url: https://github.com/Hashnode/gql-skill/tree/main/skills/gql-api
- type: APIReference
  url: https://github.com/Hashnode/gql-skill/blob/main/skills/gql-api/references/queries.md
- type: GettingStarted
  url: https://github.com/Hashnode/gql-skill#using-the-api-directly
- type: Authentication
  url: authentication/hashnode-authentication.yml
- type: Conventions
  url: conventions/hashnode-conventions.yml
- type: ErrorCatalog
  url: errors/hashnode-error-codes.yml
- type: DataModel
  url: data-model/hashnode-data-model.yml
- type: RateLimits
  url: rate-limits/hashnode-rate-limits.yml
- type: Webhooks
  url: asyncapi/hashnode-webhooks.yml
- type: AgentSkill
  url: skills/_index.yml
- type: GitHubOrg
  url: https://github.com/Hashnode
- type: StarterKit
  url: https://github.com/Hashnode/starter-kit
- type: JSONLD
  url: https://raw.githubusercontent.com/api-evangelist/hashnode/refs/heads/main/json-ld/hashnode.json