Find an API

Search public APIs with auth details & Postman guides

← All APIs

Appwrite

appwrite · Developer Tools

Developer Tools No Auth Free & Open developer_tools

Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to [https://appwrite.io/docs](https://appwrite.io/docs)

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

GET List Teams

Get a list of all the current user teams. You can use the query params to filter your results. On admin mode, this endpoint will return a list of all of the project's teams. [Learn more about different API modes](/docs/admin).

https://api.apis.guru/v2/specs/appwrite.io/client/0.9.3/teams?limit=25&offset=0&search=&orderType=ASC

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/appwrite.io/client/0.9.3/teams?limit=25&offset=0&search=&orderType=ASC"
import requests
params = {
    "limit": "25",
    "offset": "0",
    "search": "",
    "orderType": "ASC"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/appwrite.io/client/0.9.3/teams",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/appwrite.io/client/0.9.3/teams');
url.searchParams.set('limit', '25');
url.searchParams.set('offset', '0');
url.searchParams.set('search', '');
url.searchParams.set('orderType', 'ASC');

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/appwrite.io/client/0.9.3/teams")
	q := baseURL.Query()
	q.Set("limit", "25")
	q.Set("offset", "0")
	q.Set("search", "")
	q.Set("orderType", "ASC")
	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/appwrite.io/client/0.9.3/teams")
uri.query = URI.encode_www_form({
  "limit" => "25",
  "offset" => "0",
  "search" => "",
  "orderType" => "ASC"
})

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/appwrite.io/client/0.9.3/teams?" . http_build_query([
    "limit" => "25",
    "offset" => "0",
    "search" => "",
    "orderType" => "ASC"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Get Favicon

Use this endpoint to fetch the favorite icon (AKA favicon) of any remote website URL.

https://api.apis.guru/v2/specs/appwrite.io/client/0.9.3/avatars/favicon?url=https://example.com

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/appwrite.io/client/0.9.3/avatars/favicon?url=https%3A%2F%2Fexample.com"
import requests
params = {
    "url": "https://example.com"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/appwrite.io/client/0.9.3/avatars/favicon",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/appwrite.io/client/0.9.3/avatars/favicon');
url.searchParams.set('url', 'https://example.com');

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/appwrite.io/client/0.9.3/avatars/favicon")
	q := baseURL.Query()
	q.Set("url", "https://example.com")
	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/appwrite.io/client/0.9.3/avatars/favicon")
uri.query = URI.encode_www_form({
  "url" => "https://example.com"
})

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/appwrite.io/client/0.9.3/avatars/favicon?" . http_build_query([
    "url" => "https://example.com"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Get Image from URL

Use this endpoint to fetch a remote image URL and crop it to any image size you want. This endpoint is very useful if you need to crop and display remote images in your app or in case you want to make sure a 3rd party image is properly served using a TLS protocol.

https://api.apis.guru/v2/specs/appwrite.io/client/0.9.3/avatars/image?url=https://example.com&width=400&height=400

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/appwrite.io/client/0.9.3/avatars/image?url=https%3A%2F%2Fexample.com&width=400&height=400"
import requests
params = {
    "url": "https://example.com",
    "width": "400",
    "height": "400"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/appwrite.io/client/0.9.3/avatars/image",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/appwrite.io/client/0.9.3/avatars/image');
url.searchParams.set('url', 'https://example.com');
url.searchParams.set('width', '400');
url.searchParams.set('height', '400');

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/appwrite.io/client/0.9.3/avatars/image")
	q := baseURL.Query()
	q.Set("url", "https://example.com")
	q.Set("width", "400")
	q.Set("height", "400")
	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/appwrite.io/client/0.9.3/avatars/image")
uri.query = URI.encode_www_form({
  "url" => "https://example.com",
  "width" => "400",
  "height" => "400"
})

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/appwrite.io/client/0.9.3/avatars/image?" . http_build_query([
    "url" => "https://example.com",
    "width" => "400",
    "height" => "400"
]);
$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 Appwrite?

Appwrite is a Developer Tools API. Developers commonly use developer tools APIs for:

  • automating code review and quality checks
  • integrating CI/CD pipelines and build systems
  • managing feature flags and A/B tests
  • monitoring errors and application performance
  • generating and validating test data

No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Appwrite 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 ↗