Public API
API Endpoint: https://public-api.gitpoap.io/
If you have any questions, comments, or suggestions, please reach out in the #gitpoap channel of the POAP Discord, or send us a message at team at gitpoap.io
Version 1
Note that the public API limits individual IPs to a maximum of 100 requests within a 5 minute window.
GET /v1/poap/:poapTokenId/is-gitpoap
This endpoint allows users to query whether some poapTokenId
is a GitPOAP or not.
In the case that the poapTokenId
corresponds to some claimed GitPOAP, the API will return
something like:
{
"isGitPOAP": true,
"gitPOAPId": 4003
}
And in the case that it is not a GitPOAP:
{
"isGitPOAP": false
}
GET /v1/poap/gitpoap-ids
This endpoint returns all of the POAP Token IDs that are GitPOAPs. It will return data like:
{
"poapTokenIds": [
"4637848",
"4638134",
"4641290",
"4641645"
]
}
GET /v1/poap-event/:poapEventId/is-gitpoap
This endpoint allows users to query whether some poapEventId
is for GitPOAP project
contribution level. In the case that the poapEventId
is for a GitPOAP project contribution
level, it will return something like:
{
"isGitPOAP": true,
"gitPOAPId": 3001
}
And in the case that it is not a GitPOAP project contribution level:
{
"isGitPOAP": false
}
GET /v1/poap-event/gitpoap-event-ids
This endpoint returns all of the POAP Event IDs that are GitPOAP Events. It will return data like:
{
"poapEventIds": [
37428,
37430,
37556,
37557
]
}
GET /v1/poap-event/gitpoap-event-fancy-ids
This endpoint returns all of the POAP Event Fancy IDs that are GitPOAP Events. It will return data like:
{
"poapEventFancyIds": [
"2022-wagyu-installer-contributor-2022",
"2022-wagyu-key-gen-contributor-2022",
"gitpoap-2015-truffle-contributor-2015",
"gitpoap-2016-truffle-contributor-2016"
]
}
GET /v1/gitpoaps/events
This endpoint allows user to query for information on all the GitPOAPs that have been released so far. It will return data in the form:
{
"gitPoapEvents": [{
"gitPoapEventId": 32423,
"poapEventId": 343,
"poapEventFancyId": "gitpoap-gitpoap-docs-level-2-contributor-2022",
"name": "GitPOAP: gitpoap-docs Level 2 Contributor 2022",
"year": 2022,
"description": "You've made at least 5 contributions to the gitpoap-docs project in 2022!",
"imageUrl": "https://assets.poap.xyz/gitpoap-2022-devconnect-hackathon-gitpoap-team-contributor-2022-logo-1650466033470.png",
"repositories": ["gitpoap/gitpoap-docs"],
"mintedCount": 5,
}]
}
GET /v1/gitpoaps/:gitPoapEventId/addresses
This endpoint allows users to query for a list of addresses that hold a GitPOAP specified by GitPOAP Event ID. It returns something like:
{
"addresses": [
"0x4b412F5eF87A2F85Fc8C6f90728d2D03941aFd80",
"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"
]
}
If there are no holders, it returns something like:
{
"addresses": []
}
And in the case that no GitPOAP with that ID is found, it returns the following with a 404:
{
"message": "GitPOAP not found"
}
GET /v1/gitpoaps/addresses
This endpoint allows users to query for a list of all addresses that hold any GitPOAP. It returns something like:
{
"addresses": [
"0x4b412F5eF87A2F85Fc8C6f90728d2D03941aFd80",
"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"0x02738d122e0970aAf8DEADf0c6A217a1923E1e99",
"0xae95f7e7fb2fcf86148ef832faed2752ae5a358a"
]
}
GET /v1/address/:address/gitpoaps
This endpoint allows users to query for some address's (either an ETH or ENS address) GitPOAPs. This returns data like:
[
{
"gitPoapId": 2,
"gitPoapEventId": 1,
"poapTokenId": "4638134",
"poapEventId": 37428,
"poapEventFancyId": "2022-wagyu-installer-contributor",
"name": "2022 Wagyu Installer Contributor",
"year": 2022,
"description": "You contributed at least one merged pull request to the Wagyu Installer project in 2022. Your contributions are greatly valued.",
"imageUrl": "https://assets.poap.xyz/2022-wagyu-installer-contributor-2022-logo-1649213116205.png",
"repositories": ["stake-house/wagyu-installer"],
"earnedAt": "2022-01-20",
"mintedAt": "2022-04-06"
}
]
GET /v1/github/user/:githubHandle/gitpoaps?status=<status>
This endpoint allows users to query for minted GitPOAPs associated with a specified GitHub handle. The status
query parameter is one of
the following: claimed
, unclaimed
, pending
, minting
, and can be omitted completely. This returns data like:
[
{
"gitPoapId": 34,
"gitPoapEventId": 32423,
"poapTokenId": "2432",
"poapEventId": 343,
"poapEventFancyId": "gitpoap-gitpoap-docs-level-2-contributor-2022",
"name": "GitPOAP: gitpoap-docs Level 2 Contributor 2022",
"year": 2022,
"description": "You've made at least 5 contributions to the gitpoap-docs project in 2022!",
"imageUrl": "https://assets.poap.xyz/gitpoap-2022-devconnect-hackathon-gitpoap-team-contributor-2022-logo-1650466033470.png",
"repositories": ["gitpoap/gitpoap-docs"],
"earnedAt": "2022-04-25",
"mintedAt": "2022-05-22"
}
]
GET /v1/repo/:owner/:name/badge
This endpoint generates a GitHub badge containing the count of minted GitPOAPs for a specified repo. The repo is specified with a GitHub owner and repo name & the endpoint will return a SVG for use in any .md
file such as a README.md
.
Using ethereum/ethereum-org-website
as an example via https://public-api.gitpoap.io/v1/repo/ethereum/ethereum-org-website/badge, embed the badge in a .md
file the following way:
[![GitPOAP Badge](https://public-api.gitpoap.io/v1/repo/gitpoap/gitpoap-docs/badge)](https://www.gitpoap.io/gh/gitpoap/gitpoap-docs)
Resulting in the following: