HelpDatabase Reference › MeAnd23W_Relatives

MeAnd23W_Relatives Table

The MeAnd23W_Relatives table is the primary table for 23andMe DNA relative (match) data. Each row represents one DNA relative for one 23andMe profile. It is the current, comprehensive relatives table, populated by the browser-based gather process against the modern 23andMe site.

Relatives vs. Matches: MeAnd23W_Relatives is the active table used by the current 23andMe gather. MeAnd23W_Matches is a legacy table populated only by the older (pre-redesign) 23andMe import path and has a smaller column set. New gathers write to MeAnd23W_Relatives. See the MeAnd23W_Matches page for details.

How It’s Populated

Rows are created and updated as the gather walks the 23andMe relatives list and then, optionally, visits each relative for deeper data. Different gather steps fill in different columns:

Step When It Happens Fields Populated
Relatives List
Batch — every page of relatives
The relatives list is read in pages and written in bulk. Each relative is inserted or updated. psid, Name/first/last, Sex, Relationship, PredictedRelationship, PredictedRange, DNAShared, SegmentsShared, Residence, CurrentLocationLat/Long, FamilySurnames, FamilyLocations, Notes, SharingStatus, IntroductionStatus, added, patsid, matside, rel_user, rel_alg, img, ehid, eid, url, MaxSegmentLength, IsFavorite, GrandparentLocations, TimeLastActive, HasFamilySearch, PrivacyContexts, HasExchangedMessage, HasPendingInboundInvitation, HasPendingOutboundInvitation, created_date
Haplogroups
Per-relative
When haplogroup gathering visits an individual relative MaternalHaplogroup, PaternalHaplogroup
Ancestry Composition
Per-relative
When ancestry composition gathering visits an individual relative Ancestry, AncestryComposition (JSON)
In Common With (ICW)
Per-relative
When ICW gathering visits an individual relative icw_date (shared-match rows are stored in MeAnd23W_ICW)
Chromosome / Segments
Per-relative
When chromosome gathering visits an individual relative chromo_date (segment rows are stored in MeAnd23W_FIANew)
psid is the 23andMe profile ID — the profile/kit being gathered (your account or a profile you administer). ehid is the relative’s profile ID and serves as the unique match identifier; rows are keyed on the (psid, ehid) pair.

Column Reference

Identifiers

ColumnTypeDescription
Idint (PK)Auto-incrementing primary key
loginUsernamestringDNAGedcom username who gathered this data
psidstringThe 23andMe profile ID being gathered (the profile/kit whose relatives these are)
ehidstringThe relative’s profile ID (relative_profile_id). Unique match identifier; part of the (psid, ehid) key.
eidstringThe relative’s profile ID as reported in the profile_id field
eiidstringSecondary match ID. Not populated by the current gather (stored empty).
NamestringRelative’s display name (first + last)
firststringFirst name (or first initial if name is private)
laststringLast name (or last initial if name is private)
urlstringRelative’s profile URL path on 23andMe
imgstringURL to the relative’s profile image

Relationship & DNA

ColumnTypeDescription
RelationshipstringUser-set / overridden relationship (overridden_relationship_id)
PredictedRelationshipstring23andMe’s algorithm-predicted relationship (predicted_relationship_id)
PredictedRangestringPredicted relationship range, formatted as “low-high” from relationship_range
DNASharedstringShared DNA as a proportion (ibd_proportion, e.g. 0.0123). Multiply by 7440 to approximate shared cM.
SegmentsSharedstringNumber of shared DNA segments (num_segments)
MaxSegmentLengthstringLongest shared segment length (max_segment_length)
patsidstring“True” if the relative is on the paternal side (is_paternal_side)
matsidestring“True” if the relative is on the maternal side (is_maternal_side)
rel_userstringUser/overridden relationship code (duplicate of Relationship source)
rel_algstringAlgorithm-predicted relationship code (duplicate of PredictedRelationship source)

Haplogroups

ColumnTypeDescription
MaternalHaplogroupstringMaternal (mtDNA) haplogroup. Populated by the per-relative haplogroup gather step, not by the list pass.
PaternalHaplogroupstringPaternal (Y-DNA) haplogroup. Populated by the per-relative haplogroup gather step, not by the list pass.

Profile & Biographical

ColumnTypeDescription
SexstringRelative’s sex
BirthYearstringBirth year. Stored empty by the current list pass.
BirthplacestringBirthplace. Stored empty by the current list pass.
ResidencestringCurrent location, assembled from city, county, state, and country (current_location)
AncestrystringAncestry summary text. Populated by the ancestry composition gather step.
FamilySurnamesstringFamily surnames the relative listed (surnames)
FamilyLocationsstringFamily locations the relative listed (raw_family_locations)
NotesstringNote the user entered on the relative (note)

Sharing & Contact

ColumnTypeDescription
SharingStatusstringOpen-sharing status (is_open_sharing)
IntroductionStatusstringCommunication summary built from message/invitation flags (e.g. “Messaged”, “Pending Inbound”, “Pending Outbound”)
can_resendstringWhether an introduction can be re-sent. Stored empty by the current list pass.
resend_datestringDate an introduction may be re-sent. Stored empty by the current list pass.
HasExchangedMessagestring“true”/“false” — a message has been exchanged (has_exchanged_message)
HasPendingInboundInvitationstring“true”/“false” — pending incoming invitation (has_pending_inbound_invitation)
HasPendingOutboundInvitationstring“true”/“false” — pending outgoing invitation (has_pending_outbound_invitation)

Comprehensive 23andMe Fields (added 2026-01-11)

ColumnTypeDescription
IsFavoritestring“true”/“false” — relative is marked favorite (is_favorite)
CurrentLocationLatstringLatitude of the relative’s current location
CurrentLocationLongstringLongitude of the relative’s current location
GrandparentLocationsstring (JSON)Grandparent birth-location data stored as a JSON string (grandparent_birth_locations)
TimeLastActivestringWhen the relative was last active on 23andMe (time_last_active)
HasFamilySearchstring“true”/“false” — relative has a linked FamilySearch tree (has_familysearch)
PrivacyContextsstringComma-separated list of privacy contexts (privacy_contexts)
FamilyTreeUrlstringExternal family-tree URL (Ancestry, FamilySearch, etc.). Filled by per-relative gathering when available.
AncestryCompositionstring (JSON)Ancestry composition breakdown stored as a JSON string. Populated by the ancestry composition gather step.
JSON columns: GrandparentLocations and AncestryComposition hold raw JSON strings rather than scalar values. Parse them in your own tooling to read the structured detail. PrivacyContexts holds a comma-separated list.

Gather Tracking

ColumnTypeDescription
addedstringDate the relative opted in to DNA Relatives (date_opted_in)
created_datestringDate this record was created (gather timestamp)
icw_datestringWhen ICW data was last gathered for this relative
chromo_datestringWhen chromosome/segment data was last gathered for this relative
visiblestringVisibility flag. Stored empty by the current list pass.
discstringDiscovery/legacy flag. Stored empty by the current list pass.
syncstringSync status flag (“0” until uploaded)

Data Preservation Rules

Relatives are keyed on the (psid, ehid) pair. When the relatives list is re-gathered, an existing row is updated rather than duplicated — but only the list-level columns are written. Columns filled by the separate per-relative steps are deliberately left untouched so a list re-run never wipes out data gathered earlier:

  • MaternalHaplogroup / PaternalHaplogroup — not touched by the list update; preserved from the haplogroup step.
  • Ancestry / AncestryComposition — not touched by the list update; preserved from the ancestry composition step.
  • icw_date / chromo_date — not touched by the list update; preserved from the ICW and chromosome steps.
  • FamilyTreeUrl — not touched by the list update; preserved from per-relative gathering.
  • created_date — not overwritten once set.

List-level columns (name, relationship, DNA proportions, sharing/contact flags, location, and the 2026-01-11 fields) are refreshed on each re-gather.

Related Tables

  • MeAnd23W_ICW — In Common With data (shared relatives between two people); keyed on relative profile IDs.
  • MeAnd23W_FIANew — chromosome segment data gathered per relative.
  • MeAnd23W_Triag — triangulation results between relatives.
  • MeAnd23W_FamilyTree — family-tree nodes for a profile.
  • MeAnd23W_Shares — shareable relatives used in segment/FIA processing.
  • MeAnd23W_Matches — legacy relatives table from the older 23andMe import path.