Skip to content

Import JSON data into an investigation

Osintracker lets you import entities and relationships into an existing investigation from CSV or JSON files. This feature is available from the investigation's information panel.

Access the import

  1. Open your investigation
  2. Make sure no element is selected so the information panel is shown
  3. Open the panel's ⋮ menuEntities & relationships section, and choose either Import .json or Import .csv

The ⋮ menu is at the top of the investigation's information panel (right side panel, nothing selected). JSON and CSV are two separate Import entries — each tagged with its format.

JSON format

The JSON format lets you import entities and relationships in a single file.

File structure

json
{
  "entities": [ ... ],
  "relations": [ ... ]
}

Entity structure

json
{
  "id": "unique-identifier",
  "typeId": "entity-type-id",
  "value": "the entity's main value",
  "colorNum": "2",
  "comments": "Notes about this entity",
  "countryCode": "FR",
  "critical": false,
  "creationDate": 1700000000000,
  "nodeSize": "M",
  "progress": "question",
  "rating": "2"
}
FieldTypeRequiredDescription
idstringYesUnique identifier
typeIdstringYesEntity type ID (from the Types selector / Entity types)
valuestringYesMain displayed value
colorNumstringNoColor number (1–8)
commentsstringNoFree notes
countryCodestringNoISO 2-letter country code
criticalbooleanNoMarks as critical
creationDatenumberNoTimestamp in ms since epoch
nodeSizestringNo"S", "M" or "L"
progressstringNoBadge: "done", "exclamation", "false-positive", "question", "stop", "wait"
ratingstringNo"0" to "3"
editionDatenumberNoTimestamp in ms of the last edit
positionobjectNo{ "x": number, "y": number } — node position on the graph
urlstringNoAssociated URL
imagestringNoImage URL displayed on the node
imageDisplaybooleanNoWhether the image is shown on the node
customIconstringNoCustom icon identifier

Relationship structure

json
{
  "id": "unique-relationship-identifier",
  "originId": "source-entity-id",
  "targetId": "target-entity-id",
  "label": "Relationship text",
  "critical": false,
  "bidirectional": false,
  "creationDate": 1700000000000,
  "rating": 2,
  "source": "Source of the information",
  "comments": "Notes about this relationship"
}
FieldTypeRequiredDescription
idstringYesUnique identifier
originIdstringYesSource entity ID
targetIdstringYesTarget entity ID
labelstringNoLabel shown on the edge
criticalbooleanNoCritical relationship (red)
bidirectionalbooleanNoTwo-way
creationDatenumberNoTimestamp in ms
ratingnumberNo0 to 3
sourcestringNoOrigin of the information
resourcestringNoResource / reference
colorNumstringNoColor number (1–8)
editionDatenumberNoTimestamp in ms of the last edit
commentsstringNoFree notes

Temporal fields startDate, endDate, startTime and endTime (numeric timestamps) are also accepted.

Duplicate IDs

The id of every imported entity and relationship must be unique and not already present in the investigation.

  • If an imported id already exists in the investigation, or appears twice in the same file, the import is blocked and the wizard shows an error for each conflict — nothing is imported until you resolve it.
  • Use fresh, unique identifiers (e.g. UUIDs) for new elements.

Re-importing a whole investigation is different: the .osintracker investigation import does handle ID conflicts automatically by importing an independent copy with reassigned IDs. See Import & Export.

CSV format

CSV lets you import entities and relationships separately (two distinct files).

Comma-delimited (,) is recommended. The delimiter is auto-detected, so semicolon- or tab-separated files usually work too.

Boolean columns (critical, bidirectional) accept true / false (and also yes / 1).

Columns for entities

ColumnRequiredDescription
idYesUnique identifier
valueYesMain value
typeIdYesType ID (via the types selector)
colorNumNoColor number
creationDateNoTimestamp in ms
criticalNotrue / false
editionDateNoTimestamp in ms
ratingNo0 to 3
countryCodeNoISO 2-letter country code
nodeSizeNoS, M or L
progressNoBadge (see JSON progress values)
commentsNoNotes

Columns for relationships

ColumnRequiredDescription
idYesUnique identifier
originIdYesSource entity ID
targetIdYesTarget entity ID
creationDateNoTimestamp in ms
editionDateNoTimestamp in ms
labelNoLabel
criticalNotrue / false
bidirectionalNotrue / false
colorNumNoColor number
ratingNo0 to 3
startDateNoStart date
endDateNoEnd date
sourceNoSource
resourceNoResource / reference
commentsNoNotes

Rows that are missing a required column (id, value/typeId for entities, originId/targetId for relationships) are ignored, and the wizard reports how many were skipped.

Finding type IDs

To find a type's typeId, use the types selector, available from:

Main menu → Types selector

Select the desired type(s) (Ctrl+Click to select several), then copy the generated text to use in your CSV or JSON files.

Osintracker user guide