Files
svgl/src/docs/api.md
T
2024-01-25 15:50:40 +00:00

3.1 KiB

title, description
title description
API Reference The API reference is a detailed documentation of all the endpoints available in the SVGL API.
<script> import Endpoint from '../components/endpoints.svelte'; </script>

Introduction

SVGL API is a RESTFul API that allows you to get all the information of the SVGs that are in the repository.

Limitations

The API is currently open to everyone and does not require any authentication. However, to prevent abusive use of the API, there is a limit to the number of requests: 5 requests with 60s cooldown.

Base URL

The base URL for the API is:

https://svgl.app/api/svgs
# or
https://svgl.app/api/categories

Typescript usage

  • For categories:
export interface Category {
  category: string;
  total: number;
}
  • For SVGs:
type ThemeOptions = {
  light: string;
  dark: string;
};

export interface iSVG {
  id: number;
  title: string;
  category: string | string[];
  route: string | ThemeOptions;
  wordmark?: string | ThemeOptions;
  url: string;
}

Endpoints

/api/svgs

// Returns:
[
  {
    "id": 0,
    "title": "Discord",
    "category": "Software",
    "route": "https://svgl.app/library/discord.svg",
    "url": "https://discord.com/"
  },
  ...
]
/api/svgs?limit=10

// Returns:
[
  {
    "id": 0,
    "title": "Discord",
    "category": "Software",
    "route": "https://svgl.app/library/discord.svg",
    "url": "https://discord.com/"
  },
  ...
]
/api/svgs?category=software

// Returns:
[
  {
    "id": 0,
    "title": "Discord",
    "category": "Software",
    "route": "https://svgl.app/library/discord.svg",
    "url": "https://discord.com/"
  },
  ...
]

The list of categories is available here (except for the all category).

/api/categories

// Returns:
[
  {
    "category": "Software",
    "total": 97
  },
  {
    "category": "Library",
    "total": 25
  },
  ...
]
/api/svgs?search=axiom

// Returns:
[
  {
    "id": 267,
    "title": "Axiom",
    "category": "Software",
    "route": {
      "light": "https://svgl.app/library/axiom-light.svg",
      "dark": "https://svgl.app/library/axiom-dark.svg"
    },
    "url": "https://axiom.co/"
  }
]