What do GET and POST do in an API?
APIs let software exchange data and trigger operations in a predictable way. When people talk about “using an API,” they often mean sending HTTP requests such as GET or POST to a server and receiving responses back. Below are common actions you’ll see when working with APIs, what they mean, and how they’re typically used.
The basic request-and-response pattern
Most web APIs follow a simple loop:
- A client (browser, mobile app, server, script) sends an HTTP request to a URL called an endpoint.
- The server processes the request.
- The server returns an HTTP response containing a status code, headers, and often a body (frequently JSON).
This pattern stays the same whether you’re reading data, creating records, or updating settings.
GET: Retrieve data
GET is used to fetch information without changing server state.
Common GET actions include:
- List resources: Fetch a collection, such as all products or recent messages.
Example idea:GET /products - Fetch one resource: Retrieve a single item by ID.
Example idea:GET /products/42 - Search and filter: Use query parameters to narrow results.
Example idea:GET /products?category=shoes&limit=20 - Pagination: Request results in pages to reduce payload size.
Example idea:GET /products?page=2&pageSize=50
Typical characteristics of GET:
- Parameters often go in the URL query string.
- Responses should be safe to repeat since GET should not create or modify data.
- Caching may be possible, depending on server headers and the type of data.
POST: Create or trigger an action
POST is used to submit data to the server, commonly to create something new or start a process.
Common POST actions include:
- Create a resource: Add a new record such as a user, order, or ticket.
Example idea:POST /orderswith a JSON body describing the order - Submit a form-like payload: Send structured input for validation or storage.
- Start an operation: Kick off a job like sending a message, generating a report, or processing a payment.
Example idea:POST /reports/generate
Typical characteristics of POST:
- Data usually goes in the request body (often JSON).
- Repeating a POST may create duplicates unless the API supports idempotency keys or similar safeguards.
- The response often returns the created object or a reference to it.
PUT, PATCH, and DELETE: Update and remove
Even if GET and POST are the most talked about, many APIs also use these actions:
- PUT: Replace a resource fully.
Example idea:PUT /users/10with the complete user payload - PATCH: Update part of a resource.
Example idea:PATCH /users/10with only changed fields - DELETE: Remove a resource.
Example idea:DELETE /users/10
These methods help keep endpoints consistent with CRUD behavior (Create, Read, Update, Delete).
Common supporting actions: headers, auth, and content types
Real API calls usually include more than a method and a URL:
- Authentication headers: Many APIs require tokens (for example,
Authorization: Bearer <token>). - Content type: For JSON requests, clients send
Content-Type: application/json. - Accept header: Clients may request a response format, such as
Accept: application/json.
These details affect how the server interprets requests and what it returns.
Status codes and error handling
Responses include status codes that describe results:
- 200 OK: Request succeeded (common for GET).
- 201 Created: Resource created (common for POST).
- 400 Bad Request: Invalid input.
- 401 Unauthorized / 403 Forbidden: Auth problems or missing permissions.
- 404 Not Found: Resource does not exist.
- 409 Conflict: Duplicate or conflicting state.
- 500 Server Error: Server-side failure.
Good client code reads both the status code and error body (often containing a message and error fields) to decide what to do next.
Practical habits when calling APIs
Common actions developers take around GET and POST:
- Validate input before sending: Reduce avoidable 400 errors.
- Retry carefully: Use retries for transient failures, not for validation errors.
- Log request IDs: Many APIs return a request identifier to help trace issues.
- Rate-limit awareness: Clients often back off when hitting limits to avoid repeated failures.
- Use pagination and filtering: Keep responses small and fast.
GET retrieves data, POST sends data to create or trigger actions, and the surrounding practices—auth, headers, status codes, and error handling—make API usage reliable in real projects.












