snapWONDERS provides free photo and video forensics tools that expose GPS data, device fingerprints, and metadata. It also offers Vaultify, a steganography service that hides any file inside a photo or video using military‑grade encryption. The platform operates over clearnet, Tor, and I2P, offering REST and MCP APIs for forensic analysis, steganography, and media conversion, with open‑source SDKs for Python, JavaScript, PHP, and Go.
snapwonders-com publishes 8 API contracts indexed on the APIs.io network, including Analyse API, Convert API, Hide API, and 5 more. Tagged areas include Forensics, Steganography, MediaConversion, Privacy, and Open Source.
The snapwonders-com catalog on APIs.io includes 1 Spectral governance ruleset.
snapwonders-com’s developer surface includes authentication, documentation, API reference, getting-started guide, pricing, signup flow, and 26 more developer resources.
Regulatory Posture applies to this provider. Its tags matched the
Horizontal (data, software, accessibility, platform) regime, so
Regulatory Posture carries 15 points of the composite.
If this regime is wrong for your business, say so on your
provider repo — the
applicability map is public and we will correct it.
Create-or-Update Ergonomics could not be measured. We hold no machine-readable contract for
this provider to read, so there is nothing to measure a write surface against. Excluded rather than scored zero:
never-measured and measured-empty are different facts. Publishing an OpenAPI is what makes this facet — and
several others — scorable at all.
The six quality facets above are damped to 85 points between them,
because the conditional facet above carries the other
15. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 85% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Show this score on your site.
It updates itself when the score changes. Paste this where you link to your API docs:
<a href="https://apis.io/providers/snapwonders-com/"><img src="https://apis.io/badge/snapwonders-com/card.svg" alt="snapwonders-com on APIs.io — Kin Score by API Evangelist"></a>
Other styles, a README pill and a shields.io endpoint are on the badge page.
Raise your score.
Agent readiness — checks not met, largest first (exact, from this profile):
Idempotency+9 pts — OpenAPI mutating operations declare an idempotency key — a header, a request-body property, or a named de-duplication token whose own description says so (verified); else common[].type matches /idempoten/i (documented)
A2A Agent Card+8 pts — a2a/-a2a.yml manifest, graded on conformance.grade against A2A 1.0.0
Rate-Limit Signaling+7 pts — OpenAPI responses document X-RateLimit-* / RateLimit headers (verified), else a rate_limits artifact or RateLimits link (documented)
Delegated User Identity+6 pts — a served discovery document listing authorization_code in grant_types_supported (served), else an oauth2 authorizationCode flow or openIdConnect declared in an OpenAPI (documented)
**Analyse images and videos for forensic integrity.** Detects faces, text regions, watermarks, and manipulation artefacts. Returns a per-file forensic grade (A–F) with detailed ...
**Convert images, videos, and PDFs to different formats.** Supports format conversion, quality control, image resize, video resolution cap, metadata stripping, and PDF-to-image ...
**Conceal content inside a cover image.** The output is a stego image visually identical to the original cover that carries an encrypted hidden payload. All endpoints require `X...
Model Context Protocol endpoint for AI agent integration. 19 tools across steganography (`vaultify_*`), forensic analysis (`snapwonders_analyse_*`), and media conversion (`snapw...
**Start here.** One request per file: `POST /api/upload` with the file as the request body and four plain headers (`X-Api-Key`, `X-Upload-Uid`, `X-Filename`, `Content-Type`). No...
The [TUS](https://tus.io) resumable protocol at `/api/tus` — several requests per file: `POST` to create the upload, `PATCH` to send chunks, `HEAD` to query the offset and resum...
**Extract hidden content from a stego image.** Requires the same password used when the content was originally hidden. All endpoints require `X-Api-Key`. **Workflow — 6 steps:**...
Overlays applied on top of this provider's contracts. Each card says who wrote it: a document the provider publishes, or one API Evangelist derived or generated.
aid: snapwonders-com
name: snapwonders-com
description: snapWONDERS provides free photo and video forensics tools that expose GPS data, device fingerprints, and metadata.
It also offers Vaultify, a steganography service that hides any file inside a photo or video using military‑grade encryption.
The platform operates over clearnet, Tor, and I2P, offering REST and MCP APIs for forensic analysis, steganography, and
media conversion, with open‑source SDKs for Python, JavaScript, PHP, and Go.
url: https://artifacts.apis.io/snapwonders-com/apis.yml
x-type: company
x-source: harvest:mcp-registry
x-tier: profiled
x-tier-reason: enrichment pass 2026-10-30 (modular-v1; was harvest)
specificationVersion: '0.20'
created: '2026-10-30'
modified: '2026-10-30'
tags:
- Forensics
- Steganography
- MediaConversion
- Privacy
- Open Source
tags_raw:
- Forensics
- Steganography
- MediaConversion
- Privacy
- OpenSource
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
- FN: APIs.json
email: info@apis.io
image: https://snapwonders.com/images/og/og-snapwonders.png
common:
- type: IntegrationEdges
url: integrations/snapwonders-com-integration-edges.yml
- type: AgenticAccess
url: agentic-access/snapwonders-com-agentic-access.yml
- type: Spectral
url: rules/snapwonders-com-rules.yml
- type: Vocabulary
url: vocabulary/snapwonders-com-vocabulary.yml
- type: AgentSkill
url: skills/_index.yml
- type: Security
url: https://snapwonders.com/vulnerability-disclosure-policy
- type: Authentication
url: authentication/snapwonders-com-authentication.yml
- type: ErrorCatalog
url: errors/snapwonders-com-problem-types.yml
- type: Conformance
url: conformance/snapwonders-com-conformance.yml
- type: LLMsTxt
url: llms/snapwonders-com-llms.txt
- type: ToolCrosswalk
url: mcp/snapwonders-com-tool-crosswalk.yml
- type: MCPServer
url: mcp/snapwonders-com-mcp.yml
- type: SecurityTxt
url: well-known/snapwonders-com-vaultify-security.txt
- type: SecurityTxt
url: well-known/snapwonders-com-security.txt
- type: WellKnown
url: well-known/snapwonders-com-well-known.yml
- type: Hosts
url: hosts/snapwonders-com-hosts.yml
- type: Vendors
url: vendors/snapwonders-com-vendors.yml
- type: SDKs
url: packages/snapwonders-com-packages.yml
- type: Packages
url: packages/snapwonders-com-packages.yml
- type: PrivacyPolicy
url: https://snapwonders.com/privacy-policy
- type: Newsroom
url: https://snapwonders.com/news
- type: VulnerabilityDisclosure
url: security/snapwonders-com-vulnerability-disclosure.yml
- type: DomainSecurity
url: security/snapwonders-com-domain-security.yml
- type: Website
url: https://snapwonders.com/
- type: Documentation
url: https://snapwonders.com/developers
- type: APIReference
url: https://snapwonders.com/api
- type: GettingStarted
url: https://snapwonders.com/developers#getting-started
- type: DeveloperPortal
url: https://snapwonders.com/developers
- type: Pricing
url: https://snapwonders.com/pricing
- type: TermsOfService
url: https://snapwonders.com/terms-of-service
- type: SignUp
url: https://snapwonders.com/signup
- type: GitHubOrganization
url: https://github.com/snapWONDERS
apis:
- aid: snapwonders-com:snapwonders-com-analyse-api
name: snapwonders-com Analyse API
description: '**Analyse images and videos for forensic integrity.** Detects faces, text regions, watermarks, and manipulation
artefacts. Returns a per-file forensic grade (A–F) with detailed counts. All endpoints require `X-Api-Key`.
**Workflow — 6 steps:**
**Step 1 — Create a session**
`POST /api/analyse/session`
Returns `upload_uid` — include it in every upload for this session.
**Step 2 — Upload files to analyse**
`POST /api/upload` · headers `X-Upload-Uid`, `X-Filename`, `Content-Type`, file as the body.
One request per file. Large files or unreliable connections: TUS `POST /api/tus` with `Upload-Metadata: upload_uid <b64(uid)>,step
MQ==` instead.
**Step 3 — Verify all uploads are complete**
`GET /api/analyse/session/{uid}/files`
All files must show `"status":"completed"` before proceeding.
**Step 4 — Start the analysis job**
`POST /api/analyse/job` · Required: `upload_uid`
Optional: `face_detection`, `text_detection`, `face_sensitivity`, `expiry`
Watermark detection and forensic analysis are always enabled.
Returns `{"status":"queued", "job_uid": "..."}`.
**Step 5 — Poll until done**
`GET /api/analyse/job/{uid}` — repeat every few seconds.
Watch `status`: `queued` → `processing` → `completed` (or `partial` / `failed`).
**Step 6 — Read results**
`GET /api/analyse/job/{uid}/results`
Returns `result_items` with per-file `overall_grade` (A–F), `face_count`, `text_region_count`, and `watermark_flagged`.
Also returns `result_html_url` (browser result page) and `result_json_url` (machine-readable JSON result).
**Step 6b — Fetch results as JSON (optional)**
`GET /api/analyse/result/{job_uid}`
Returns the same result data as clean JSON — file names, grades, and detection counts only. No internal fields.'
humanURL: https://snapwonders.com/api
baseURL: https://snapwonders.com
tags:
- Analyse
properties:
- type: OpenAPI
url: openapi/snapwonders-com-analyse-api-openapi.yml
- aid: snapwonders-com:snapwonders-com-convert-api
name: snapwonders-com Convert API
description: '**Convert images, videos, and PDFs to different formats.** Supports format conversion, quality control, image
resize, video resolution cap, metadata stripping, and PDF-to-image rendering. All endpoints require `X-Api-Key`.
**Workflow — 6 steps:**
**Step 1 — Create a session**
`POST /api/convert/session`
Returns `upload_uid` — include it in every upload for this session.
**Step 2 — Upload files to convert**
`POST /api/upload` · headers `X-Upload-Uid`, `X-Filename`, `Content-Type`, file as the body.
One request per file. Large files or unreliable connections: TUS `POST /api/tus` with `Upload-Metadata: upload_uid <b64(uid)>,step
MQ==` instead. Supported types: images (JPEG, PNG, WebP, AVIF, HEIC, JXL), videos (MP4, MKV, WebM, MOV), PDFs.
**Step 3 — Verify all uploads are complete**
`GET /api/convert/session/{uid}/files`
All files must show `"status":"completed"` before proceeding.
**Step 4 — Start the conversion job**
`POST /api/convert/job` · Required: `upload_uid`
Optional: `image_format`, `video_format`, `image_quality`, `video_crf`, `video_max_dimension`, `strip_metadata`, `image_resize_width`,
`image_resize_height`, `pdf_dpi`, `pdf_page_from`, `pdf_page_to`, `expiry`
Returns `{"status":"queued", "job_uid": "..."}`.
**Step 5 — Poll until done**
`GET /api/convert/job/{uid}` — repeat every few seconds.
Watch `status`: `queued` → `processing` → `completed` (or `partial` / `failed`).
**Step 6 — Download converted files**
`GET /api/convert/job/{uid}/results`
Returns `result_items` with a `download_url` for each completed item.
`GET /api/convert/download/{itemUid}` — streams the output file (requires same `X-Api-Key`).'
humanURL: https://snapwonders.com/api
baseURL: https://snapwonders.com
tags:
- Convert
properties:
- type: OpenAPI
url: openapi/snapwonders-com-convert-api-openapi.yml
- aid: snapwonders-com:snapwonders-com-hide-api
name: snapwonders-com Hide API
description: '**Conceal content inside a cover image.** The output is a stego image visually identical to the original cover
that carries an encrypted hidden payload. All endpoints require `X-Api-Key`.
**Workflow — 7 steps:**
**Step 1 — Create a session**
`POST /api/session` · body: `{"type":"hide"}`
Returns `upload_uid` — include it in every upload for this session.
**Step 2 — Upload the content to hide (the secret)**
`POST /api/upload` · headers `X-Upload-Uid`, `X-Filename`, `Content-Type`, `X-Upload-Step: 1`, file as the body.
This is the image or video you want to conceal.
**Step 3 — Upload the cover image**
`POST /api/upload` · same headers but `X-Upload-Step: 2`. This is the carrier image the payload will be hidden inside.
A hide job needs both steps — `ready_for_job_start` stays false until the cover arrives.
Large files or unreliable connections: use TUS instead (`Upload-Metadata: upload_uid <b64(uid)>,step MQ==` / `Mg==`),
`POST` to create then `PATCH` the raw binary until all bytes are sent.
**Step 4 — Verify both uploads are complete**
`GET /api/session/{uid}/files`
Both files must show `"status":"completed"` before proceeding. If any show `"pending"`, the upload is still in progress.
**Step 5 — Start the processing job**
`POST /api/job` · Required: `upload_uid`, `password`, `expiry`
Optional encoding: `output_format`, `packing_strategy`, `scale_secret_to_fit`, `strip_cover_metadata`, `strip_secret_metadata`,
`video_output_format`, `secret_video_crf`, `secret_video_codec`
Returns `{"status":"queued", ...}`.
**Step 6 — Poll until done**
`GET /api/job/{uid}` — repeat every few seconds.
Watch `status`: `queued` → `processing` → `completed` (or `partial` / `failed`).
`progress_message` shows per-cover progress while processing.
**Step 7 — Download the stego output**
`GET /api/job/{uid}/results`
Returns `result_files` with a `download_url` for each stego output image (or video).'
humanURL: https://snapwonders.com/api
baseURL: https://snapwonders.com
tags:
- Hide
properties:
- type: OpenAPI
url: openapi/snapwonders-com-hide-api-openapi.yml
- aid: snapwonders-com:snapwonders-com-mcp-api
name: snapwonders-com MCP API
description: Model Context Protocol endpoint for AI agent integration. 19 tools across steganography (`vaultify_*`), forensic
analysis (`snapwonders_analyse_*`), and media conversion (`snapwonders_convert_*`). `X-Api-Key` required for all tools
except `status`, `vaultify_get_started`, and `snapwonders_get_started`.
humanURL: https://snapwonders.com/api
baseURL: https://snapwonders.com
tags:
- MCP
properties:
- type: OpenAPI
url: openapi/snapwonders-com-mcp-api-openapi.yml
- aid: snapwonders-com:snapwonders-com-media-upload-direct-api
name: snapwonders-com Media Upload - Direct API
description: '**Start here.** One request per file: `POST /api/upload` with the file as the request body and four plain
headers (`X-Api-Key`, `X-Upload-Uid`, `X-Filename`, `Content-Type`). No protocol to implement, no chunking, no offsets
— any HTTP client can do it, including one generated from this spec. Single-shot and **not resumable**: a dropped connection
means starting the file again.
**Limit: 95 MB (99,614,720 bytes) per file**, returned as `max_upload_bytes` by every session-create call — read it rather
than hard-coding. Larger files must use **Media Upload - TUS Resumable** below; a `413` here names that endpoint in its
body.
This is the method AI agents use over MCP, and the one to reach for in scripts, CI and server-to-server calls. Using an
official SDK? It chooses for you.'
humanURL: https://snapwonders.com/api
baseURL: https://snapwonders.com
tags:
- Media Upload - Direct
properties:
- type: OpenAPI
url: openapi/snapwonders-com-media-upload-direct-api-openapi.yml
- aid: snapwonders-com:snapwonders-com-media-upload-tus-resumable-api
name: snapwonders-com Media Upload - TUS Resumable API
description: 'The [TUS](https://tus.io) resumable protocol at `/api/tus` — several requests per file: `POST` to create the
upload, `PATCH` to send chunks, `HEAD` to query the offset and resume. More work to implement than **Media Upload - Direct**
above, and worth it for three things: **files over 95 MB**, connections that drop (mobile, Tor, I2P), and per-chunk progress
for a user watching an upload. This is what the snapWONDERS website and apps use.
Set `Upload-Metadata: upload_uid <b64(uid)>,step MQ==` for the primary file, or `step Mg==` for the cover media of a steganography
hide. Authenticates with `X-Api-Key`, same as everything else.
**No per-file size cap is applied at upload time** — size is checked when you start the job, against the total-size and
file-count limits for your account tier (Pro allows more than free). So a large file will upload successfully and may
still be rejected at `job_start`.'
humanURL: https://snapwonders.com/api
baseURL: https://snapwonders.com
tags:
- Media Upload - TUS Resumable
properties:
- type: OpenAPI
url: openapi/snapwonders-com-media-upload-tus-resumable-api-openapi.yml
- aid: snapwonders-com:snapwonders-com-reveal-api
name: snapwonders-com Reveal API
description: '**Extract hidden content from a stego image.** Requires the same password used when the content was originally
hidden. All endpoints require `X-Api-Key`.
**Workflow — 6 steps:**
**Step 1 — Create a session**
`POST /api/session` · body: `{"type":"reveal"}`
Returns `upload_uid` — include it in every upload for this session.
**Step 2 — Upload the stego image**
`POST /api/upload` · headers `X-Upload-Uid`, `X-Filename`, `Content-Type`, file as the body.
This is the carrier image that contains the hidden content.
Large files or unreliable connections: TUS `POST /api/tus` with `Upload-Metadata: upload_uid <b64(uid)>,step MQ==`, `POST`
to create then `PATCH` the raw binary.
**Step 3 — Verify the upload is complete**
`GET /api/session/{uid}/files`
The file must show `"status":"completed"` before proceeding.
**Step 4 — Start the extraction job**
`POST /api/job` · Required: `upload_uid`, `password`, `expiry`
Encoding options (`output_format`, etc.) are accepted but ignored for reveal jobs.
Returns `{"status":"queued", ...}`.
**Step 5 — Poll until done**
`GET /api/job/{uid}` — repeat every few seconds.
Watch `status`: `queued` → `processing` → `completed` (or `partial` / `failed`).
**Step 6 — Download the extracted content**
`GET /api/job/{uid}/results`
Returns `result_files` with a `download_url` for each file that was extracted from the stego image.'
humanURL: https://snapwonders.com/api
baseURL: https://snapwonders.com
tags:
- Reveal
properties:
- type: OpenAPI
url: openapi/snapwonders-com-reveal-api-openapi.yml
- aid: snapwonders-com:snapwonders-com-status-api
name: snapwonders-com Status API
description: Service health endpoint. No authentication required.
humanURL: https://snapwonders.com/api
baseURL: https://snapwonders.com
tags:
- Status
properties:
- type: OpenAPI
url: openapi/snapwonders-com-status-api-openapi.yml
x-enrichment:
date: '2026-10-30'
status: enriched
artifacts_added: 33
pass: modular-v1
engine: identity=oss,contract=oss,surfaces=oss,docs=oss,regulatory=oss
snapwonders-com API — frequently asked questions
Does snapwonders-com have an API?
Yes. APIs.io lists 8 APIs from snapwonders-com, including snapwonders-com Analyse API, snapwonders-com Convert API and snapwonders-com Hide API, and 5 more.
Is there an OpenAPI specification for the snapwonders-com API?
Yes. APIs.io indexes 8 OpenAPI specifications for snapwonders-com, each linked for download from this page.
How do I authenticate with the snapwonders-com API?
snapwonders-com uses bearer-token authentication (1 scheme). The details are profiled on APIs.io as Snapwonders Com Authentication.
Does snapwonders-com have an MCP server?
Yes. APIs.io lists 1 MCP server for snapwonders-com: Remote MCP server at snapwonders.com.
Is the snapwonders-com API ready for AI agents?
snapwonders-com has a Kin Score of 48.5 out of 100 (developing) and an Agent Readiness score of 32.2 (agent-ready), scored by API Evangelist on 2026-10-31.
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.