# Texas Data Breach Reports Scraper (`defenestrator/texas-data-breach-reports`) Actor

Scrape the official public Texas Attorney General Data Security Breach Reports listing into structured rows for compliance monitoring, cybersecurity research, and public-record analysis. Unofficial; not affiliated with the Texas Attorney General or State of Texas.

- **URL**: https://apify.com/defenestrator/texas-data-breach-reports.md
- **Developed by:** [Defenestrator](https://apify.com/defenestrator) (community)
- **Categories:** Business, News
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Texas Data Breach Reports Scraper

Scrape the official Texas Attorney General public **Data Security Breach Reports** listing into structured rows for compliance monitoring, cybersecurity research, public-record analysis, and lawful business research.

Source: https://oag.my.site.com/datasecuritybreachreport/apex/DataSecurityReportsPage

**Unofficial / not affiliated:** this Actor is independently developed and is not affiliated with, sponsored by, endorsed by, or maintained by the Texas Attorney General or the State of Texas.

Texas law requires businesses and organizations that experience a data breach affecting 250 or more Texans to report that breach to the Texas Attorney General. The OAG publishes a required listing of those reports. This Actor turns that public listing into a clean dataset.

The official listing notes that details, including the number of affected Texans and whether notice was provided, may change after a report is listed. Always verify important decisions against the official OAG source.

### What you get

Each dataset row can include:

- report ID
- entity or individual name
- entity type
- address/city/state/ZIP
- types of personal information affected
- number of Texans affected
- whether notice was provided to consumers
- notice methods
- breach start/end/discovery dates
- publication date at the OAG website
- source URL

### Example output

```json
{
  "reportId": "BR-0004052",
  "entityName": "American National Bank & Trust",
  "entityType": "Financial Services",
  "publishedAt": "2025-01-16",
  "breachStartDate": "2024-09-18",
  "breachEndDate": "2024-09-20",
  "texansAffected": 2368,
  "noticeProvided": true,
  "noticeMethods": ["U.S. Mail"],
  "informationTypes": ["Name of individual", "Address", "Social Security Number Information"]
}
````

### Input filters

- `maxItems` — maximum matching rows to save
- `publishedFrom` / `publishedTo` — inclusive publication date bounds, `YYYY-MM-DD`
- `entityNameQuery` — case-insensitive entity-name search
- `informationTypeQuery` — search affected information types, such as `Social Security`, `Driver`, `Medical`, or `Financial`
- `minTexansAffected` — only include larger reports
- `includeAllVersions` — request all available versions from the public listing instead of the default current listing
- `sortBy` and `sortDescending` — choose output ordering before `maxItems` truncation

### Good fit

Use this Actor when you need to:

- monitor newly published Texas breach reports;
- support cybersecurity, compliance, legal, insurance, or incident-response research;
- track large breaches by affected Texans;
- filter reports by information type or entity name;
- export the Texas OAG public breach listing to JSON, CSV, Excel, or an API.

### Not a fit

This Actor does not submit breach reports, access non-public records, determine legal obligations, or provide legal advice. It only extracts the public listing made available by the Texas Attorney General.

Do not use this Actor as the sole basis for legal, compliance, credit, employment, insurance, eligibility, or consumer-impact decisions. Use the data lawfully, respect applicable privacy/communications laws, and do not use it for unsolicited mass messaging or harassment.

### Pricing

This Actor uses pay-per-event pricing:

| Event | Price |
|---|---:|
| Actor start | $0.00005 |
| Dataset item | $0.004 |

One result row equals one Texas OAG breach report saved to the dataset.

# Actor input Schema

## `maxItems` (type: `integer`):

Maximum number of matching Texas OAG data security breach report rows to save.

## `publishedFrom` (type: `string`):

Optional inclusive published date lower bound in YYYY-MM-DD format.

## `publishedTo` (type: `string`):

Optional inclusive published date upper bound in YYYY-MM-DD format.

## `entityNameQuery` (type: `string`):

Optional case-insensitive filter applied to the entity or individual name.

## `informationTypeQuery` (type: `string`):

Optional case-insensitive filter applied to affected information types, such as Social Security, Driver, Medical, Financial, or Health Insurance.

## `minTexansAffected` (type: `integer`):

Only include reports where the number of affected Texans is at least this value.

## `includeAllVersions` (type: `boolean`):

Ask the Texas OAG public listing for all available versions instead of the default current listing. Leave off unless you need historical/superseded versions.

## `sortBy` (type: `string`):

Field used before truncating to the maximum number of rows.

## `sortDescending` (type: `boolean`):

Sort newest/largest/Z-A first. Turn off for oldest/smallest/A-Z first.

## `includeRawFields` (type: `boolean`):

Include selected raw source field names for debugging/source reconciliation.

## `timeoutSecs` (type: `integer`):

HTTP timeout per request to the official public Texas OAG listing.

## Actor input object example

```json
{
  "maxItems": 500,
  "publishedFrom": "2026-01-01",
  "minTexansAffected": 0,
  "includeAllVersions": false,
  "sortBy": "publishedAt",
  "sortDescending": true,
  "includeRawFields": false,
  "timeoutSecs": 30
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "publishedFrom": "2026-01-01"
};

// Run the Actor and wait for it to finish
const run = await client.actor("defenestrator/texas-data-breach-reports").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "publishedFrom": "2026-01-01" }

# Run the Actor and wait for it to finish
run = client.actor("defenestrator/texas-data-breach-reports").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "publishedFrom": "2026-01-01"
}' |
apify call defenestrator/texas-data-breach-reports --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=defenestrator/texas-data-breach-reports",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Texas Data Breach Reports Scraper",
        "description": "Scrape the official public Texas Attorney General Data Security Breach Reports listing into structured rows for compliance monitoring, cybersecurity research, and public-record analysis. Unofficial; not affiliated with the Texas Attorney General or State of Texas.",
        "version": "0.0",
        "x-build-id": "OlVcHRdiFIPDsTeaZ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/defenestrator~texas-data-breach-reports/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-defenestrator-texas-data-breach-reports",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/defenestrator~texas-data-breach-reports/runs": {
            "post": {
                "operationId": "runs-sync-defenestrator-texas-data-breach-reports",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/defenestrator~texas-data-breach-reports/run-sync": {
            "post": {
                "operationId": "run-sync-defenestrator-texas-data-breach-reports",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "maxItems": {
                        "title": "Maximum rows",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of matching Texas OAG data security breach report rows to save.",
                        "default": 500
                    },
                    "publishedFrom": {
                        "title": "Published from",
                        "type": "string",
                        "description": "Optional inclusive published date lower bound in YYYY-MM-DD format."
                    },
                    "publishedTo": {
                        "title": "Published to",
                        "type": "string",
                        "description": "Optional inclusive published date upper bound in YYYY-MM-DD format."
                    },
                    "entityNameQuery": {
                        "title": "Entity name contains",
                        "type": "string",
                        "description": "Optional case-insensitive filter applied to the entity or individual name."
                    },
                    "informationTypeQuery": {
                        "title": "Information type contains",
                        "type": "string",
                        "description": "Optional case-insensitive filter applied to affected information types, such as Social Security, Driver, Medical, Financial, or Health Insurance."
                    },
                    "minTexansAffected": {
                        "title": "Minimum Texans affected",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only include reports where the number of affected Texans is at least this value.",
                        "default": 0
                    },
                    "includeAllVersions": {
                        "title": "Include all versions",
                        "type": "boolean",
                        "description": "Ask the Texas OAG public listing for all available versions instead of the default current listing. Leave off unless you need historical/superseded versions.",
                        "default": false
                    },
                    "sortBy": {
                        "title": "Sort by",
                        "enum": [
                            "publishedAt",
                            "texansAffected",
                            "entityName",
                            "reportId"
                        ],
                        "type": "string",
                        "description": "Field used before truncating to the maximum number of rows.",
                        "default": "publishedAt"
                    },
                    "sortDescending": {
                        "title": "Sort descending",
                        "type": "boolean",
                        "description": "Sort newest/largest/Z-A first. Turn off for oldest/smallest/A-Z first.",
                        "default": true
                    },
                    "includeRawFields": {
                        "title": "Include raw Salesforce fields",
                        "type": "boolean",
                        "description": "Include selected raw source field names for debugging/source reconciliation.",
                        "default": false
                    },
                    "timeoutSecs": {
                        "title": "Request timeout seconds",
                        "minimum": 10,
                        "maximum": 120,
                        "type": "integer",
                        "description": "HTTP timeout per request to the official public Texas OAG listing.",
                        "default": 30
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
