API Endpoints
Mainnet
Testnet
Local Node
Content Types
The REST API supports multiple content types:JSON (application/json)
Human-readable JSON format:BCS (application/bcs)
Binary Canonical Serialization for efficient data transfer:API Stability
Endpoints are marked as either:- Stable - Production-ready with backward compatibility guarantees
- Unstable - May change in future versions
Request Format
All REST requests use standard HTTP methods:- GET - Retrieve resources
- POST - Submit transactions (write operations)
Path Parameters
Resources are identified by path parameters:Query Parameters
Filtering and pagination use query parameters:Response Format
Success Response
HTTP 200 with response body:Paginated Response
Paginated endpoints include theX-Iota-Cursor header:
Error Response
HTTP error codes with error message:HTTP Status Codes
- 200 OK - Request succeeded
- 400 Bad Request - Invalid request parameters
- 404 Not Found - Resource not found
- 410 Gone - Resource has been pruned
- 500 Internal Server Error - Server error
Pagination
List endpoints support pagination with these parameters:Maximum items per page (default: 50, max: 100)
Starting cursor for pagination
Sort direction:
ascending or descending (default: descending)Headers
Custom response headers:X-Iota-Cursor
Cursor for the next page in paginated responses.X-Iota-Chain-Id
Chain identifier for the network.X-Iota-Software-Version
Node software version.Basic Examples
Get Node Info
Health Check
Get Checkpoint
Get Transaction
Get Object
API Categories
Endpoints
Complete list of REST API endpoints
OpenAPI Spec
Download the OpenAPI 3.1 specification
OpenAPI Documentation
The REST API provides a complete OpenAPI 3.1 specification at:- Swagger UI - Interactive API explorer
- Postman - Import and test endpoints
- OpenAPI Generator - Generate client SDKs
SDK Support
For easier integration, use the official IOTA SDKs which include REST client support:BCS Encoding
Binary Canonical Serialization (BCS) provides:- Compact - Smaller payload sizes
- Efficient - Faster serialization/deserialization
- Type-safe - Strongly typed binary format
Rate Limits
Public nodes may enforce rate limits. For production applications:- Run your own full node
- Implement request caching
- Use appropriate pagination limits
- Handle 429 (Too Many Requests) responses
Performance Tips
1. Use BCS for Large Datasets
BCS encoding is more efficient for:- Full checkpoints
- Large transaction lists
- Bulk object queries
2. Request Only What You Need
Use appropriate page limits:3. Cache Responses
Cache immutable data:- Finalized checkpoints
- Confirmed transactions
- Historical data