logo-darkPipe0

X post search

Keyword and mention search over recent X (Twitter) posts — last 7 days, with recency, author, and link filters.

ProviderBilling ModeCredentials
Cost per result
Docs
P
X (Twitter)
Per Result
User
0.5credits

Output Fields

Enabled by defaultThese fields are returned without extra config.3
x_post_id
string
post_text
string
x_post_match
json

Code Example

const options = {
  method: 'POST',
  headers: {'content-type': 'application/json', authorization: 'Bearer <TOKEN>'},
  body: JSON.stringify({
    search: {
      search_id: 'posts:x@1',
      connector: {
        strategy: 'first',
        connections: [{connection: 'x_<CONNECTION_ID>', type: 'vault'}]
      },
      config: {
        limit: 100,
        filters: {
          keywords: ['clay.com', 'data enrichment'],
          keyword_operator: 'OR',
          posted_within: 'l1d',
          include_reposts: false
        }
      }
    }
  })
};

fetch('https://api.pipe0.com/v1/search/run', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
import requests

url = "https://api.pipe0.com/v1/search/run"

payload = { "search": {
        "search_id": "posts:x@1",
        "connector": {
            "strategy": "first",
            "connections": [
                {
                    "connection": "x_<CONNECTION_ID>",
                    "type": "vault"
                }
            ]
        },
        "config": {
            "limit": 100,
            "filters": {
                "keywords": ["clay.com", "data enrichment"],
                "keyword_operator": "OR",
                "posted_within": "l1d",
                "include_reposts": False
            }
        }
    } }
headers = {
    "content-type": "application/json",
    "authorization": "Bearer <TOKEN>"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
curl --request POST \
     --url https://api.pipe0.com/v1/search/run \
     --header 'authorization: Bearer <TOKEN>' \
     --header 'content-type: application/json' \
     --data '
{
  "search": {
    "search_id": "posts:x@1",
    "connector": {
      "strategy": "first",
      "connections": [
        {
          "connection": "x_<CONNECTION_ID>",
          "type": "vault"
        }
      ]
    },
    "config": {
      "limit": 100,
      "filters": {
        "keywords": [
          "clay.com",
          "data enrichment"
        ],
        "keyword_operator": "OR",
        "posted_within": "l1d",
        "include_reposts": false
      }
    }
  }
}
'
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.pipe0.com/v1/search/run"

	payload := strings.NewReader("{\"search\":{\"search_id\":\"posts:x@1\",\"connector\":{\"strategy\":\"first\",\"connections\":[{\"connection\":\"x_<CONNECTION_ID>\",\"type\":\"vault\"}]},\"config\":{\"limit\":100,\"filters\":{\"keywords\":[\"clay.com\",\"data enrichment\"],\"keyword_operator\":\"OR\",\"posted_within\":\"l1d\",\"include_reposts\":false}}}}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")
	req.Header.Add("authorization", "Bearer <TOKEN>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.pipe0.com/v1/search/run', [
  'body' => '{"search":{"search_id":"posts:x@1","connector":{"strategy":"first","connections":[{"connection":"x_<CONNECTION_ID>","type":"vault"}]},"config":{"limit":100,"filters":{"keywords":["clay.com","data enrichment"],"keyword_operator":"OR","posted_within":"l1d","include_reposts":false}}}}',
  'headers' => [
    'authorization' => 'Bearer <TOKEN>',
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
POST /v1/search/run HTTP/1.1

Content-Type: application/json

Authorization: Bearer <TOKEN>

Host: api.pipe0.com

Content-Length: 282



{"search":{"search_id":"posts:x@1","connector":{"strategy":"first","connections":[{"connection":"x_<CONNECTION_ID>","type":"vault"}]},"config":{"limit":100,"filters":{"keywords":["clay.com","data enrichment"],"keyword_operator":"OR","posted_within":"l1d","include_reposts":false}}}}