curl --request GET \
--url https://laso.finance/search-gift-cards \
--header 'Authorization: <api-key>'import requests
url = "https://laso.finance/search-gift-cards"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://laso.finance/search-gift-cards', 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://laso.finance/search-gift-cards",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <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"
"net/http"
"io"
)
func main() {
url := "https://laso.finance/search-gift-cards"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://laso.finance/search-gift-cards")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://laso.finance/search-gift-cards")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"gift_cards": [
{
"laso_server_id": "<string>",
"name": "<string>",
"description": "<string>",
"category": "<string>",
"country": "FR",
"currency": "USD",
"min": 123,
"max": 123,
"increment": "<string>",
"denominations": [
"<string>"
],
"product_image_url": "<string>",
"catalog_info": {
"brand_description": "<string>",
"redemption_instructions": "<string>"
}
}
],
"count": 123,
"filters": {
"query": "<string>",
"country": "<string>",
"currency": "<string>",
"category": "<string>"
},
"facets": {
"categories": [
"<string>"
],
"currencies": [
"<string>"
],
"countries": [
"<string>"
]
}
}{
"error": "Missing or invalid Authorization header"
}Search the gift card catalog
Browse and search available gift cards. Returns a list of gift card products with pricing, denomination, and catalog information. Use the laso_server_id from the results to order a card via GET /order-gift-card.
Every response includes a facets object listing the valid values for the category, currency, and country filters. The facets are computed from the full catalog, so a single unfiltered request (no query parameters) is enough to discover everything you can filter on.
This is a free endpoint — no x402 payment required. Requires a Bearer token from /auth.
curl --request GET \
--url https://laso.finance/search-gift-cards \
--header 'Authorization: <api-key>'import requests
url = "https://laso.finance/search-gift-cards"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://laso.finance/search-gift-cards', 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://laso.finance/search-gift-cards",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <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"
"net/http"
"io"
)
func main() {
url := "https://laso.finance/search-gift-cards"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://laso.finance/search-gift-cards")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://laso.finance/search-gift-cards")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"gift_cards": [
{
"laso_server_id": "<string>",
"name": "<string>",
"description": "<string>",
"category": "<string>",
"country": "FR",
"currency": "USD",
"min": 123,
"max": 123,
"increment": "<string>",
"denominations": [
"<string>"
],
"product_image_url": "<string>",
"catalog_info": {
"brand_description": "<string>",
"redemption_instructions": "<string>"
}
}
],
"count": 123,
"filters": {
"query": "<string>",
"country": "<string>",
"currency": "<string>",
"category": "<string>"
},
"facets": {
"categories": [
"<string>"
],
"currencies": [
"<string>"
],
"countries": [
"<string>"
]
}
}{
"error": "Missing or invalid Authorization header"
}Authorizations
Firebase ID token from /auth or any paid route, sent as a Bearer token: Authorization: Bearer <id_token> (the Bearer prefix is required).
Query Parameters
Search query to filter gift cards by name (e.g. "Amazon", "Uber")
ISO 3166-1 alpha-2 country code to filter by (e.g. "US", "GB"). Returns gift cards available in that country, including borderless products that have no country restriction.
Currency code to filter by (e.g. "USD", "EUR")
Category to filter by (e.g. "ecommerce", "travel", "gaming"). See the facets.categories array in any response for the full list of valid values.
Response
List of matching gift card products
Was this page helpful?