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 ⋮ menu → Entities & 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