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.

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:hashnode-graphql-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.

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