POPBill Developers
API Reference

1. Request for crawling

1.1. RequestJob - Request for data crawling

POST https://popbill-test.linkhub.co.kr/HomeTax/Taxinvoice/{QueryType}
POST https://popbill.linkhub.co.kr/HomeTax/Taxinvoice/{QueryType}
  • This API request data crawling for issued sales/purchase invoices from the NTS. (Maximum search scope : 3 months)

If you INSERT the crawled data in the internal DB on the regular basis, it is recommended to enter ‘S’ as the value of {Dtype}.

Request
Request Headers
No. Field Mandatory Description
Authorization Y Auth Token
Accept-Language N Response language
ko-KR: default
en-US
Accept-Encoding N Response compression method
gzip
X-PB-UserID N User’s POPBiLL ID
Path Parameters
No. Field Type Length Mandatory Description
QueryType string - Y Type of the e-Tax invoice
SELLsales
BUYpurchases
TRUSTEEconsigned
Query Parameters
No. Field Type Length Mandatory Description
DType string 1 Y Date type in search criteria
Wdate of preparation
Idate of issuance
Sdate of filing (Recommended)
SDate string 8 Y Start date of search scope
format : yyyyMMdd
SDate string 8 Y End date of search scope
format : yyyyMMdd
Request Example
curl --request POST \
  --url 'https://{domain}/HomeTax/Taxinvoice/{QueryType}?DType={DType}&SDate={SDate}&EDate={EDate}' \
  --header 'Authorization: Bearer {token}'
Response
Response Body
No. Field Type Length Description
jobID string 18 JobID
Response Example
{
    "jobID": "025102210000000001"
}

1.2. GetJobState - Check the data crawling status

GET https://popbill-test.linkhub.co.kr/HomeTax/Taxinvoice/{jobID}/State
GET https://popbill.linkhub.co.kr/HomeTax/Taxinvoice/{jobID}/State
Request
Request Headers
No. Field Mandatory Description
Authorization Y Auth Token
Accept-Language N Response language
ko-KR: default
en-US
Accept-Encoding N Response compression method
gzip
X-PB-UserID N User’s POPBiLL ID
Path Parameters
No. Field Type Length Mandatory Description
jobID string 18 Y Request ID(JobID)
Request Example
curl --request GET \
  --url 'https://{domain}/HomeTax/Taxinvoice/{jobID}/State' \
  --header 'Authorization: Bearer {token}'
Response
Response Body
No. Field Type Length Description
jobID string 18 Request ID(JobID)
jobState string 1 Crawling job status
1pending
2processing
3completed
queryType string 2 Type of the e-Tax invoice
매출sales
매입purchase
수탁consignment
queryDateType string 9 Types of dates
WriteDatedate of preparation
IssueDatedate of issuance
SendDatedate of filing
queryStDate string 8 Start date of search scope
format : yyyyMMdd
queryEnDate string 8 End date of search scope
format : yyyyMMdd
errorCode number - Crawling result code
- succeeded : 1
- failed: 8 digits starting with (‘-’) [Error Code]
errorReason string - Error message
reason for crawling failure
jobStartDT string 14 Start date and time of the crawling job
format : yyyyMMddHHmmss
jobEndDT string 14 end date and time of the crawling job
format : yyyyMMddHHmmss
collectCount number - Number of crawled data
regDT string 14 Date and time of data crawling request
format : yyyyMMddHHmmss
Response Example
{
    "jobID": "025102210000000004",
    "jobState": 3,
    "queryType": "매출",
    "queryDateType": "SendDate",
    "queryStDate": "20251001",
    "queryEnDate": "20251022",
    "errorCode": 1,
    "errorReason": "수집 완료",
    "jobStartDT": "20251022104325",
    "jobEndDT": "20251022104326",
    "collectCount": 1010,
    "regDT": "20251022104324"
}

1.3. ListActiveJob - Check the list of active data crawling jobs

GET https://popbill-test.linkhub.co.kr/HomeTax/Taxinvoice/JobList
GET https://popbill.linkhub.co.kr/HomeTax/Taxinvoice/JobList
  • This API checks the list of active data crawling jobs.
  • JobID of each request is only valid for 1 hour.
Request
Request Headers
No. Field Mandatory Description
Authorization Y Auth Token
Accept-Language N Response language
ko-KR: default
en-US
Accept-Encoding N Response compression method
gzip
X-PB-UserID N User’s POPBiLL ID
Request Example
curl --request GET \
  --url 'https://{domain}/HomeTax/Taxinvoice/JobList' \
  --header 'Authorization: Bearer {token}'
Response
Response Body
No. Field Type Length Description
jobID string 18 Request ID(JobID)
jobState string 1 Crawling job status
1pending
2processing
3completed
queryType string 2 Type of the e-Tax invoice
매출sales
매입purchase
수탁consignment
queryDateType string 9 Types of dates
WriteDateDate of preparation
IssueDateDate of issuance
SendDateDate of filing
queryStDate string 8 Start date of search scope
format : yyyyMMdd
queryEnDate string 8 End date of search scope
format : yyyyMMdd
errorCode number - Crawling result code
- succeeded : 1
- failed: 8 digits starting with (‘-’) [Error Code]
errorReason string - Error message
reason for crawling failure
jobStartDT string 14 Start date and time of the crawling job
format : yyyyMMddHHmmss
jobEndDT string 14 end date and time of the crawling job
format : yyyyMMddHHmmss
collectCount number - Number of crawled data
regDT string 14 Date and time of data crawling request
format : yyyyMMddHHmmss
Response Example
[
    {
        "jobID": "025102210000000004",
        "jobState": 3,
        "queryType": "매출",
        "queryDateType": "SendDate",
        "queryStDate": "20251001",
        "queryEnDate": "20251022",
        "errorCode": 1,
        "errorReason": "수집 완료",
        "jobStartDT": "20251022104325",
        "jobEndDT": "20251022104326",
        "collectCount": 1010,
        "regDT": "20251022104324"
    }
]