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.
openapi: 3.2.0
info:
title: ParseForMe V1 API
description: 'Upload a document, get structured data back. Authenticate with a workspace API key as `Authorization: Bearer pfm_live_…`. Rate limits are per API key: 60 requests/minute, 10 document creations/minute and 500/day. Over a limit the API answers 429 with `Retry-After` and the `RateLimit` / `RateLimit-Policy` fields — honour them. Webhook deliveries and `sourceUrl` fetches originate from 46.62.162.196.'
version: '2026-09-03'
contact:
name: ParseForMe
url: https://parseforme.com/developers
email: support@parseforme.com
license:
name: Proprietary — governed by the ParseForMe Terms of Service
url: https://parseforme.com/legal/terms
termsOfService: https://parseforme.com/legal/terms
servers:
- url: https://api.parseforme.com
tags:
- name: v1
paths:
/v1/me:
get:
operationId: V1MeController_me
parameters: []
responses:
'200':
description: Workspace context for the presented credential.
security:
- bearer: []
summary: The calling key’s workspace, label and token balance
tags:
- v1
/v1/documents:
post:
operationId: V1DocumentsController_create
parameters:
- name: Idempotency-Key
in: header
description: Retry-safe token, stored durably. A replay returns the ORIGINAL document instead of buying a second parse. Matches ^[A-Za-z0-9_\-:.]{1,128}$.
required: false
schema:
type: string
responses:
'200':
description: Accepted; the document is ingesting (202).
'400':
description: Neither or both sources, a bad Idempotency-Key, or a refused sourceUrl.
'401':
description: Missing, malformed or revoked credential.
'415':
description: The bytes are not a supported document type.
'503':
description: Too many uploads in flight; see Retry-After.
security:
- bearer: []
summary: Upload a document (multipart `file`, or JSON `sourceUrl`) and start parsing it
tags:
- v1
get:
operationId: V1DocumentsController_list
parameters: []
responses:
'200':
description: Documents matching the filters, newest first.
'401':
description: Missing, malformed or revoked credential.
security:
- bearer: []
summary: The workspace’s documents, newest first
tags:
- v1
/v1/documents/{id}:
get:
operationId: V1DocumentsController_get
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: The document; `result` is present once parsed.
'401':
description: Missing, malformed or revoked credential.
'404':
description: No such document for this workspace.
security:
- bearer: []
summary: One document, with its extracted fields once it has parsed
tags:
- v1
/v1/documents/{id}/export:
get:
operationId: V1DocumentsController_exportOne
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: '`{ url, expiresAt, format, filename }`, or 302 with `redirect=1`.'
'401':
description: Missing, malformed or revoked credential.
'404':
description: No such document or template for this workspace.
security:
- bearer: []
summary: Export one document — JSON with a download URL, or a 302 to it
tags:
- v1
/v1/document-types:
get:
operationId: V1CatalogController_documentTypes
parameters: []
responses:
'200':
description: The static field catalogue, from the shared schema registry.
security:
- bearer: []
summary: Every document type and the fields its extraction produces
tags:
- v1
/v1/meta:
get:
operationId: V1CatalogController_meta
parameters: []
responses:
'200':
description: Egress addresses to allowlist, and whether API keys are accepted.
security:
- bearer: []
summary: Integration facts — the addresses our callbacks come from
tags:
- v1
components:
securitySchemes:
bearer:
scheme: bearer
bearerFormat: JWT
type: http
description: A `pfm_live_…` workspace key
externalDocs:
description: ParseForMe API reference
url: https://parseforme.com/developers