API Technologies

api

API Protocols

REST (REpresentational State Transfer)

Stateless, resource-based architectural style using HTTP methods with HATEOAS principles for scalable web services.

Key Features
  • HTTP methods (GET/POST/PATCH/PUT/DELETE)
  • Status codes for responses
  • Idempotency for safety
  • Caching support built-in
Use Cases
  • Public web APIs
  • Microservices communication
  • CRUD operations
  • Mobile app backends
GraphQL

Query language with single endpoint, strong type system, and client-specified data fetching for flexible APIs.

Key Features
  • Queries and mutations
  • Real-time subscriptions
  • Schema and type system
  • Resolver functions and batching
Use Cases
  • GitHub API v4
  • Shopify API
  • Facebook Graph API
  • Mobile apps with flexible needs
gRPC

High-performance RPC framework using Protocol Buffers and HTTP/2 with streaming support for microservices.

Key Features
  • Bidirectional streaming
  • Automatic code generation
  • Strong typing with protobuf
  • HTTP/2 multiplexing
Use Cases
  • Microservice communication
  • Real-time data streaming
  • IoT device communication
  • Internal APIs
WebSocket

Full-duplex persistent connection protocol for real-time, low-latency bidirectional communication between client and server.

Key Features
  • Bidirectional messaging
  • Event-driven architecture
  • Lower overhead than polling
  • Connection heartbeat mechanism
Use Cases
  • Chat applications
  • Live feed updates
  • Multiplayer gaming
  • Collaborative editing tools
JSON-RPC

Lightweight remote procedure call protocol using JSON for encoding, underlying Model Context Protocol (MCP) and similar systems.

Key Features
  • Simple request/response format
  • Method-based invocation
  • Batch request support
  • Notification (no response) support
Use Cases
  • Model Context Protocol (MCP)
  • Blockchain node APIs (Ethereum)
  • Language server protocols
  • Simple RPC needs
schema

GraphQL Ecosystem

Apollo Server/Client

Full-featured GraphQL implementation with robust caching, subscriptions, and developer tools for both server and client.

Key Features
  • Schema stitching and federation
  • Advanced caching strategies
  • Real-time subscriptions
  • Error handling and monitoring
Similar Technologies
Relayurqlgraphql-yogaHasura
Hasura

Instant GraphQL APIs over PostgreSQL with real-time capabilities, event triggers, and automatic schema generation.

Key Features
  • Auto-generated CRUD APIs
  • Row-level permissions
  • Event-driven webhooks
  • Real-time subscriptions
Similar Technologies
PostgraphilePrismaAWS AppSync
Relay

Facebook's GraphQL client optimized for performance with fragment colocation, pagination, and sophisticated caching.

Key Features
  • Cursor-based pagination
  • Optimistic UI updates
  • Connection specification
  • Compile-time optimization
Similar Technologies
Apollo Clienturqlgraphql-request
build

API Design & Tools

OpenAPI (Swagger)

API specification standard for REST APIs with documentation generation, validation, and code generation capabilities.

Key Features
  • Interactive API documentation
  • Request/response validation
  • Client SDK generation
  • Mock server creation
Use Cases
  • REST API documentation
  • Contract-first development
  • Client library generation
  • API testing and validation
AsyncAPI

Event-driven API specification for message brokers, WebSocket, MQTT, and other asynchronous protocols.

Key Features
  • Event-driven documentation
  • Code generation support
  • Multi-protocol validation
  • Message format specification
Use Cases
  • Kafka API documentation
  • WebSocket event specs
  • MQTT protocol docs
  • AMQP specifications
Postman/Insomnia

API development platforms for testing, documentation, and automation with collections, environments, and collaboration features.

Key Features
  • Request builder and history
  • Testing scripts and automation
  • Mock servers
  • Team collaboration tools
Use Cases
  • API development workflow
  • Integration testing
  • API documentation
  • Environment management
Related Tools
HoppscotchBrunoREST Client