Pexafy

Pexafy is a semantic (meaning-based) search engine over free-licence stock photography. One request queries nine free stock-photo libraries — Unsplash, Pexels, Pixabay, StockSnap, Picjumbo, Kaboompics, Burst, Skitterphoto and NegativeSpace, plus Wikimedia Commons since description 1.3.0 — and returns every photo in one normalised JSON schema with dimensions, dominant colour, orientation, photographer, licence and a ready-made attribution string. Queries are written as full sentences in any of 100+ languages and ranked by meaning rather than keyword overlap; an image can be posted instead of text to find visually similar photos, and results can be filtered by colour, orientation, licence, source, photographer or date. The API is self-serve — a key is issued immediately from the dashboard with no application review and no mandatory download-tracking callback — and the same catalogue is exposed to LLM clients through a hosted, OAuth-protected MCP server at mcp.pexafy.com.

Pexafy publishes 5 APIs on the APIs.io network, including Collections API, Facets API, Photos API, and 2 more. Tagged areas include Image, Photos, Stock Photos, Image Search, and Semantic Search.

Pexafy’s developer surface includes support, engineering blog, authentication, CLI, changelog, and 23 more developer resources.

64.2/100 strong ▬ flat Agent 59/100 agent ready saas Full breakdown ↓
scored 2026-09-01 · rubric v0.17.2
2 APIs 2 MCP Servers
ImagePhotosStock PhotosImage SearchSemantic SearchComputer-VisionEmbeddingsMCPagent-nativeContent Licensing

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-09-01 · rubric v0.17.2
Composite quality — 64.2/100 · strong
Contract Quality 13.2 / 25
Developer Ergonomics 15.7 / 20
Access Clarity 15.3 / 20
Operational Transparency 9.6 / 13
Contract Governance 2.2 / 12
Discoverability 8.3 / 10
Agent readiness — 59/100 · agent ready
Machine-Readable Contract 18 / 18
Agentic Access Contract 10 / 10
Documented Reversibility 0 / 6
MCP Server 12 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 0 / 6
Agent Skills 5 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
A2A Agent Card 0 / 8
Dry-Run / Simulate Mode 0 / 4
Delegated User Identity 6 / 6
Protected Resource Metadata 5 / 5
Registration Without a Human 6 / 6
Agentic Commerce Surface 0 / 5
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/pexafy: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 5

Individual APIs this provider publishes, each with its own machine-readable definition.

Pexafy Collections API

Saved sets, owned by an API key.

Pexafy Facets API

What the filters accept.

Pexafy Photos API

One photo at a time.

Pexafy Search API

Finding photos.

Pexafy Usage API

Quota counters.

MCP Servers 2

Model Context Protocol servers that expose these APIs to AI agents.

Pexafy MCP Server

Live MCP, gated: initialize returns 401 with an explicit OAuth prompt ("This MCP server needs to know who you are"). Present and auth-required, not absent. Verified 2026-08-31.

MCP SERVER

Pexafy MCP Server

MCP SERVER

Pricing Plans 1

Published pricing tiers and plan structures.

Pexafy Plans Pricing

7 plans

PLANS

Rate Limits 1

Documented rate limits and quota policies.

Pexafy Rate Limits

7 limits

RATE LIMITS

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Pexafy Authentication

apiKey/http/oauth2 · 3 schemes

SECURITY

Pexafy Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Scopes 1

OAuth scopes governing access to this provider's APIs.

Pexafy Scopes

2 scopes · authorizationCode

2 scopes

SCOPES

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Pexafy Agentic Access

37 operations · 10 acting

37 operations · 10 acting

AGENTIC

Resources

Get Started 2

Portal, sign-up, and the first successful call

Agent Surfaces 6

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 5

Pagination, idempotency, versioning, errors, and events

Build 4

SDKs, sample code, and the tooling you integrate with

Access & Security 3

Authentication, authorization, and security posture

Operate 5

Status, limits, changes, and where to get help

Commercial 1

Pricing, plans, and the legal terms of use

Company 1

The organization behind the API

Other 1

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
name: Pexafy
description: Pexafy is a semantic (meaning-based) search engine over free-licence stock photography. One request queries nine
  free stock-photo libraries — Unsplash, Pexels, Pixabay, StockSnap, Picjumbo, Kaboompics, Burst, Skitterphoto and NegativeSpace,
  plus Wikimedia Commons since description 1.3.0 — and returns every photo in one normalised JSON schema with dimensions,
  dominant colour, orientation, photographer, licence and a ready-made attribution string. Queries are written as full sentences
  in any of 100+ languages and ranked by meaning rather than keyword overlap; an image can be posted instead of text to find
  visually similar photos, and results can be filtered by colour, orientation, licence, source, photographer or date. The
  API is self-serve — a key is issued immediately from the dashboard with no application review and no mandatory download-tracking
  callback — and the same catalogue is exposed to LLM clients through a hosted, OAuth-protected MCP server at mcp.pexafy.com.
deliveryModel:
  model: saas
  open_source: false
  commercial: true
  callable_host: false
  label: Hosted service · you call their endpoint
  confidence: medium
  source:
  - pricing
  generated: '2026-08-28'
  method: derived
image: https://pexafy.com/static/img/favicon.png
url: https://pexafy.com/.well-known/apis.json
created: '2026-08-27'
modified: '2026-08-27'
specificationVersion: '0.21'
tags:
- Image
- Photos
- Stock Photos
- Image Search
- Semantic Search
- Computer-Vision
- Embeddings
- MCP
- agent-native
- Content Licensing
tags_raw:
- images
- photos
- stock photos
- image search
- semantic search
- computer vision
- embeddings
- mcp
- agent-native
- content licensing
apis:
- aid: pexafy:pexafy-collections-api
  name: Pexafy Collections API
  description: Saved sets, owned by an API key.
  humanURL: https://docs.pexafy.com
  baseURL: https://api.pexafy.com
  tags:
  - Collection
  tags_raw:
  - collections
  properties:
  - type: OpenAPI
    url: openapi/pexafy-collections-api-openapi.yml
  - type: Documentation
    url: https://docs.pexafy.com
  - type: APIReference
    url: https://docs.pexafy.com/api-reference
  - type: GettingStarted
    url: https://docs.pexafy.com/quickstart
  - type: SignUp
    url: https://pexafy.com/signup/
  - type: Pricing
    url: https://pexafy.com/pricing/
  - type: TermsOfService
    url: https://pexafy.com/legal/terms/
  - type: PrivacyPolicy
    url: https://pexafy.com/legal/privacy/
  - type: StatusPage
    url: https://status.pexafy.com
  - type: LLMSTxt
    url: https://pexafy.com/llms.txt
  - type: APIOnboarding
    url: https://pexafy.com/.well-known/api-onboarding
  - type: ToolCrosswalk
    url: mcp/pexafy-tool-crosswalk.yml
- aid: pexafy:pexafy-facets-api
  name: Pexafy Facets API
  description: What the filters accept.
  humanURL: https://docs.pexafy.com
  baseURL: https://api.pexafy.com
  tags:
  - Facets
  tags_raw:
  - facets
  properties:
  - type: OpenAPI
    url: openapi/pexafy-facets-api-openapi.yml
  - type: Documentation
    url: https://docs.pexafy.com
  - type: APIReference
    url: https://docs.pexafy.com/api-reference
  - type: GettingStarted
    url: https://docs.pexafy.com/quickstart
  - type: SignUp
    url: https://pexafy.com/signup/
  - type: Pricing
    url: https://pexafy.com/pricing/
  - type: TermsOfService
    url: https://pexafy.com/legal/terms/
  - type: PrivacyPolicy
    url: https://pexafy.com/legal/privacy/
  - type: StatusPage
    url: https://status.pexafy.com
  - type: LLMSTxt
    url: https://pexafy.com/llms.txt
  - type: APIOnboarding
    url: https://pexafy.com/.well-known/api-onboarding
  - type: ToolCrosswalk
    url: mcp/pexafy-tool-crosswalk.yml
- aid: pexafy:pexafy-photos-api
  name: Pexafy Photos API
  description: One photo at a time.
  humanURL: https://docs.pexafy.com
  baseURL: https://api.pexafy.com
  tags:
  - Photos
  tags_raw:
  - photos
  properties:
  - type: OpenAPI
    url: openapi/pexafy-photos-api-openapi.yml
  - type: Documentation
    url: https://docs.pexafy.com
  - type: APIReference
    url: https://docs.pexafy.com/api-reference
  - type: GettingStarted
    url: https://docs.pexafy.com/quickstart
  - type: SignUp
    url: https://pexafy.com/signup/
  - type: Pricing
    url: https://pexafy.com/pricing/
  - type: TermsOfService
    url: https://pexafy.com/legal/terms/
  - type: PrivacyPolicy
    url: https://pexafy.com/legal/privacy/
  - type: StatusPage
    url: https://status.pexafy.com
  - type: LLMSTxt
    url: https://pexafy.com/llms.txt
  - type: APIOnboarding
    url: https://pexafy.com/.well-known/api-onboarding
  - type: ToolCrosswalk
    url: mcp/pexafy-tool-crosswalk.yml
- aid: pexafy:pexafy-search-api
  name: Pexafy Search API
  description: Finding photos.
  humanURL: https://docs.pexafy.com
  baseURL: https://api.pexafy.com
  tags:
  - Search
  tags_raw:
  - search
  properties:
  - type: OpenAPI
    url: openapi/pexafy-search-api-openapi.yml
  - type: Documentation
    url: https://docs.pexafy.com
  - type: APIReference
    url: https://docs.pexafy.com/api-reference
  - type: GettingStarted
    url: https://docs.pexafy.com/quickstart
  - type: SignUp
    url: https://pexafy.com/signup/
  - type: Pricing
    url: https://pexafy.com/pricing/
  - type: TermsOfService
    url: https://pexafy.com/legal/terms/
  - type: PrivacyPolicy
    url: https://pexafy.com/legal/privacy/
  - type: StatusPage
    url: https://status.pexafy.com
  - type: LLMSTxt
    url: https://pexafy.com/llms.txt
  - type: APIOnboarding
    url: https://pexafy.com/.well-known/api-onboarding
  - type: ToolCrosswalk
    url: mcp/pexafy-tool-crosswalk.yml
- aid: pexafy:pexafy-usage-api
  name: Pexafy Usage API
  description: Quota counters.
  humanURL: https://docs.pexafy.com
  baseURL: https://api.pexafy.com
  tags:
  - Usage
  tags_raw:
  - usage
  properties:
  - type: OpenAPI
    url: openapi/pexafy-usage-api-openapi.yml
  - type: Documentation
    url: https://docs.pexafy.com
  - type: APIReference
    url: https://docs.pexafy.com/api-reference
  - type: GettingStarted
    url: https://docs.pexafy.com/quickstart
  - type: SignUp
    url: https://pexafy.com/signup/
  - type: Pricing
    url: https://pexafy.com/pricing/
  - type: TermsOfService
    url: https://pexafy.com/legal/terms/
  - type: PrivacyPolicy
    url: https://pexafy.com/legal/privacy/
  - type: StatusPage
    url: https://status.pexafy.com
  - type: LLMSTxt
    url: https://pexafy.com/llms.txt
  - type: APIOnboarding
    url: https://pexafy.com/.well-known/api-onboarding
  - type: ToolCrosswalk
    url: mcp/pexafy-tool-crosswalk.yml
maintainers:
- FN: Pexafy
  email: support@pexafy.com
  url: https://pexafy.com
  GitHub: https://github.com/Pexafy
  LinkedIn: https://www.linkedin.com/company/pexafy
aid: pexafy
common:
- type: MCPServer
  url: https://mcp.pexafy.com/mcp
  description: 'Live MCP, gated: initialize returns 401 with an explicit OAuth prompt ("This MCP server needs to know who
    you are"). Present and auth-required, not absent. Verified 2026-08-31.'
- type: DeveloperPortal
  url: https://docs.pexafy.com
- type: Support
  url: https://pexafy.com/contact/
- type: HelpCenter
  url: https://pexafy.com/faq/
- type: Blog
  url: https://pexafy.com/blog/
- type: GitHubOrganization
  url: https://github.com/Pexafy
- type: Login
  url: https://pexafy.com/auth/login/
- type: AgenticAccess
  url: agentic-access/pexafy-agentic-access.yml
- type: DomainSecurity
  url: security/pexafy-domain-security.yml
- type: Authentication
  url: authentication/pexafy-authentication.yml
- type: OAuthScopes
  url: scopes/pexafy-scopes.yml
- type: WellKnown
  url: well-known/pexafy-well-known.yml
- type: LLMsTxt
  url: llms/pexafy-llms.txt
- type: MCPServer
  url: mcp/pexafy-mcp.yml
- type: Packages
  url: packages/pexafy-packages.yml
- type: SDKs
  url: packages/pexafy-packages.yml
- type: CLI
  url: cli/pexafy-cli.yml
- type: Conventions
  url: conventions/pexafy-conventions.yml
- type: ErrorCatalog
  url: errors/pexafy-problem-types.yml
- type: Lifecycle
  url: lifecycle/pexafy-lifecycle.yml
- type: Deprecation
  url: https://github.com/Pexafy/pexafy-openapi
- type: ChangeLog
  url: changelog/pexafy-changelog.yml
- type: Conformance
  url: conformance/pexafy-conformance.yml
- type: DataModel
  url: data-model/pexafy-data-model.yml
- type: Overlay
  url: overlays/pexafy-api-overlay.yaml
- type: RateLimits
  url: rate-limits/pexafy-rate-limits.yml
- type: Plans
  url: plans/pexafy-plans-pricing.yml
- type: AgentSkill
  url: skills/_index.yml
x-enrichment:
  date: '2026-08-27'
  status: enriched
  artifacts_added: 33
  pass: local-v1

Work with this as data

Every provider 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 providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • 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 provider
curl "https://apis.io/api/v1/providers/pexafy"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/pexafy/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/pexafy/evidence"

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

Get an API key

Free tier, no email required.

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