GitHub vs Notion API Comparison

Project Overview

This project is a technical documentation and research exercise comparing the GitHub and Notion APIs through practical API testing and analysis.

The project was designed to examine not only what each API can do, but how each API is structured, how developers interact with it, and how those design choices affect the process of understanding and working with API data.

Rather than relying solely on high-level descriptions, I worked directly with API requests and JSON responses to investigate how information is returned and organised.

Research & Analysis

The comparison examines several areas of API design and usage, including authentication, JSON response structures, resource relationships, pagination, and object architecture.

For GitHub, the analysis looks at its resource-oriented REST approach and the way objects expose identifiers, URLs, and relationships between resources. Examples include fields such as id, node_id, url, and html_url, as well as related URL fields that provide links between resources.

The project also examines pagination, including the use of pagination parameters and response headers in REST requests, and contrasts this with cursor-based pagination in GraphQL.

The Notion API provides a useful contrast because its structure is built around objects such as pages, blocks, and user-defined properties. The analysis examines how this block-based architecture works and how property types and metadata can affect the way developers interpret API responses.

Particular attention was given to structures such as status and select properties and more complex relationships such as rollups.

Documentation Approach

A major purpose of the project was to translate these technical observations into documentation that would be accessible to people who may not have extensive software-development experience.

The intended audience includes beginner developers, people transitioning into technical roles, and non-engineers who need to understand how APIs represent information.

The documentation therefore focuses on explaining not just what appears in an API response, but why the structure matters and how a developer can interpret it.

The project combines practical testing, JSON inspection, comparative analysis, and structured technical explanation.

Skills Demonstrated

This project demonstrates experience with:

  • API research and testing

  • JSON response analysis

  • REST API concepts

  • GraphQL pagination concepts

  • Authentication

  • Pagination

  • Technical documentation

  • Comparative technical analysis

  • Explaining complex technical structures clearly

  • Researching from observed API behaviour and documentation

Portfolio Scope

The GitHub repository contains selected project and documentation materials rather than the complete technical document.

The full technical documentation is available separately for hiring-manager review.

The project demonstrates my approach to investigating a technical subject, organising evidence, identifying meaningful differences, and converting technical findings into clear documentation for a defined audience.