http-request-skill
Make HTTP requests to external APIs and web services. Supports GET, POST, PUT, DELETE, PATCH methods with headers and JSON body.
Best use case
http-request-skill is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Make HTTP requests to external APIs and web services. Supports GET, POST, PUT, DELETE, PATCH methods with headers and JSON body.
Teams using http-request-skill should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/http-request-skill/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How http-request-skill Compares
| Feature / Agent | http-request-skill | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Make HTTP requests to external APIs and web services. Supports GET, POST, PUT, DELETE, PATCH methods with headers and JSON body.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# HTTP Request Tool
Make HTTP requests to external APIs and web services.
## How It Works
This skill provides instructions for the **HTTP Request** tool node. Connect the **HTTP Request** node to Zeenie's `input-tools` handle to enable API calls.
## http_request Tool
Make an HTTP request to any URL.
### Schema Fields
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| url | string | Yes | Full URL to request (e.g., `https://api.example.com/data`) |
| method | string | No | HTTP method: `GET`, `POST`, `PUT`, `DELETE`, `PATCH` (default: `GET`) |
| body | object | No | Request body as JSON object (for POST/PUT/PATCH) |
| useProxy | boolean | No | Route through proxy (default: `false`). The proxy service handles provider selection, geo-targeting, and session type automatically. |
### Node Parameters
Additional options can be configured on the node:
| Parameter | Description |
|-----------|-------------|
| headers | Custom headers as JSON (e.g., `{"Authorization": "Bearer token"}`) |
| base_url | Base URL prepended to the url parameter |
### Response Format
```json
{
"status": 200,
"data": { "key": "value" },
"url": "https://api.example.com/data",
"method": "GET",
"proxied": false
}
```
### Examples
**GET request (fetch data):**
```json
{
"url": "https://api.example.com/users/123",
"method": "GET"
}
```
**POST request (create resource):**
```json
{
"url": "https://api.example.com/users",
"method": "POST",
"body": {
"name": "John Doe",
"email": "john@example.com"
}
}
```
**PUT request (update resource):**
```json
{
"url": "https://api.example.com/users/123",
"method": "PUT",
"body": {
"name": "John Updated"
}
}
```
**DELETE request:**
```json
{
"url": "https://api.example.com/users/123",
"method": "DELETE"
}
```
**PATCH request (partial update):**
```json
{
"url": "https://api.example.com/users/123",
"method": "PATCH",
"body": {
"status": "active"
}
}
```
### Real-World Examples
**Get Bitcoin price:**
```json
{
"url": "https://api.coindesk.com/v1/bpi/currentprice.json",
"method": "GET"
}
```
**Get weather:**
```json
{
"url": "https://api.openweathermap.org/data/2.5/weather?q=London&appid=YOUR_KEY",
"method": "GET"
}
```
**Post to webhook:**
```json
{
"url": "https://hooks.slack.com/services/xxx",
"method": "POST",
"body": {
"text": "Hello from MachinaOS!"
}
}
```
**Check website status:**
```json
{
"url": "https://example.com",
"method": "GET"
}
```
### Error Responses
**Timeout:**
```json
{
"error": "Request timed out"
}
```
**Connection failed:**
```json
{
"error": "Connection failed: Unable to reach host"
}
```
**HTTP error:**
```json
{
"status": 404,
"data": "Not Found",
"url": "https://api.example.com/missing",
"method": "GET"
}
```
## HTTP Status Codes
| Status | Meaning | Action |
|--------|---------|--------|
| 200-299 | Success | Process the response data |
| 400 | Bad Request | Check request parameters |
| 401 | Unauthorized | Check API key/authentication |
| 403 | Forbidden | Insufficient permissions |
| 404 | Not Found | Check URL path |
| 429 | Too Many Requests | Rate limited, wait and retry |
| 500-599 | Server Error | External service issue |
## Use Cases
| Use Case | Method | Description |
|----------|--------|-------------|
| Fetch data | GET | Retrieve resources |
| Create resource | POST | Add new data |
| Update resource | PUT/PATCH | Modify existing data |
| Delete resource | DELETE | Remove data |
| Health check | GET | Verify service availability |
| Webhook trigger | POST | Send events to services |
## Proxy Usage
To route a request through a residential proxy, just set `useProxy: true`. The proxy service automatically selects the best provider, geo-target, and session type from its configuration. A proxy provider must be configured first via the `proxy_config` tool (see proxy-config-skill).
**Proxied request:**
```json
{
"url": "https://example.com/data",
"method": "GET",
"useProxy": true
}
```
If no proxy providers are configured or the proxy lookup fails, the request proceeds directly without a proxy and `"proxied": false` appears in the response.
## Guidelines
1. **URLs**: Must be fully qualified with protocol (https://)
2. **Authentication**: Use node headers for API keys/tokens
3. **Timeout**: Default 30 seconds
4. **JSON body**: Automatically serialized for POST/PUT/PATCH
5. **Response**: JSON responses are automatically parsed
6. **Proxy**: Set `useProxy: true` to route through proxy -- the proxy service handles all routing details
## Security Notes
1. Never expose API keys in responses to users
2. Validate URLs before making requests
3. Avoid internal/private network addresses (localhost, 192.168.x.x)
4. Respect rate limits of external services
5. Don't store sensitive data from API responses
## Setup Requirements
1. Connect the **HTTP Request** node to Zeenie's `input-tools` handle
2. Configure authentication headers on the node if needed
3. Ensure network access to target APIs
4. For proxy usage: configure a proxy provider via the proxy-config-skill firstRelated Skills
serper-search-skill
Search the web using Serper API for Google-powered search results including web, news, images, and places.
proxy-config-skill
Configure residential proxy providers and make proxied HTTP requests with geo-targeting.
perplexity-search-skill
Search the web using Perplexity Sonar AI for synthesized answers with citations, related questions, and optional images.
duckduckgo-search-skill
Search the web using DuckDuckGo for free, privacy-focused results with no API key required.
crawlee-scraper-skill
Read and extract content from any web page URL.
browser-skill
Interactive browser automation - navigate, click, type, fill forms, take screenshots, get accessibility snapshots. Supports system Chrome/Edge via auto-detection.
brave-search-skill
Search the web using Brave Search API for privacy-focused, independent search results with no tracking.
apify-skill
Run web scrapers and extract data from websites and social media platforms using Apify actors. Supports Instagram, TikTok, Twitter/X, LinkedIn, Facebook, YouTube, Google Search, and general web crawling.
nearby-places-skill
Search for nearby places like restaurants, cafes, stores, and services using Google Places API. Find places by type and location.
shell-skill
Execute short-lived shell commands in a sandboxed environment. No PATH access -- use process_manager for npm/python/node commands.
process-manager-skill
Start, stop, and manage long-running processes with full system PATH. Use for npm, python, node, dev servers, watchers, build tools. Destructive file commands blocked.
powershell-skill
Windows PowerShell commands and patterns for process management, file operations, and system administration.