Find an API

Search public APIs with auth details & Postman guides

← All APIs

Rebilly REST API

rebilly · Finance

Finance No Auth Free & Open payment ecommerce

# Introduction The Rebilly API is built on HTTP. Our API is RESTful. It has predictable resource URLs. It returns HTTP response codes to indicate errors. It also accepts and returns JSON in the HTTP body. You can use your favorite HTTP/REST library for your programming language to use Rebilly's API, or you can use one of our SDKs (currently available in [PHP](https://github.com/Rebilly/rebilly-php) and [Javascript](https://github.com/Rebilly/rebilly-js-sdk)). We have other APIs that are al

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

GET Search PEP/Sanctions/Adverse Media lists

Search multiple PEP/Sanctions/Adverse Media lists with first and last name to find any blocklisted identities. Performs a fuzzy search including soundex. Not all fields are guaranteed to be filled.

https://api.apis.guru/v2/specs/rebilly.com/2.1/aml?dob=example&country=US&lastName=example&firstName=example

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/rebilly.com/2.1/aml?dob=example&country=US&lastName=example&firstName=example"
import requests
params = {
    "dob": "example",
    "country": "US",
    "lastName": "example",
    "firstName": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/rebilly.com/2.1/aml",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/rebilly.com/2.1/aml');
url.searchParams.set('dob', 'example');
url.searchParams.set('country', 'US');
url.searchParams.set('lastName', 'example');
url.searchParams.set('firstName', 'example');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

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

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/rebilly.com/2.1/aml")
	q := baseURL.Query()
	q.Set("dob", "example")
	q.Set("country", "US")
	q.Set("lastName", "example")
	q.Set("firstName", "example")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/rebilly.com/2.1/aml")
uri.query = URI.encode_www_form({
  "dob" => "example",
  "country" => "US",
  "lastName" => "example",
  "firstName" => "example"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/rebilly.com/2.1/aml?" . http_build_query([
    "dob" => "example",
    "country" => "US",
    "lastName" => "example",
    "firstName" => "example"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Search merchant data

Search merchant's data to return resources such as customers, invoices, orders, transactions.

https://api.apis.guru/v2/specs/rebilly.com/2.1/search?q=test&sort=desc&limit=10&offset=0

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/rebilly.com/2.1/search?q=test&sort=desc&limit=10&offset=0"
import requests
params = {
    "q": "test",
    "sort": "desc",
    "limit": "10",
    "offset": "0"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/rebilly.com/2.1/search",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/rebilly.com/2.1/search');
url.searchParams.set('q', 'test');
url.searchParams.set('sort', 'desc');
url.searchParams.set('limit', '10');
url.searchParams.set('offset', '0');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

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

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/rebilly.com/2.1/search")
	q := baseURL.Query()
	q.Set("q", "test")
	q.Set("sort", "desc")
	q.Set("limit", "10")
	q.Set("offset", "0")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/rebilly.com/2.1/search")
uri.query = URI.encode_www_form({
  "q" => "test",
  "sort" => "desc",
  "limit" => "10",
  "offset" => "0"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/rebilly.com/2.1/search?" . http_build_query([
    "q" => "test",
    "sort" => "desc",
    "limit" => "10",
    "offset" => "0"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Retrieve a list of ThreeDSecure entries

Retrieve a list of ThreeDSecure entries

https://api.apis.guru/v2/specs/rebilly.com/2.1/3dsecure?limit=10&offset=0

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/rebilly.com/2.1/3dsecure?limit=10&offset=0"
import requests
params = {
    "limit": "10",
    "offset": "0"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/rebilly.com/2.1/3dsecure",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/rebilly.com/2.1/3dsecure');
url.searchParams.set('limit', '10');
url.searchParams.set('offset', '0');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

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

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/rebilly.com/2.1/3dsecure")
	q := baseURL.Query()
	q.Set("limit", "10")
	q.Set("offset", "0")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/rebilly.com/2.1/3dsecure")
uri.query = URI.encode_www_form({
  "limit" => "10",
  "offset" => "0"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/rebilly.com/2.1/3dsecure?" . http_build_query([
    "limit" => "10",
    "offset" => "0"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. See official documentation for authentication and setup.

What can you build with Rebilly REST API?

Rebilly REST API is a Finance API. Developers commonly use finance APIs for:

  • processing payments and handling transactions
  • building subscription and billing systems
  • automating invoicing and financial reporting
  • fraud detection and risk scoring
  • connecting to banking and accounting software

No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Rebilly REST API is free to use, making it a low-risk choice to experiment with.

New to APIs? Read our beginner's guide · Learn about API keys · What is REST?

Open documentation ↗