# Changelog of Thailand Company Data — Directors, Financials & Firmographics (`foxlabs/thailand-company-data`) Actor

- **URL**: https://apify.com/foxlabs/thailand-company-data/changelog.md
- **Full Actor documentation**: https://apify.com/foxlabs/thailand-company-data.md

## Changelog

### 0.1.1 — 2026-09-10 — failed lookups become free (per-record billing) + README corrected

- **You will pay only for delivered company records.** The Actor now charges a new `company-record` event for each delivered company (`matched: true`, pushed through `src/billing.js`). Rows that only report a failed lookup are pushed without a charge: an entry that is not a 13-digit ID, an ID with no DBD data, a keyword that could not be searched because the DataWarehouse was down, and a row left without identity by a DBD outage (`matched: false`).
- **Timing:** Apify applies pricing changes after a 14-day notice. From **25 September 2026** the pricing switches from the per-dataset-item event to `company-record` at the same price ($0.025). Until then billing is exactly as before; the code detects the switch by itself.
- No output field changed.
- **README corrected.** The 2026-09-07 README was generic and partly false. Corrected claims:
  - It documented inputs this Actor does not read — `queries`, `maxResultsPerQuery`, `includeRaw` — with the example `{"queries":["undefined"],"maxResultsPerQuery":50}` in the Quick Start, AI-agent, JS and Python snippets, and described `maxConcurrency` as "how many queries to fetch at once". The real inputs are `juristicIds`, `searchKeywords`, `includeFinancials`, `financialYears`, `includeDirectors`, `includeShareholders`, `maxResults`, `maxConcurrency` (identity-only runs) and `proxyConfiguration`.
  - "Give this actor company names": the exact key is the 13-digit juristic ID; names are loose keyword searches.
  - "Whole registry, one call" and "formation / status monitoring": neither is a feature.
  - "Relevance-ranked name search": DBD's search matches loosely and returns hits in name order (`PTT` returned 2PT TRANS COMPANY LIMITED and KITTISUPT TRACTOR PARTS AND EQUIPMENTS).
  - "The registry's own contact fields": the Actor returns no contact fields.
  - "Deduplicated camelCase rows" and "every row carries `query`, `scrapedAt`": fields are snake\_case (`scraped_at`) and there is no `query` field.
  - "`status` is `active` / `inactive` / `dissolved`": it is DBD's Thai status text (e.g. `ยังดำเนินกิจการอยู่`).
  - "No empty-promise columns": `shareholders` is `null` unless requested, and `paidup_capital` was empty for 2 of 2 small companies in our test.
  - "Empty or failed lookups are never billed": until the pricing switch they are counted as dataset items.
  - "Deeper shareholder / capital detail is a planned enrichment": multi-year financial statements are already returned and shareholders are an input.
  - "A public government business registry published as open data" and the GDPR reference: the DataWarehouse is not an open-data service, and Thai personal data falls under the PDPA.
- **The 0.1 entry below is wrong:** `register_date`, `tsic_en`, `tsic_th`, `paidup_capital`, `branch`, `shareholders` and `shareholders_by_nationality` were never removed. The Actor still returns all seven, and the first five were filled for PTT, CP ALL and Siam Commercial Bank in our 2026-09-10 test.

### 0.1 — 2026-09-07

- **Dropped empty-promise columns.** Removed `register_date, tsic_en, tsic_th, paidup_capital, branch, shareholders, shareholders_by_nationality` — Thai Department of Business Development (DBD) registry does not carry them, so they were shipped as always-null columns. Only fields this source actually fills are now emitted.
- **Enabled AI-agent payments (x402) + rebuilt the README to the full standard** (What-is / when, AI-agents + x402 agentic payments + MCP, Overview, Features, Use cases, Integration, FAQ, Troubleshooting, Support & contact).

### 0.0

- Initial release: data from the Thai Department of Business Development (DBD) registry by name or registry ID.
