Send HTTP requests avatar
Send HTTP requests

Pricing

Pay per event

Go to Store
Send HTTP requests

Send HTTP requests

Developed by

Rizuan

Rizuan

Maintained by Community

Send HTTP requests (GET, POST, PUT, PATCH, DELETE) to any API endpoint with customizable headers, parameters, and body data. Perfect for Clay users seeking API functionality without the Explorer plan upgrade, or anyone needing simple HTTP request capabilities.

5.0 (1)

Pricing

Pay per event

1

Total users

21

Monthly users

16

Runs succeeded

>99%

Last modified

16 hours ago

An Apify actor that allows you to send HTTP requests to any endpoint and view the results.

Overview

This actor provides a simple way to make HTTP requests to any API endpoint without writing code. It supports all common HTTP methods (GET, POST, PUT, PATCH, DELETE), custom headers, URL parameters, and request body data.

Perfect for:

  • Clay users who need API integration without upgrading to the Explorer plan
  • Testing API endpoints quickly
  • One-off HTTP requests for data retrieval or actions
  • Debugging web services and APIs
  • Clay users who want the response data forwarded to another Clay table via webhook

Features

  • Support for all major HTTP methods (GET, POST, PUT, PATCH, DELETE)
  • Custom header configuration
  • URL parameter support
  • Request body data (for POST, PUT, PATCH methods)
  • Detailed response data including status code, headers, and body
  • Simple JSON configuration
  • Optional callback URL support to send the response to another endpoint (e.g., a Clay webhook)
  • Optional lookupKey field to help match the response to the original row in a Clay table

Input Parameters

ParameterTypeDescriptionRequired
methodStringHTTP method to use (GET, POST, PUT, PATCH, DELETE)Yes
urlStringThe URL to make the request toYes
headersObjectCustom headers to be sent with the requestNo
paramsObjectURL parameters to be sent with the requestNo
dataObjectData to be sent as the request body (for POST, PUT, PATCH)No
callbackUrlStringA URL to which the full API response will be forwarded as a new POST requestNo
lookupKeyStringOptional identifier for matching response to input row in a Clay workflowNo

Example Input

{
"method": "GET",
"url": "https://api.example.com/data",
"headers": {
"Authorization": "Bearer your-token-here",
"Content-Type": "application/json"
},
"params": {
"limit": 10,
"offset": 0
},
"callbackUrl": "https://webhook.site/your-webhook-url",
"callbackHeaders": {
"x-source": "apify-actor"
}
}

Output

The actor returns an object with the following structure:

{
"data": {}, // The response body
"status": 200, // HTTP status code
"statusText": "OK", // HTTP status text
"headers": {} // Response headers
}

If callbackUrl is provided, this same object will be sent via POST to that URL.

The lookupKey will also be included in the callback payload to help with row matching.

Usage with Clay

Clay users can integrate this actor into their tables to make API calls without upgrading to the Explorer plan. Here's how:

  1. Create an Apify account and set up your API token
  2. In Clay, use the Apify integration and select this actor
  3. Configure the HTTP request parameters in the Clay interface
  4. Map the response data to your Clay table columns
  5. Use the callbackUrl input to send the full API response to a different Clay table via webhook — useful for large responses that can't be displayed in a single cell

This provides significant cost savings over upgrading to the Explorer plan ($200 difference) while still enabling API functionality.

Limitations

  • The actor has a timeout limit based on your Apify plan
  • The callbackUrl must accept a standard JSON POST request

Example Use Cases

  1. Fetch data from a public API

    {
    "method": "GET",
    "url": "https://api.publicapis.org/entries",
    "params": {
    "category": "animals",
    "https": true
    }
    }
  2. Post data to an API endpoint

    {
    "method": "POST",
    "url": "https://api.example.com/users",
    "headers": {
    "Content-Type": "application/json",
    "Authorization": "Bearer your-token"
    },
    "data": {
    "name": "John Doe",
    "email": "john@example.com"
    }
    }
  3. Update existing data

    {
    "method": "PATCH",
    "url": "https://api.example.com/users/123",
    "headers": {
    "Content-Type": "application/json",
    "Authorization": "Bearer your-token"
    },
    "data": {
    "email": "newemail@example.com"
    }
    }

License

ISC

Author

Mohd Rizuan