Every.org · Authentication Profile

Every Org Authentication

Authentication

Every.org's Partner (Charity) API authenticates with two classes of API key issued from the Every.org developer dashboard. Public keys authorize read access to publicly available nonprofit data and are passed as a URL query parameter; private keys authorize privileged account actions and are presented over HTTP Basic authentication with a public key as the username. There is no OAuth 2.0, OpenID Connect, or mutual-TLS surface — no /.well-known/oauth-authorization-server or /.well-known/openid-configuration document is served on any Every.org host (all probed 404 on 2026-08-28).

Every.org declares 2 security scheme(s) across its OpenAPI definitions.

CharitiesDonationsFundraisingNon-ProfitPhilanthropyWebhookGiving
Methods: Schemes: 2 OAuth flows: API key in:

Security Schemes

apiKey apiKey
· in: query ()
http
scheme: basic

Source

Authentication Profile

every-org-authentication.yml Raw ↑
generated: '2026-08-28'
method: searched
source: https://docs.every.org/docs/endpoints/authentication
provider: Every.org
providerId: every-org
docs: https://docs.every.org/docs/endpoints/authentication
description: >-
  Every.org's Partner (Charity) API authenticates with two classes of API key issued from the
  Every.org developer dashboard. Public keys authorize read access to publicly available nonprofit
  data and are passed as a URL query parameter; private keys authorize privileged account actions
  and are presented over HTTP Basic authentication with a public key as the username. There is no
  OAuth 2.0, OpenID Connect, or mutual-TLS surface — no /.well-known/oauth-authorization-server or
  /.well-known/openid-configuration document is served on any Every.org host (all probed 404 on
  2026-08-28).
key_issuance:
  console: https://www.every.org/charity-api
  note: >-
    Keys are generated from the developer dashboard after creating an Every.org account at
    every.org/charity-api. Private keys are shown ONCE at generation and are not retrievable
    afterwards.
schemes:
  - id: publicKeyQuery
    type: apiKey
    in: query
    name: apiKey
    label: Public key
    description: >-
      Required to query publicly accessible data. Endpoints that accept only public-key
      authentication accept GET requests only. Public keys are explicitly documented as safe for
      both server-side and public-facing client-side use, though Every.org reserves the right to
      block a key for inappropriate usage.
    secret: false
    applies_to:
      - GET /v0.2/nonprofit/{identifier}
      - GET /v0.2/search/{searchTerm}
      - GET /v0.2/browse/{cause}
      - GET /v0.2/nonprofit/{nonprofitIdentifier}/fundraiser/{fundraiserIdentifier}
      - GET /v0.2/nonprofit/{nonprofitIdentifier}/fundraiser/{fundraiserIdentifier}/raised
    example: https://partners.every.org/v0.2/search/pets?apiKey=REDACTED_PUBLIC_KEY
  - id: privateKeyBasic
    type: http
    scheme: basic
    label: Private key
    description: >-
      Required for privileged, account-scoped writes. Username is any public key associated with
      the account; password is a private key associated with the same account. Documented as
      "must be kept out of publicly-accessible areas like client-side applications or version
      control".
    secret: true
    username: public key
    password: private key
    applies_to:
      - POST /v0.2/fundraiser
transport:
  https_required: true
  hsts: max-age=15552000; includeSubDomains; preload
missing_on_401:
  observed: >-
    An unauthenticated GET https://partners.every.org/v0.2/search/pets returns HTTP 400 with the
    plain-text body "API key missing" — not 401, and not a structured error object.
  probed: '2026-08-28'
oauth: false
oidc: false
mtls: false
scopes:
  supported: false
  note: >-
    Key-auth only. There is no scope or permission surface to enumerate, so no scopes/ artifact
    is emitted (per the pipeline's OAuth-only rule for scopes).
maintainers:
  - FN: Kin Lane
    email: kin@apievangelist.com

Work with this as data

Every security artifact here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/every-org-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.