# Changelog of Phone Number OSINT Lookup — Carrier, Country & Footprint (`ntriqpro/phoneinfoga-osint`) Actor

- **URL**: https://apify.com/ntriqpro/phoneinfoga-osint/changelog.md
- **Full Actor documentation**: https://apify.com/ntriqpro/phoneinfoga-osint.md

## Changelog

### 1.1 (2026-08-26)

- **Bulk input.** New `phoneNumbers` array accepts up to 200 numbers per run; the
  phoneinfoga engine starts once and is reused for the whole batch. The legacy
  single `number` string still works unchanged for existing API integrations.
- **Offline judgement layer** (libphonenumber via `libphonenumber-js` +
  `libphonenumber-geo-carrier`, Apache-2.0/MIT), joined onto the same row at **no
  extra charge and no extra event**: line type, `possible` vs `valid`, national
  and RFC3966 formats, full country name, geographic region, IANA time zones,
  `smsCapable`, `riskFlags` / `riskLevel`, `invalidReason`, and a one-line
  `headline` verdict.
  - `lineType` is now actually populated — it was always `null` before, because
    only the paid numverify scanner could fill it.
  - An OVH-owned range now raises the `ovh-voip-range` risk flag.
- **New inputs**: `defaultRegion` (read numbers that have no country code) and
  `dedupe` (collapse numbers sharing an E.164 value, so the same line is never
  charged twice).
- **Batch summary row** (unbilled) with country and line-type distribution.
- **Billing**: charged once per number written to the dataset — valid and invalid
  verdicts alike, since an "invalid" verdict is the answer the customer asked
  for. Notice rows remain free. Price is unchanged at $0.05 per number.
- **Billing-outage guard**: charging still fails open on a one-off error, but
  three consecutive failures now stop the run with a `billing-unavailable`
  notice instead of giving the rest of the batch away.

### 1.0.2 (2026-06-06)

- Fix: `disclaimerAck` input prefill changed `false` → `true` so Apify's automated
  quality-assurance test (which runs the Actor with prefilled inputs) passes instead
  of being rejected by the required-disclaimer guard. The field stays `required` and a
  user can still uncheck it. Resolves the "under maintenance" store status.

### 1.0 (2026-06-05)

- Initial release.
- Wraps the open-source [phoneinfoga](https://github.com/sundowndev/phoneinfoga) v2.11.0 (GPL-3.0) via its REST API.
- Free no-auth scanners: `local` (offline number parsing — country, carrier, formats), `googlesearch` (footprint search-link generation across social media, reputation, disposable-number and individual-lookup sites), `ovh` (European VoIP range detection).
- Structured JSON output with normalized number metadata + categorized footprint search links.
- Pay-per-event pricing: $0.05 per valid number scanned; invalid numbers are free.
- Privacy-first: public information only, no personal data stored beyond the run dataset.
