/pcpartpicker/builds/search
curl --request POST \
--url https://api.anysite.io/api/pcpartpicker/builds/search \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"count": 2400,
"timeout": 300,
"region": "us",
"search": "<string>",
"filters": [
{
"name": "<string>",
"values": [
"<string>"
]
}
],
"ranges": [
{
"name": "<string>",
"minimum": 123,
"maximum": 123
}
],
"sort": "<string>"
}
'import requests
url = "https://api.anysite.io/api/pcpartpicker/builds/search"
payload = {
"count": 2400,
"timeout": 300,
"region": "us",
"search": "<string>",
"filters": [
{
"name": "<string>",
"values": ["<string>"]
}
],
"ranges": [
{
"name": "<string>",
"minimum": 123,
"maximum": 123
}
],
"sort": "<string>"
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
count: 2400,
timeout: 300,
region: 'us',
search: '<string>',
filters: [{name: '<string>', values: ['<string>']}],
ranges: [{name: '<string>', minimum: 123, maximum: 123}],
sort: '<string>'
})
};
fetch('https://api.anysite.io/api/pcpartpicker/builds/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.anysite.io/api/pcpartpicker/builds/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'count' => 2400,
'timeout' => 300,
'region' => 'us',
'search' => '<string>',
'filters' => [
[
'name' => '<string>',
'values' => [
'<string>'
]
]
],
'ranges' => [
[
'name' => '<string>',
'minimum' => 123,
'maximum' => 123
]
],
'sort' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/pcpartpicker/builds/search"
payload := strings.NewReader("{\n \"count\": 2400,\n \"timeout\": 300,\n \"region\": \"us\",\n \"search\": \"<string>\",\n \"filters\": [\n {\n \"name\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"ranges\": [\n {\n \"name\": \"<string>\",\n \"minimum\": 123,\n \"maximum\": 123\n }\n ],\n \"sort\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/pcpartpicker/builds/search")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"count\": 2400,\n \"timeout\": 300,\n \"region\": \"us\",\n \"search\": \"<string>\",\n \"filters\": [\n {\n \"name\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"ranges\": [\n {\n \"name\": \"<string>\",\n \"minimum\": 123,\n \"maximum\": 123\n }\n ],\n \"sort\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/pcpartpicker/builds/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"count\": 2400,\n \"timeout\": 300,\n \"region\": \"us\",\n \"search\": \"<string>\",\n \"filters\": [\n {\n \"name\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"ranges\": [\n {\n \"name\": \"<string>\",\n \"minimum\": 123,\n \"maximum\": 123\n }\n ],\n \"sort\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"@type": "PcpartpickerBuildCard",
"url": "<string>",
"name": "<string>",
"author": "<string>",
"author_url": "<string>",
"image": "<string>",
"key_parts": [],
"total_price": 123,
"price_is_partial": true,
"upvotes": 123,
"comment_count": 123
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/pcpartpicker
/pcpartpicker/builds/search
Search the completed PC builds people have published on PCPartPicker. Narrows by build price, publication period, CPU socket, video card chipset, cooler type, case type, whether the CPU is overclocked and whether the build is featured, and orders by date, community rating or price. Returns each build with its code, name, author, cover photo, headline CPU and GPU, total price, upvotes and comment count.
Price: 20 credits per 20 results
⚠️ Common errors: 412: The build feed came back without any cards, 422: A filter group, an option label or a sort value the build feed does not publish
POST
/
api
/
pcpartpicker
/
builds
/
search
/pcpartpicker/builds/search
curl --request POST \
--url https://api.anysite.io/api/pcpartpicker/builds/search \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"count": 2400,
"timeout": 300,
"region": "us",
"search": "<string>",
"filters": [
{
"name": "<string>",
"values": [
"<string>"
]
}
],
"ranges": [
{
"name": "<string>",
"minimum": 123,
"maximum": 123
}
],
"sort": "<string>"
}
'import requests
url = "https://api.anysite.io/api/pcpartpicker/builds/search"
payload = {
"count": 2400,
"timeout": 300,
"region": "us",
"search": "<string>",
"filters": [
{
"name": "<string>",
"values": ["<string>"]
}
],
"ranges": [
{
"name": "<string>",
"minimum": 123,
"maximum": 123
}
],
"sort": "<string>"
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
count: 2400,
timeout: 300,
region: 'us',
search: '<string>',
filters: [{name: '<string>', values: ['<string>']}],
ranges: [{name: '<string>', minimum: 123, maximum: 123}],
sort: '<string>'
})
};
fetch('https://api.anysite.io/api/pcpartpicker/builds/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.anysite.io/api/pcpartpicker/builds/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'count' => 2400,
'timeout' => 300,
'region' => 'us',
'search' => '<string>',
'filters' => [
[
'name' => '<string>',
'values' => [
'<string>'
]
]
],
'ranges' => [
[
'name' => '<string>',
'minimum' => 123,
'maximum' => 123
]
],
'sort' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.anysite.io/api/pcpartpicker/builds/search"
payload := strings.NewReader("{\n \"count\": 2400,\n \"timeout\": 300,\n \"region\": \"us\",\n \"search\": \"<string>\",\n \"filters\": [\n {\n \"name\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"ranges\": [\n {\n \"name\": \"<string>\",\n \"minimum\": 123,\n \"maximum\": 123\n }\n ],\n \"sort\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.anysite.io/api/pcpartpicker/builds/search")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"count\": 2400,\n \"timeout\": 300,\n \"region\": \"us\",\n \"search\": \"<string>\",\n \"filters\": [\n {\n \"name\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"ranges\": [\n {\n \"name\": \"<string>\",\n \"minimum\": 123,\n \"maximum\": 123\n }\n ],\n \"sort\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/pcpartpicker/builds/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"count\": 2400,\n \"timeout\": 300,\n \"region\": \"us\",\n \"search\": \"<string>\",\n \"filters\": [\n {\n \"name\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ],\n \"ranges\": [\n {\n \"name\": \"<string>\",\n \"minimum\": 123,\n \"maximum\": 123\n }\n ],\n \"sort\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"@type": "PcpartpickerBuildCard",
"url": "<string>",
"name": "<string>",
"author": "<string>",
"author_url": "<string>",
"image": "<string>",
"key_parts": [],
"total_price": 123,
"price_is_partial": true,
"upvotes": 123,
"comment_count": 123
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
application/json
Required range:
1 <= x <= 4800Required range:
20 <= x <= 1500Available options:
au, at, be, ca, cz, dk, fi, fr, de, hu, ie, it, nl, nz, no, pl, pt, ro, sa, sk, es, se, uk, us Minimum string length:
1Show child attributes
Show child attributes
Show child attributes
Show child attributes
Minimum string length:
1Response
Successful Response