Skip to content
Data.co Marketplace← Data.co for Enterprise
data.coMarketplace
Data services · Enrichment

Enrichment that never overwrites the source.

Add classifications, entity tags, topics and relationships to marketplace or private data. Every derived field is stored apart from the original record, with its own provenance, transformation version and quality score.

The rule

Derived data is kept separate from source.

An enriched record has two parts. The source part is exactly what the provider delivered, with the provider's provenance: upstream source, license, retrieval time and content hash where available. The derived part holds everything we or a model produced, flagged is_derived: true.

That separation is what lets you cite the source, audit the enrichment, and re-run or discard a derivation without losing the original. It is the same model LAW.co uses for its AI case summaries: the opinion text and the summary carry different licenses and different provenance.

It also changes how enrichment fails. If a model mislabels a topic or a summary drifts from the text, the error sits in a separate, versioned block that can be withheld, corrected and re-run. The source record your users cite is never touched, so a bad enrichment run is a rollback, not a data-recovery project.

Provenance

What every derived field carries

FieldPurpose
is_derivedMarks the value as generated, never source text or fact.
generatorThe model id or rule-set name that produced it.
transformation_versionPinned version of the pipeline, so results are reproducible and diffable across runs.
quality_scoreA score from an automated check (for example a second-model faithfulness judge or a rule validator), with the method named.
review_statusUnreviewed, auto-approved, or human-approved. Unreviewed output can be withheld from delivery.
source_refPointer back to the exact source record and version the derivation was computed from.
Record shape

Source and derived parts in one response

This is how a LAW.co case record is shaped in the API v1 envelope: the original text and facts carry one provenance block, and the AI enrichment carries its own, with isDerived set and a generator named. The values below are placeholders; while the connector runs in demo mode, meta.demo is true and every record is flagged demo.

response.json
{
  "data": {
    "id": "lawco:case:<id>",
    "dataset": "lawco-court-opinions",
    "documentType": "court_opinion",
    "title": "<case name>",
    "citations": ["<reporter citation>"],
    "court": "<court>",
    "date": "<YYYY-MM-DD>",
    "provenance": {
      "provider": "lawco",
      "upstreamSource": "CAP",
      "retrievedAt": "<ISO datetime>",
      "licenseId": "public-domain",
      "isDerived": false,
      "generator": null
    },
    "enrichment": {
      "summary": "<AI-generated summary>",
      "topics": ["<topic>"],
      "provenance": {
        "provider": "lawco",
        "licenseId": "<provider license>",
        "isDerived": true,
        "generator": "<model or pipeline id>"
      }
    },
    "demo": false
  },
  "meta": { "request_id": "req_…", "api_version": "v1", "demo": false, "warnings": [] },
  "error": null
}

Illustrative example · final API surface documented in /docs

Enrichment types

What we add

01

Classification

Document type, topic and domain labels against a taxonomy you approve.

02

Entity tagging

People, organizations, courts, places and identifiers extracted and linked.

03

Relationships

Edges between records, such as citations, ownership or parent-child links.

04

Summaries

Plain-language summaries, labeled as AI-generated and never presented as source language.

05

Normalized attributes

Dates, units and codes added as derived fields next to the raw values.

06

Quality flags

Duplicate, stale or low-confidence markers you can filter on.

Methodology

How an enrichment run works

Every engagement follows the same sequence, whether the input is a marketplace dataset or your own records.

  1. 1

    Define the taxonomy

    Agree the labels, entity types or summary format with you, including what counts as out of scope. A written definition per label is what the quality checks test against.

  2. 2

    Pin the transformation

    Fix the model ids, prompts, rules and reference tables as one transformation version. Changing any of them creates a new version instead of silently altering past output.

  3. 3

    Run on a sample

    Enrich a sample you choose, score it, and review it with you. Thresholds for auto-approval are set from this review, not assumed.

  4. 4

    Score every output

    Each derived value gets a quality score from a named method: a rule validator, a second-model faithfulness check against the source text, or agreement between methods.

  5. 5

    Gate and deliver

    Outputs below threshold go to review or are withheld. Delivered records carry the derived block, the version and the score, so consumers can filter on them.

Guardrails

How we keep enrichment honest

  • Source values are never edited in place
  • AI output is labeled as AI output wherever it appears
  • Unreviewed derivations can be withheld
  • Every run is pinned to a transformation version
  • Quality scores name the method that produced them
  • Provider licenses still govern the source part
  • Enrichment of licensed data stays within the provider's terms
  • Re-runs produce a diff against the previous version
Using enrichment downstream

In RAG and agent pipelines, ground on source, not summaries.

Derived summaries are useful for triage and ranking, but a model answering a question should quote the source text and cite the source record. The MCP tools label enrichment as provider-generated and not citable as authority, and your prompts should do the same.

MCP for agents
FAQ

Questions buyers ask

Can I get only the source data, without enrichment?

Yes. The derived block is optional in delivery, and the source part is always available on its own under the provider's license.

Who owns enrichment Data.co produces for me?

That is set in your agreement. Enrichment of your private data is yours by default; enrichment layers a provider sells (like LAW.co's summaries) remain the provider's.

Is enrichment available self-serve?

Not yet. Enrichment is scoped per engagement today. Enrichment credits are planned for the Business plan.

How is a quality score calculated?

It depends on the enrichment type, and the method is always named on the record. Typical methods are rule validation for structured fields and a second-model faithfulness check for summaries. Scores are for filtering and review routing, not a guarantee of accuracy.

Can you enrich LAW.co data for us today?

Not as a delivered dataset. LAW.co records are live over the API one at a time, but redistribution beyond single records is awaiting a written rights agreement. We can scope the work now against live records.

What happens when the model changes?

A new model is a new transformation version. We re-run, compare outputs against the previous version, and you decide whether to adopt the new results.

Scope an enrichment project.

Tell us the dataset, the fields you need and how you will use them. We will propose a pipeline with provenance built in.