Skip to content

Commit

Permalink
Add API instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
marcelscruz committed May 10, 2024
1 parent 7a91207 commit e77cd9c
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 0 deletions.
72 changes: 72 additions & 0 deletions API.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# API

This repository auto-generates the `/db` folder after each commit to `main`. The folder includes two files:

`categories.json` - A list of all categories

`resources.json` - A list of all APIs

You can then use [Octokit](https://github.com/octokit) to fetch the data from the `db` folder.

Here's a minimal snippet on how to accomplish that:

```ts
import { Octokit } from 'octokit'

async function fetchResources(file: string) {
const octokit = new Octokit({ auth: process.env.GITHUB_ACCESS_TOKEN })

const { data } = await octokit.rest.repos.getContent({
owner: 'marcelscruz',
repo: 'public-apis',
path: `/db/${file}.json`,
})

if (data.download_url) {
const result = await fetch(data.download_url)

if (!result.ok) {
throw new Error(`Unexpected response ${result.statusText}`)
}

return await result.json()
} else {
throw new Error('Download URL not found')
}
}
```

The response will be an object with the following structure:

`categories.json`:

```ts
{
"count": number,
"entries": [
{
"name": string,
"slug": string
}
]
}
```

`resources.json`:

```ts
{
"count": number,
"entries": [
{
"API": string,
"Auth": string,
"Category": string,
"Cors": string,
"Description": string,
"HTTPS": boolean,
"Link": string,
}
]
}
```
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
<div align="center">
<sub>The Project</sub>
<br />
<a href="API.md">API</a> •
<a href="CONTRIBUTING.md">Contributing Guide</a> •
<!-- Let's re-added this API once it starts using the APIs from this repository -->
<!-- <a href="https://github.com/davemachado/public-api">API for this project</a> • -->
Expand Down

0 comments on commit e77cd9c

Please sign in to comment.