Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • How to browse the archive ?

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

  • Overview
  • URI scheme
  • Search software origins to browse

Overview

This web application aims to provide HTML views to easily navigate in the Software Heritage archive. This is an ongoing developmentand new features and improvements will be progressively added over time.

URI scheme

The current URI scheme of that web application is described below and depends on the type of Software Heritage object to browse. Its exhaustive documentation can be consulted from the official Software Heritage development documentation

Context-independent browsing

Context-independent URLs provide information about objects (e.g., revisions, directories, contents, persons, …), independently of the contexts where they have been found (e.g., specific software origins, branches, commits, …).

Below are some examples of endpoints used to just render the corresponding information for user consumption:

  • Display a content from its checksum: /browse/content/sha1:4dfc4478b1d5f7388b298fdfc06802485bdeae0c/
  • Display a directory from its sha1_git identifier: /browse/directory/977fc4b98c0e85816348cebd3b12026407c368b6/
    (see the documentation to get more details about how it is computed)
  • Display information about a revision from its sha1_git identifier: /browse/revision/f1b94134a4b879bc55c3dacdb496690c8ebdc03f/
    (see the documentation to get more details about how it is computed)
  • Display information about a snapshot from its sha1 identifier: /browse/snapshot/baebc2109e4a2ec22a1129a3859647e191d04df4/
    (see the documentation to get more details about how it is computed)

Where hyperlinks are created when browsing these kind of endpoints, they always point to other context-independent browsing URLs.

Context-dependent browsing

Context-dependent URLs provide information about objects, limited to specific contexts where the objects have been found.

Currently, browsing the Software Heritage objects in the context of an origin is available. Below are some examples of such endpoints:

  • Display information about the visits of a software origin:
    • /browse/origin/visits/?origin_url=https://github.com/torvalds/linux
    • /browse/origin/visits/?origin_url=https://github.com/python/cpython
  • Display the latest archived snapshot for a software origin:
    • /browse/origin/?origin_url=https://github.com/torvalds/linux
    • /browse/origin/?origin_url=https://github.com/python/cpython
  • Display a content from an origin: /browse/origin/content/?origin_url=https://github.com/git/git&path=git.c
  • Display a directory from an origin: /browse/origin/directory/?origin_url=https://github.com/torvalds/linux&path=net/ethernet
  • Display the revision history (aka the commit log) from an origin: /browse/origin/log/?origin_url=https://github.com/Kitware/CMake

Search software origins to browse

In order to facilitate the browsing of the archive and generate relevant entry points to it, a search interface is available. Currently, it enables to search software origins from the URLs they were retrieved from. More search criteria will be added in the future.

Software Heritage — Copyright (C) 2015–2025, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Contact— JavaScript license information— Web API

back to top