# 기업 공시 검색



회사 고유번호·기간·공시유형으로 전자공시 목록을 조회합니다. 고유번호를 주면 회사의 공시를 기간으로 좁혀 보고, 고유번호 없이 기간만 주면 전체 공시를 훑습니다.



인증: Authorization: Bearer $APICK_API_KEY

본문 있는 REST 요청: multipart/form-data. GET 본문 및 MCP JSON-RPC 규격은 해당 명세를 따릅니다.

인증키는 서버에 보관하세요. 모든 예제는 정적 자료입니다.



## POST /rest/dart_disclosure 응답 필드

- `data` (object): 아래 하위 항목을 확인하세요.

- `data.items` (array): 아래 하위 항목을 확인하세요.

- `data.totalCount` (integer): 아래 하위 항목을 확인하세요.

- `data.pageNo` (integer): 아래 하위 항목을 확인하세요.

- `data.numOfRows` (integer): 아래 하위 항목을 확인하세요.

- `api` (object): 아래 하위 항목을 확인하세요.

- `api.cost` (integer): 아래 하위 항목을 확인하세요.

- `api.success` (boolean): 아래 하위 항목을 확인하세요.

- `api.ms` (integer): 아래 하위 항목을 확인하세요.

## API 요청: POST /rest/dart_disclosure



### 입력

- `corpCode` (string, 선택): DART 고유번호 (8자리)

- `startDate` (string, 선택): 조회 시작일 (YYYYMMDD)

- `endDate` (string, 선택): 조회 종료일 (YYYYMMDD)

- `pblntfTy` (string, 선택): 공시유형 (A 정기, B 주요사항, C 발행, D 지분, E 기타, F 외부감사, G 펀드, H 자산유동화, I 거래소, J 공정위) 허용값: A, B, C, D, E, F, G, H, I, J

- `pageNo` (integer, 선택): 페이지 번호 (기본 1)

- `numOfRows` (integer, 선택): 페이지당 결과 수 (기본 10, 최대 100)



### 응답 명세

```json

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {}
        },
        "totalCount": {
          "type": "integer"
        },
        "pageNo": {
          "type": "integer"
        },
        "numOfRows": {
          "type": "integer"
        }
      }
    },
    "api": {
      "type": "object",
      "properties": {
        "cost": {
          "type": "integer"
        },
        "success": {
          "type": "boolean"
        },
        "ms": {
          "type": "integer"
        }
      }
    }
  }
}

```

### 정적 응답 예시

```json

{
  "data": {
    "items": [],
    "totalCount": 0,
    "pageNo": 1,
    "numOfRows": 10
  },
  "api": {
    "cost": 100,
    "success": true,
    "ms": 300
  }
}

```

### curl

```curl

curl --fail-with-body --request POST 'https://apick.app/rest/dart_disclosure' \
  --header "Authorization: Bearer $APICK_API_KEY" \
  --form-string 'corpCode=00126380' \
  --form-string 'startDate=20260101' \
  --form-string 'endDate=20260331' \
  --form-string 'pblntfTy=A'

```

### Node.js (서버 ESM)

```javascript

const form = new FormData();
form.append("corpCode", "00126380");
form.append("startDate", "20260101");
form.append("endDate", "20260331");
form.append("pblntfTy", "A");
const response = await fetch("https://apick.app/rest/dart_disclosure", {
  method: "POST",
  headers: { Authorization: "Bearer " + process.env.APICK_API_KEY },
  body: form,
  signal: AbortSignal.timeout(120_000),
});
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
const result = await response.json();
console.log(result);

```

### python

```python

import os
import requests
parts = [
    ("corpCode", (None, "00126380")),
    ("startDate", (None, "20260101")),
    ("endDate", (None, "20260331")),
    ("pblntfTy", (None, "A")),
]
response = requests.request("POST", "https://apick.app/rest/dart_disclosure",
    headers={"Authorization": "Bearer " + os.environ["APICK_API_KEY"]},
    files=parts,
    timeout=(10, 120))
response.raise_for_status()
result = response.json()
print(result)

```

### php

```php

<?php
$headers = ["Authorization: Bearer " . getenv("APICK_API_KEY")];
$form = [
    'corpCode' => '00126380',
    'startDate' => '20260101',
    'endDate' => '20260331',
    'pblntfTy' => 'A',
];
$curl = curl_init('https://apick.app/rest/dart_disclosure');
curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => $form,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_TIMEOUT => 120,
]);
$body = curl_exec($curl);
if ($body === false) { throw new RuntimeException(curl_error($curl)); }
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($status >= 400) { throw new RuntimeException($body); }
$result = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
print_r($result);

```

## 코드·오류

## 상세 기능·요금

이용 전 확인 성공한 조회 한 건당 100P가 차감됩니다. 결과가 0건이면 data.error로 안내 문구가 오고 api.cost는 0입니다. 실제 차감액은 응답의 api.cost에서 확인하세요. 고유번호 없이 기간만 지정하면 조회 기간은 최대 3개월입니다. 고유번호를 주면 기간 제한 없이 조회할 수 있습니다. 인증키는 서버 환경변수에 보관하고 공개 저장소·웹페이지에 넣지 마세요.

## 상세 요청

항목설정 메서드·주소POST https://apick.app/rest/dart_disclosure 인증 헤더Authorization: Bearer — 내 계정의 API 인증키 본문 형식multipart/form-data 선택 항목corpCode 고유번호 8자리, startDate·endDate 조회 기간(YYYYMMDD), pblntfTy 공시유형(A 정기·B 주요사항·C 발행·D 지분·E 기타·F 외부감사·G 펀드·H 자산유동화·I 거래소·J 공정위), pageNo 페이지(기본 1), numOfRows 결과 수(기본 10, 최대 100) 요청 예시 고유번호로 한 회사의 1분기 공시를 받는 예입니다. 성공 시 과금되는 실제 요청입니다. form-data 전체 예제 보기

## 상세 코드·정책

응답과 오류 복구 필드타입설명 data.items[]array공시 목록입니다. 접수번호·공시명·제출인·접수일자 등 항목 이름은 원문 표기를 그대로 씁니다. data.totalCountinteger조건에 맞는 전체 건수입니다. data.pageNointeger이번 응답의 페이지 번호입니다. data.numOfRowsinteger이번 응답의 항목 수입니다. api.costinteger차감된 포인트입니다. 실패하거나 결과가 없으면 0입니다. api.msinteger처리 시간(밀리초)입니다. { "data": { "items": [], "totalCount": 0, "pageNo": 1, "numOfRows": 10 }, "api": { "cost": 100, "success": true, "ms": 300 } } 날짜 형식이 맞지 않거나 고유번호가 8자리가 아니면 조회 전에 data.error로 실패합니다. 결과가 없으면 조회된 데이터가 없습니다.가 오고 api.cost는 0이며, 공시 정보를 가져오지 못하면 공개 안내 문구가 옵니다. 기간을 넓힐 때는 pageNo로 나눠 받으세요.
