Skip to main content
GET
/
v2
/
documents
/
presigned_urls
Batch Presigned URLs V2
curl --request GET \
  --url https://api.linqalpha.com/v2/documents/presigned_urls \
  --header 'X-API-KEY: <api-key>'
{
  "error": null,
  "payload": {
    "documents": [
      {
        "document_id": "123e4567-e89b-12d3-a456-426614174000",
        "document_name": "document.pdf",
        "ticker": "AAPL",
        "doc_type": "filing",
        "doc_sub_type": "10-K",
        "source": null,
        "fiscal_date": "2025-12-31",
        "calendar_date": "2026-01-30",
        "published_at": "2026-01-30T16:00:00Z",
        "presigned_url": "https://example.s3.amazonaws.com/...",
        "expiration_seconds": null
      }
    ],
    "total_count": 8234,
    "page": 1,
    "per_page": 20,
    "has_more": true,
    "skipped_count": 0
  }
}
Generate temporary presigned URLs for multiple documents in a single request. Supports both external documents (stock-server) and RMS documents, controlled by the search_type parameter.

Search Type

search_typeBackendSupported filters
external (default)Stock servertickers, stock_ids, doc_type, doc_sub_type, fiscal_period, calendar_period
rmsRMS servertickers, stock_ids, doc_type, doc_sub_type, fiscal_period, calendar_period, document_ids
document_ids is RMS only — external does not support batch by IDs. The valid values for doc_type and doc_sub_type differ by search_type and by organization. Refer to your organization’s specific documentation for available values.

Quick Start

External documents by ticker (default)
curl --request GET \
  --url 'https://api.linqalpha.com/v2/documents/presigned_urls?tickers=AAPL&doc_type=earnings_call&per_page=20' \
  --header 'X-API-KEY: <api-key>'
RMS documents by ticker
curl --request GET \
  --url 'https://api.linqalpha.com/v2/documents/presigned_urls?search_type=rms&organization_id=<org-id>&tickers=MSFT&per_page=20' \
  --header 'X-API-KEY: <api-key>'
RMS documents by IDs (from references)
curl --request GET \
  --url 'https://api.linqalpha.com/v2/documents/presigned_urls?search_type=rms&organization_id=<org-id>&document_ids=<id1>&document_ids=<id2>' \
  --header 'X-API-KEY: <api-key>'

Minimum Filter Requirements

  • external: at least one of tickers or stock_ids
  • rms: at least one of tickers, stock_ids, or document_ids
For platform API keys that access multiple organizations, pass organization_id to specify which org to query. If omitted, defaults to the API key’s primary organization.
Presigned URLs expire after approximately 1 hour. Generate new URLs when needed.

Authorizations

X-API-KEY
string
header
required

Query Parameters

search_type
enum<string>
default:external

Document source. external (default) routes to stock-server. rms routes to RMS server.

Available options:
external,
rms
organization_id
string

Organization ID. Recommended for search_type=rms and required for platform API keys.

tickers
string[]

Ticker symbol(s). Use multiple params for multiple tickers (e.g., ?tickers=AAPL&tickers=MSFT).

stock_ids
string[]

Stock ID(s). Can be used instead of or together with tickers.

document_ids
string[]

Document ID(s) for batch lookup. RMS only — not supported for search_type=external.

doc_type
string[]

Document type filter. Valid values differ by search_type and organization.

doc_sub_type
string[]

Document sub-type filter. Valid values differ by search_type and organization.

fiscal_period
object

Fiscal period filter. Use nested notation: fiscal_period[start_time][year]=2024&fiscal_period[start_time][quarter]=1.

calendar_period
object

Calendar period filter. Use nested notation: calendar_period[start_time][year]=2025&calendar_period[start_time][month]=1.

page
integer
default:1

Page number (default: 1)

Required range: x >= 1
per_page
integer
default:20

Results per page (default: 20, max: 200)

Required range: 1 <= x <= 200

Response

Batch presigned URLs with document metadata

error
object
payload
object