Pest Control License Lookup Scraper — Texas Licenses avatar

Pest Control License Lookup Scraper — Texas Licenses

Pricing

from $4.00 / 1,000 license records

Go to Apify Store
Pest Control License Lookup Scraper — Texas Licenses

Pest Control License Lookup Scraper — Texas Licenses

Export pest control license records in bulk: license number, business name, issue and expiry dates from the Texas state report. USD 5 per 1,000 records.

Pricing

from $4.00 / 1,000 license records

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

2

Monthly active users

12 hours ago

Last modified

Share

Pest Control License Lookup Scraper exports public pest control license records (license number, business or licensee name, license type, issue date and expiration date) from state license reports and registry pages. By default it reads the Texas Department of Agriculture report of current commercial structural pest control business licenses (3,892 businesses on 2026-10-27), and it costs USD 5.00 per 1,000 records on the FREE tier (USD 4.00 per 1,000 on GOLD) plus a USD 0.006251 start fee.

It is built for pest control suppliers, insurers, franchise and acquisition teams, lead-generation agencies and compliance researchers who need a clean list of licensed pest control businesses instead of checking one license at a time.

What data does the pest control license scraper return?

Each dataset row is one license record, deduplicated by license number and name within each source.

FieldWhat it contains
licenseNumberLicense, certificate or permit number, for example the Texas TPCL number 0568372
licenseeNameBusiness or licensee name, for example GREENFOREST LANDSCAPING AND MAINTENANCE INC
licenseTypeLicense or account type, for example COMMERCIAL BUSINESS
issueDate, expirationDateDates as the source publishes them, for example 06/16/1994 and 03/31/2027
statusLicense status when the source has a status column; null for the Texas report, which lists current licenses only
address, phone, emailContact columns when the source publishes them; null for the Texas report
jurisdictionReserved; currently always null
sourceUrl, scrapedAtThe page or file the record came from, and the collection time
rawFieldsEvery original column and value when includeRawFields is on

For the Texas report, rawFields adds the DBA name, county, license categories (for example PT), operator, insurance expiration, license renewal date, responsible applicator and the applicator's license number.

The run summary is saved as OUTPUT: outcome (DATA, FAILED or NO_RECORDS), records collected, charged events, source URLs, sources that returned HTTP errors or no records, and warnings.

How do I look up Texas pest control licenses in bulk?

Run the Actor with its default input. It downloads the Texas Department of Agriculture's public current-license report for commercial structural pest control businesses and returns up to maxResults records.

InputExampleNotes
startUrlsTexas commercial business report (default)Public license report CSV files or HTML pages with a license table
maxResults5001 to 5,000 records across all sources (default 100)
includeRawFieldstrueKeeps every original column in rawFields (default false)
tableSelectortable#license-resultsOptional CSS selector for HTML pages with several tables
requestDelayMs500Pause after each source, 250 to 5,000 ms

All current Texas commercial pest control businesses with every column:

{
"startUrls": [{ "url": "https://texasagriculture.gov/Portals/0/Reports/PIR/spcs_commercial_business.csv" }],
"maxResults": 5000,
"includeRawFields": true
}

The same department publishes sibling reports on its Structural Pest Control Reports page, such as non-commercial businesses (spcs_noncommercial_business.csv) and certified applicators (spcs_certified_applicator.csv), in the same folder. They load the same way, but only the commercial business report was tested in a cloud run.

Can I use it for other states' pest control license lookups?

Yes, when the state publishes its licenses at a fixed public URL as a CSV file or as an HTML page with a license table. The Actor maps common column names such as License Number, License No., Business Name, Licensee, Type, Status, Issue Date and Expiration Date.

Most state lookup tools are search forms instead: you type a name, and the results appear only after the form is submitted or JavaScript runs. Examples are the California, Arizona, Indiana and New Mexico searches. The Actor does not submit forms or run JavaScript, so a form page ends as a failed run with no records and no record charges. Use a direct results URL or an exported list when the state offers one.

When should I use it, and when not?

Use it when you need a bulk list of licensed pest control businesses in Texas, or you have a public license list URL from another state, for example to build a prospect list for pest control supplies or to check which competitors hold current licenses.

Use another Actor when:

How do I run it from code?

JavaScript with apify-client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('muhammadafzal/pest-control-license-scraper').call({
startUrls: [{ url: 'https://texasagriculture.gov/Portals/0/Reports/PIR/spcs_commercial_business.csv' }],
maxResults: 200,
includeRawFields: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) console.log(item.licenseNumber, item.licenseeName, item.expirationDate);

Python with apify-client:

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("muhammadafzal/pest-control-license-scraper").call(run_input={
"startUrls": [{"url": "https://texasagriculture.gov/Portals/0/Reports/PIR/spcs_commercial_business.csv"}],
"maxResults": 200,
})
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item["licenseNumber"], item["licenseeName"], item["expirationDate"])

Use it from an AI assistant

Pest Control License Lookup Scraper works from Claude, ChatGPT, Cursor or any MCP client through Apify's MCP server. Add the single-tool URL https://mcp.apify.com/?tools=muhammadafzal/pest-control-license-scraper to your client and ask, for example: "List 50 licensed commercial pest control businesses in Texas with license numbers and expiration dates." Each record is charged at the prices below, so include a result limit.

What does the output look like?

Two records from the Texas report on 2026-10-27. The first shows rawFields as includeRawFields: true returns it; the second is shortened:

[
{
"licenseNumber": "0568372",
"licenseeName": "GREENFOREST LANDSCAPING AND MAINTENANCE INC",
"licenseType": "COMMERCIAL BUSINESS",
"status": null,
"issueDate": "06/16/1994",
"expirationDate": "03/31/2027",
"address": null,
"phone": null,
"email": null,
"jurisdiction": null,
"sourceUrl": "https://texasagriculture.gov/Portals/0/Reports/PIR/spcs_commercial_business.csv",
"scrapedAt": "2026-10-27T03:29:21.667Z",
"rawFields": {
"TPCL": "0568372",
"ACCOUNT_TYPE": "COMMERCIAL BUSINESS",
"CATEGORIES": "LW",
"LEGAL_BUSINESS_NAME": "GREENFOREST LANDSCAPING AND MAINTENANCE INC",
"COUNTY": "DALLAS",
"LICENSE_EXPIRED": "03/31/2027",
"LICENSE_ISSUED": "06/16/1994",
"LICENSE_RENEWED": "03/31/2026"
}
},
{
"licenseNumber": "0569223",
"licenseeName": "MG BUILDING MATERIALS LTD",
"licenseType": "COMMERCIAL BUSINESS",
"issueDate": "05/02/2008",
"expirationDate": "05/31/2027",
"rawFields": null
}
]

The rawFields object above is also shortened; the full object holds the operator, insurance expiration and responsible-applicator columns too. Empty columns, such as a missing DBA name, are left out.

How much does a pest control license list cost?

The Actor uses pay-per-event pricing, and platform usage is included in the event prices. One license-record event is charged after each record is saved.

EventFREEBRONZESILVERGOLD / PLATINUM / DIAMOND
License record (one dataset row)USD 0.005001USD 0.004875USD 0.00475USD 0.004
Actor start (per started GB of allocated memory)USD 0.006251USD 0.006094USD 0.005938USD 0.005

Worked totals on the FREE tier at the default 512 MB memory (one start event):

  • 20 records (the Console example): 20 × USD 0.005001 + USD 0.006251 = USD 0.1063
  • 1,000 records: 1,000 × USD 0.005001 + USD 0.006251 = USD 5.0073

A run that collects nothing (a dead URL, an error page or a page without a license table) fails without record charges; only the start event applies. If you set a maximum cost per run, the Actor stops cleanly when the limit is reached.

Limits and reliability

  • Speed: the default Texas run with 20 records finished in about 6 seconds and peaked near 100 MB of memory on 2026-10-27; one request per source URL.
  • Scale: up to 5,000 records per run across all sources; the Texas commercial report had 3,892 rows on 2026-10-27, so one run can export all of it.
  • Freshness: records are as current as the state's published report on the day you run.
  • Errors are not data: a source that returns an HTTP error (for example a moved page returning 404) is reported in OUTPUT and never parsed. A run with no records ends as failed instead of looking like an empty success.
  • No forms or logins: the Actor reads public pages and files only. It does not submit search forms, run JavaScript, log in or solve CAPTCHAs.

FAQ

Is there a free pest control license lookup?

Each state's own lookup tool is free for single checks. This Actor is for bulk exports; it runs on Apify's free plan and charges the FREE-tier prices above.

How do I check if a pest control company is licensed in Texas?

Run the Actor with the default input and search the dataset for the company name or license number. The report lists current licenses with their expiration dates.

Does it return phone numbers or emails?

Only when the source publishes them. The Texas report has no phone or email columns, so those fields are null.

Can I get pest control applicator licenses instead of businesses?

Yes for Texas: point startUrls at the department's certified applicator report in the same folder. That report has not been tested in a cloud run yet, so check a small run first.

Why did my run fail with no records?

The URL returned an error, or the page is a search form or JavaScript page without a license table. OUTPUT.warnings says which, and no records are charged.

How do I export the list to Excel or CSV?

Open the run's dataset in Apify Console and export CSV, Excel or JSON, or fetch it through the Apify API.

The Actor reads license records that state agencies publish for the public. Verify license status with the issuing agency before hiring, compliance or underwriting decisions, follow each source's terms and rate limits, and respect CAN-SPAM, TCPA and privacy rules when contacting businesses. This tool is not affiliated with any state agency.

Last verified: 2026-10-27