API Documentation

Query API

Insider Transactions API

Form D API

Download and PDF Generator API

XBRL to JSON Converter API

Mapping API

Form 3, 4, 5 Parse API

SRO Filings Database

SRO Filings Database API

Retrieve SEC Self-Regulatory Organization (SRO) filings using the API.

POST https://api.secfilingdata.com/v1/filings/sro/

Authentication

All requests require an API token in the Authorization header.

Authorization: AUTH_TOKEN

Request Body Parameters

Parameter Type Required Description
query_type string Yes Search type.

Supported:
  • releaseNumber
  • srNumber
  • organization
  • year
  • publishDate
query_value string Yes Search value based on query_type
from integer No Pagination starting offset
size integer No Number of records to return (Maximum:100)
sort_order string No ASC or DESC

Request Example

{
  "query_type": "srNumber",
  "query_value": "SR-TXSE-2025-003",
  "from": 0,
  "size": 10,
  "sort_order": "DESC"
}

Code Examples

<?php

$url = "https://api.secfilingdata.com/v1/filings/sro/";

$auth_token = 'AUTH_TOKEN';

$postData = array(
    'query_type' => 'srNumber',
    'query_value' => 'SR-TXSE-2025-003',
    'from' => 0,
    'size' => 10,
    'sort_order' => 'DESC'
);

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postData));

curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Authorization: ' . $auth_token,
]);

$response = curl_exec($ch);

curl_close($ch);

echo $response;
import requests

url = "https://api.secfilingdata.com/v1/filings/sro/"

headers = {
    "Content-Type": "application/json",
    "Authorization": "AUTH_TOKEN"
}

payload = {
    "query_type": "srNumber",
    "query_value": "SR-TXSE-2025-003",
    "from": 0,
    "size": 10,
    "sort_order": "DESC"
}

response = requests.post(
    url,
    headers=headers,
    json=payload
)

print(response.json())
const url = "https://api.secfilingdata.com/v1/filings/sro/";

const payload = {
    query_type: "srNumber",
    query_value: "SR-TXSE-2025-003",
    from: 0,
    size: 10,
    sort_order: "DESC"
};

fetch(url, {
    method: "POST",
    headers: {
        "Content-Type": "application/json",
        "Authorization": "AUTH_TOKEN"
    },
    body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
const axios = require("axios");

const url = "https://api.secfilingdata.com/v1/filings/sro/";

const payload = {
    query_type: "srNumber",
    query_value: "SR-TXSE-2025-003",
    from: 0,
    size: 10,
    sort_order: "DESC"
};

axios.post(url, payload, {
    headers: {
        "Content-Type": "application/json",
        "Authorization": "AUTH_TOKEN"
    }
})
.then(response => {
    console.log(response.data);
})
.catch(error => {
    console.error(error);
});
curl --location 'https://api.secfilingdata.com/v1/filings/sro/' \
--header 'Content-Type: application/json' \
--header 'Authorization: AUTH_TOKEN' \
--data '{
    "query_type":"srNumber",
    "query_value":"SR-TXSE-2025-003",
    "from":0,
    "size":10,
    "sort_order":"DESC"
}'
package main

import (
    "bytes"
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {

    url := "https://api.secfilingdata.com/v1/filings/sro/"

    payload := []byte(`{
        "query_type":"srNumber",
        "query_value":"SR-TXSE-2025-003",
        "from":0,
        "size":10,
        "sort_order":"DESC"
    }`)

    req, _ := http.NewRequest(
        "POST",
        url,
        bytes.NewBuffer(payload),
    )

    req.Header.Set(
        "Content-Type",
        "application/json",
    )

    req.Header.Set(
        "Authorization",
        "AUTH_TOKEN",
    )

    client := &http.Client{}

    resp, err := client.Do(req)

    if err != nil {
        panic(err)
    }

    defer resp.Body.Close()

    body, _ := ioutil.ReadAll(resp.Body)

    fmt.Println(string(body))
}
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner;

public class Main {

    public static void main(String[] args)
    throws Exception {

        URL url = new URL(
            "https://api.secfilingdata.com/v1/filings/sro/"
        );

        HttpURLConnection conn =
            (HttpURLConnection) url.openConnection();

        conn.setRequestMethod("POST");

        conn.setRequestProperty(
            "Content-Type",
            "application/json"
        );

        conn.setRequestProperty(
            "Authorization",
            "AUTH_TOKEN"
        );

        conn.setDoOutput(true);

        String jsonInputString = "{"
                + "\"query_type\":\"srNumber\","
                + "\"query_value\":\"SR-TXSE-2025-003\","
                + "\"from\":0,"
                + "\"size\":10,"
                + "\"sort_order\":\"DESC\""
                + "}";

        try(OutputStream os =
                conn.getOutputStream()) {

            byte[] input =
                jsonInputString.getBytes("utf-8");

            os.write(input, 0, input.length);
        }

        Scanner scanner =
            new Scanner(conn.getInputStream());

        while(scanner.hasNext()) {

            System.out.println(
                scanner.nextLine()
            );
        }

        scanner.close();
    }
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        var client = new HttpClient();

        client.DefaultRequestHeaders.Add(
            "Authorization",
            "AUTH_TOKEN"
        );

        var json = @"{
            ""query_type"": ""srNumber"",
            ""query_value"": ""SR-TXSE-2025-003"",
            ""from"": 0,
            ""size"": 10,
            ""sort_order"": ""DESC""
        }";

        var content = new StringContent(
            json,
            Encoding.UTF8,
            "application/json"
        );

        var response = await client.PostAsync(
            "https://api.secfilingdata.com/v1/filings/sro/",
            content
        );

        var result =
            await response.Content
            .ReadAsStringAsync();

        Console.WriteLine(result);
    }
}
require 'net/http'
require 'json'
require 'uri'

url = URI(
  "https://api.secfilingdata.com/v1/filings/sro/"
)

http = Net::HTTP.new(
  url.host,
  url.port
)

http.use_ssl = true

request = Net::HTTP::Post.new(url)

request["Content-Type"] =
  "application/json"

request["Authorization"] =
  "AUTH_TOKEN"

request.body = {
  query_type: "srNumber",
  query_value: "SR-TXSE-2025-003",
  from: 0,
  size: 10,
  sort_order: "DESC"
}.to_json

response = http.request(request)

puts response.body

Response Example

{
    "total": 1,
    "from": 0,
    "size": 10,
    "data": [
        {
            "release_number": "34-104530",
            "sr_number": "SR-TXSE-2025-003",
            "publish_date": "2025-12-31",
            "sro_organization": "Texas Stock Exchange LLC (TXSE)",
            "detail": "Notice of Filing and Immediate Effectiveness of a Proposed Rule Change to Amend the Second Amended and Restated Limited Liability Company Agreement of Texas Stock Exchange Related to the Timing of its First Annual Meeting",
            "release_number_url": "https://www.sec.gov/files/rules/sro/txse/2025/34-104530.pdf",
            "urls": [
                {
                    "title": "Exhibit 5",
                    "url": "https://www.sec.gov/files/rules/sro/txse/2025/34-104530-ex5.pdf"
                }
            ],
            "view_comments_url": null,
            "comments_due": [
                {
                    "type": "Comments Due",
                    "value": "January 27, 2026"
                }
            ]
        }
    ]
}
Important:

Requests must use: Content-Type: application/json

POST body must be JSON encoded using: json_encode($postData)

HTTP Status Codes

Status Code Description
200 Successful request
400 Invalid request parameters
401 Unauthorized / Invalid token
500 Internal server error