Skip to main content

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:

GitPOAP Badge