curl --request GET \
--url https://api.getanyapi.com/catalog/searchimport requests
url = "https://api.getanyapi.com/catalog/search"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.getanyapi.com/catalog/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.getanyapi.com/catalog/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.getanyapi.com/catalog/search"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.getanyapi.com/catalog/search")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getanyapi.com/catalog/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"ranking": "keyword",
"results": [
{
"category": "<string>",
"description": "<string>",
"execution": {
"mode": "sync"
},
"failover": true,
"method": "<string>",
"name": "<string>",
"path": "<string>",
"platformId": "<string>",
"pricing": {
"failoverMaxPer1kUsd": 123,
"failoverMaxUsd": 123,
"from": {
"maxPer1kUsd": 123,
"maxUsd": 123,
"model": "flat",
"unit": "<string>",
"baseUsd": 123,
"perUnitUsd": 123
}
},
"provider": "AnyAPI",
"relevance": 123,
"slug": "<string>",
"excludesCallerDelay": true,
"highlightFields": [
{
"path": "<string>",
"type": "<string>",
"why": "<string>"
}
],
"tryMaxItems": 123
}
],
"total": 123
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}Search the API catalog
Find an API by what you need rather than by its slug. Results are ranked, and ranking names the ranker that served them. A request must name q, category, or platform: a scope on its own is a complete question (“everything this platform can do”), while a request naming none of the three has nothing to answer and is rejected. Searching is free and needs no key. Feed a result’s slug to GET /v1/apis/ for its input schema before your first run.
curl --request GET \
--url https://api.getanyapi.com/catalog/searchimport requests
url = "https://api.getanyapi.com/catalog/search"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.getanyapi.com/catalog/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.getanyapi.com/catalog/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.getanyapi.com/catalog/search"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.getanyapi.com/catalog/search")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getanyapi.com/catalog/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"ranking": "keyword",
"results": [
{
"category": "<string>",
"description": "<string>",
"execution": {
"mode": "sync"
},
"failover": true,
"method": "<string>",
"name": "<string>",
"path": "<string>",
"platformId": "<string>",
"pricing": {
"failoverMaxPer1kUsd": 123,
"failoverMaxUsd": 123,
"from": {
"maxPer1kUsd": 123,
"maxUsd": 123,
"model": "flat",
"unit": "<string>",
"baseUsd": 123,
"perUnitUsd": 123
}
},
"provider": "AnyAPI",
"relevance": 123,
"slug": "<string>",
"excludesCallerDelay": true,
"highlightFields": [
{
"path": "<string>",
"type": "<string>",
"why": "<string>"
}
],
"tryMaxItems": 123
}
],
"total": 123
}{
"error": "<string>",
"code": "<string>",
"payment": {
"costUsd": 1,
"rail": "<string>",
"settlementState": "charged_undelivered"
},
"requestId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}Query Parameters
What you need, in your own words. Long queries are truncated before ranking.
Restrict the response to one category, using an entry's category.
Restrict results to one platform, using a result's platformId.
Maximum results in this response. Omit it for the ranked default. A value above the server's maximum is reduced to it rather than rejected, and total still reports how many matched.
x >= 1Response
Ranked matches.
Which ranker served this response.
keyword, semantic Hide child attributes
Hide child attributes
The API's category, accepted back as the category scope.
One-line summary of what this API returns.
True when more than one source can serve this API.
HTTP method for this API's concrete operation.
Display name.
Concrete gateway path for this API.
The API's platform, accepted back as the platform scope.
Static USD pricing for this API.
Hide child attributes
Hide child attributes
failoverMaxUsd in the per-1,000-request denomination.
The greatest customer-price maximum across those same sources, in USD.
The complete offer for the first source that will be tried, where sources are ordered by the customer charge, cheapest first.
Hide child attributes
Hide child attributes
The same maximum in the per-1,000-request denomination AnyAPI quotes customers in. It is published rather than left to the client, so display this figure instead of scaling a price yourself.
The most one request on this offer can be billed, in USD.
Pricing model. A flat offer is one price per request; a linear offer also carries baseUsd and perUnitUsd.
flat, linear The billable unit. A flat offer always publishes "request".
Linear offers only: USD charged for the call before per-unit billing.
Linear offers only: USD charged for each billable unit inside the call.
Always "AnyAPI".
"AnyAPI"How well this API matched, relative to the others in this response.
The API's slug. Feed it to GET /v1/apis/{sku} for the input schema.
Present when this API accepts a caller-requested wait that the published latency excludes.
Output fields of this API that matched the query, with each field's own schema description as why. Computed for the top few results only, so an absent array means no highlights were produced rather than no matching field.
The most items the free try returns, when this API is try-eligible.
Matches found before limit was applied.