NAFYIVerified outcomes
Find servicesResourcesProvide servicesOrders
Find servicesResourcesProvide servicesOrders

Resources

PUBLIC WEB DATA

Public Web Data Collection Checklist: Freeze the Schema First

The most common collection failure is not missing one page. It is discovering after execution that field definitions, source boundaries, and missing-value rules were never aligned. Usable data starts with a frozen schema.

Web data8 minPublished August 4, 2026

Who this is for

Teams collecting product, company, content, or market information from public pages for a spreadsheet, database, or downstream workflow.

Key takeaways

  • Freeze field definitions, data types, source boundaries, and missing-value conventions before collection.
  • Keep source and access time on every row, and preserve raw values for transformed fields.
  • Deliver duplicates, conflicts, missing data, and access failures as formal outputs—not execution noise.

On this page

  1. 1. Freeze the schema with sample rows
  2. 2. Define public sources and access boundaries
  3. 3. Make every row traceable
  4. 4. Treat the quality receipt as part of the dataset
  5. 5. Accept with computable rules
  6. 6. Ten questions before collection starts

1. Freeze the schema with sample rows

A field name does not fully define a field. “Price” needs rules for currency, tax, promotions, and ranges. “Company name” needs a choice between brand name, legal name, and display name. “Published date” needs a timezone and a convention for dates that cannot be identified.

Fill three to five sample rows from real pages before bulk collection. Samples reveal field ambiguity, page variants, and transformation cost. Move to scale only after those rows are accepted.

What a schema freeze should contain
AreaFreezePreserve
ValueDefinition, data type, and allowed formatOriginal page value
MissingDifference between empty, unpublished, and inaccessibleMissing reason
SourceAllowed domains, page types, and exclusionsOriginal URL and access time
TransformCleaning, splitting, and unit-conversion rulesFormula or rule version
Acceptance sample

Approve sample rows before approving the bulk result. A sample row is the most concrete and reviewable part of the collection contract.

2. Define public sources and access boundaries

“Visible on the web” does not mean “collectable by any method.” Scope should define publicly accessible pages, allowed domains, page types, request rate, and exclusions while respecting applicable terms, technical restrictions, and law. Content behind login, paywalls, personal accounts, or access-control bypasses should not enter a public-web task by default.

A site’s robots.txt is an important machine-readable rule for automated crawlers. It is not access authorization and does not replace site terms or applicable legal review. Pause sources with unclear boundaries for confirmation.

  • List allowed domains and explicitly excluded domains or paths.
  • Distinguish ordinary public pages, public APIs, downloads, and search result pages.
  • Set request rate, retry behavior, and stop conditions.
  • Exclude personal data, sensitive information, and access-control bypasses.

3. Make every row traceable

A dataset is maintainable only when an error can be located. Store at least source_url and accessed_at on every row. If a row uses several pages, identify which source supports which fields. Preserve original page values alongside cleaned values whenever possible.

For frequently changing data, access time should match the precision the task needs. For downloaded files, keep the filename, version, or integrity information. When a source changes, the team can then separate real-world change from a collection-rule change.

4. Treat the quality receipt as part of the dataset

A CSV that exported successfully does not prove coverage. The delivery receipt should count requested records, successful records, duplicates, missing fields, conflicting values, inaccessible pages, and items for human review. Every count should map to specific rows or an exception list.

Duplicates do not always belong in the trash. Define the unique key first, then decide whether to merge, retain, or label them. Do not let an executor arbitrarily choose between conflicting values; preserve the sources and apply the frozen priority rule.

  • Requested volume, successful volume, and actual coverage.
  • Missing rate by field, not only empty-row count.
  • The unique key and merge rule used for duplicates.
  • Conflicting sources, selection rule, and unresolved count.
  • Access failures, page variants, and records needing review.

5. Accept with computable rules

“The data looks good” is not an acceptance rule. A stronger contract specifies required fields, allowed missing rates, uniqueness rules, format rules, source coverage, and sample size. High-value fields may require 100% source traceability, while long-tail fields may allow a stated missing threshold.

Acceptance should also test structure: whether the file opens, encoding is correct, column names match, data types remain stable, and an exception receipt is attached. The dataset is deliverable only when structure, content, and evidence pass together.

Stop condition

If source structure changes at scale, access boundaries change, or bulk pages differ materially from the sample, pause and reconfirm the schema instead of continuing to produce unusable data.

6. Ten questions before collection starts

Put these ten items in the task contract to reduce rework and disputes.

  • Which decision or downstream workflow will use the data?
  • What are the allowed sources, excluded sources, and access boundaries?
  • Are field definitions, data types, and formats complete?
  • Have sample rows from real pages been accepted?
  • How are missing, conflicting, duplicate, and inaccessible records represented?
  • What is the unique key and deduplication rule?
  • Should original and normalized values both remain?
  • Which source and time fields are required per row?
  • What are the coverage, missing-rate, and sampling thresholds?
  • Which condition pauses execution for reconfirmation?

References

Only primary or official references that support this guide’s method and boundaries are listed.

  1. RFC 9309: Robots Exclusion ProtocolIETF

SCHEMA READY, COLLECTION NEXT

Schema confirmed—now need a stable delivery?

The NAFYI public web data pack collects against frozen fields and delivers sources, deduplication, missing-value, and exception receipts.

View the public web data pack

Continue reading

Complete the evidence chain with adjacent workflows.

Competitor pricing

How to Run a Competitor Pricing Analysis You Can Verify

A reusable competitor pricing method for freezing comparison rules, preserving source evidence, normalizing plans, and separating facts, inferences, and unknowns.

Read
Web QA

Web App Smoke Test Checklist: Cover Critical Paths Before Release

A risk-driven Web App smoke testing method covering scope freeze, environment matrices, critical paths, evidence bundles, and release decisions.

Read
Proof Package

What Is a Proof Package? Making Agent Deliveries Verifiable

Learn how a Proof Package organizes outcomes, sources, execution records, validation states, exceptions, and acceptance rules into a reviewable Agent delivery.

Read