Artsy Authentication
Artsy secures its APIs with apiKey and oauth2 across 3 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode, password, and custom-oauth_token-exchange flow(s).
Security Schemes
Source
Authentication Profile
generated: '2026-09-07'
method: searched
source: https://developers.artsy.net/v2/docs/authentication
docs: https://developers.artsy.net/v2/docs/authentication
note: >-
The harvested Swagger 2.0 contract at https://api.artsy.net/api/docs/ declares NO securityDefinitions,
so derive-authentication.py found nothing to aggregate. This profile is read from the provider's own
authentication documentation instead, which describes four token mechanisms in prose. Nothing here is
inferred: every scheme, endpoint, header name and lifetime below is stated on that page.
summary:
types: [apiKey, oauth2]
api_key_in: [header]
oauth2_flows: [authorizationCode, password, custom-oauth_token-exchange]
spec_declares_security: false
credentials:
registration: https://developers.artsy.net/v2/docs/getting-started
console: https://developers.artsy.net/client_applications
issued: client_id + client_secret, per client application
schemes:
- name: XappToken
type: apiKey
in: header
parameter_name: X-Xapp-Token
description: >-
Anonymous application-level token. Obtained by POSTing client_id and client_secret to
/api/tokens/xapp_token; the response carries type, token and expires_at. This is the token most
public-domain read traffic uses — no user account required.
token_endpoint: https://api.artsy.net/api/tokens/xapp_token
source_operation: openapi/artsy-public-api-openapi.yml#postApiTokensXappToken
sources: [https://developers.artsy.net/v2/docs/authentication]
- name: UserAccessToken
type: apiKey
in: header
parameter_name: X-Auth-Token
description: >-
User-scoped token returned by every /oauth2/access_token grant below. Revoked by
DELETE /api/tokens/access_token.
revocation_operation: openapi/artsy-public-api-openapi.yml#deleteApiTokensAccessToken
sources: [https://developers.artsy.net/v2/docs/authentication]
- name: OAuth2
type: oauth2
description: >-
Artsy acts as an OAuth 2 provider for user login. Redirect URIs are NOT restricted per
application and the provider states users are prompted to trust the application on every login
— documented as a known limitation, not a configuration option.
flows:
- flow: authorizationCode
authorizationUrl: https://api.artsy.net/oauth2/authorize
tokenUrl: https://api.artsy.net/oauth2/access_token
grant_type: authorization_code
parameters: [client_id, client_secret, code, grant_type, state, scope]
- flow: password
tokenUrl: https://api.artsy.net/oauth2/access_token
grant_type: credentials
parameters: [client_id, client_secret, grant_type, email, password, scope]
note: >-
Email/password exchange. The provider's own documentation says this is "not recommended".
- flow: token-exchange
tokenUrl: https://api.artsy.net/oauth2/access_token
grant_type: oauth_token
parameters: [client_id, client_secret, grant_type, oauth_token, oauth_token_secret, oauth_provider]
note: >-
Non-standard grant that exchanges a Facebook or Twitter social token for an Artsy token.
oauth_provider is either "facebook" or "twitter".
sources: [https://developers.artsy.net/v2/docs/authentication]
token_lifetime:
default: 60 days
offline_access: 25 years
note: >-
Verbatim from the provider: setting scope to "offline_access" requests a token that expires in
25 years instead of the standard 60 days. XAPP tokens carry their own expires_at in the response.
error_envelope:
fields: [error, error_description]
note: OAuth 2 error code plus a human-readable description, per the authentication page.
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.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/security/artsy-authentication"
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.