API is available to guest user and authenticated user.
For authenticated users, the API considers the session cookie and the API key.
Python driver are available: here.
The examples below show how to use the API with python HTTP library Requests.
r = requests.get(
    "https://avcaesar.malware.lu/api/v1/user/quota",
    cookies=dict(apikey="Your API key")
)
r.json()
    
Result:
{
    u'private_analysis': {u'current': 3, u'quota': 100, u'timeout': 60},
    u'download': {u'current': 1, u'quota': 100, u'timeout': 60},
    u'info': {u'current': 24, u'quota': 100, u'timeout': 60},
    u'analysis': {u'current': 1, u'quota': 100, u'timeout': 60}
}
    
r = requests.get(
    "https://avcaesar.malware.lu/api/v1/sample/147ceb8eb202539445e38c881685472d6d5a328dc6b028665b9ec0136e398056",
    cookies=dict(apikey="Your API key")
)
r.json()
    
Result:
{
  "analysis_in_progress": false,
  "antivirus": [
    {
      "definition_date": "20131216",
      "name": "AVG",
      "result": null,
      "status": "success"
    },
    {
      "definition_date": "20131216",
      "name": "Avast",
      "result": "Win32:Torbot [Trj]",
      "status": "success"
    },
    {
      "definition_date": "20131216",
      "name": "Avira",
      "result": "TR/Crypt.ZPACK.Gen",
      "status": "success"
    },
    {
      "definition_date": "20131216",
      "name": "ClamAV",
      "result": null,
      "status": "success"
    },
    {
      "definition_date": "20131216",
      "name": "ESET NOD32",
      "result": "a variant of Win32/Kryptik.AWYM trojan",
      "status": "success"
    },
    {
      "definition_date": "20131216",
      "name": "Emsisoft",
      "result": "Gen:Variant.Symmi.23204",
      "status": "success"
    },
    {
      "definition_date": "20131216",
      "name": "Kaspersky",
      "result": "HEUR:Trojan.Win32.Generic",
      "status": "success"
    },
    {
      "definition_date": "20131216",
      "name": "McAfee",
      "result": "Trojan-FBYN!D3AA20A4908A",
      "status": "success"
    },
    {
      "definition_date": "20131216",
      "name": "Microsoft",
      "result": "Trojan:Win32/Zeeborot.A",
      "status": "success"
    }
  ],
  "filename": [
    "147ceb8eb202539445e38c881685472d6d5a328dc6b028665b9ec0136e398056"
  ],
  "first_seen": "2013-12-16T09:20:07.635000",
  "last_seen": "2013-12-16T09:20:07.635000",
  "last_update": "2013-12-16T09:20:07.635000",
  "md5": "d3aa20a4908a446c8f6d6769cb890145",
  "sections_available": [
    "antivirus",
    "pe"
  ],
  "sha1": "ede7c5c9aab926f255693d9f23787c456645b753",
  "sha256": "147ceb8eb202539445e38c881685472d6d5a328dc6b028665b9ec0136e398056",
  "size": 3776512,
  "ssdeep": "98304:f1nYVwKPyBEV8dV2DcJXMbhhUJ5iMdssB9qxEK:Ne/PHVuAcuhUSqsNEK",
  "type": "PE32 executable (GUI) Intel 80386, for MS Windows"
}
    
We can see section available in the result. To access the others sections, the following instruction can be used:
r = requests.get(
    "https://avcaesar.malware.lu/api/v1/sample/147ceb8eb202539445e38c881685472d6d5a328dc6b028665b9ec0136e398056?overview=false&section=pe",
    cookies=dict(apikey="Your API key")
)
r.json()
    
Result:
{
  "md5": "d3aa20a4908a446c8f6d6769cb890145",
  "pe": {
    "PEID BobSoft": [],
    "PEID Panda": [
      "Microsoft Visual C++ v7.1 EXE",
      "Microsoft Visual C++ v7.0"
    ],
    "PEID SANS": [
      "Microsoft Visual C++ v7.0",
      "Microsoft Visual C++ 7.0"
    ],
    "PEID SysReveal": [
      "Microsoft Visual C++ v7.0"
    ],
    "antidbg": {
      "TerminateProcess": 7921680,
      "UnhandledExceptionFilter": 7921700
    },
    "attributes": {
      "Address Of Entry Point": 3684736,
      "Compile Time": "2010-04-09T00:24:45",
      "DLL": false,
      "Flags": [],
      "Number of RVA and Sizes": 16,
      "Optional Header": 4194304,
      "Required CPU type": "IMAGE_FILE_MACHINE_I386",
      "Subsystem": "IMAGE_SUBSYSTEM_WINDOWS_GUI"
    },
    "eat": [
      {
        "address": 4834768,
        "name": "v9Kyk1Avue",
        "ordinal": 1
      },
      {
        "address": 7295984,
        "name": "vFKhwl9hbw",
        "ordinal": 2
      },
      {
        "address": 5657664,
        "name": "vFWzpaGZdr",
        "ordinal": 3
      },
      {
        "address": 5463264,
        "name": "vIT9I5sGlB",
        "ordinal": 4
      },
      {
        "address": 4551392,
        "name": "vNb5RSy1Ei",
        "ordinal": 5
      },
      {
        "address": 7568928,
        "name": "vR9GQ9VBkE",
        "ordinal": 6
      },
      {
        "address": 5081808,
        "name": "vSA9fK7vEz",
        "ordinal": 7
      },
      {
        "address": 5906944,
        "name": "vZc3HeYPLy",
        "ordinal": 8
      },
      {
        "address": 5278832,
        "name": "v_jJyt_fRB",
        "ordinal": 9
      },
      {
        "address": 6748624,
        "name": "veBwwSO2At",
        "ordinal": 10
      },
      {
        "address": 6172944,
        "name": "vjb7GgY_u0",
        "ordinal": 11
      },
      {
        "address": 4308912,
        "name": "vnKPf2ahjz",
        "ordinal": 12
      },
      {
        "address": 6384032,
        "name": "vo5cIBKHYZ",
        "ordinal": 13
      },
      {
        "address": 7019792,
        "name": "vs_gzYewH6",
        "ordinal": 14
      }
    ],
    "iat": [
      {
        "functions": [
          "GetModuleHandleA",
          "GetVersionExA",
          "ExitProcess",
          "GetProcAddress",
          "TerminateProcess",
          "GetCurrentProcess",
          "WriteFile",
          "GetStdHandle",
          "GetModuleFileNameA",
          "UnhandledExceptionFilter",
          "GetModuleFileNameW",
          "FreeEnvironmentStringsA",
          "MultiByteToWideChar",
          "GetEnvironmentStrings",
          "FreeEnvironmentStringsW",
          "GetLastError",
          "GetEnvironmentStringsW",
          "GetCommandLineA",
          "GetCommandLineW",
          "SetHandleCount",
          "GetFileType",
          "GetStartupInfoA",
          "DeleteCriticalSection",
          "TlsAlloc",
          "SetLastError",
          "GetCurrentThreadId",
          "GetCurrentThread",
          "TlsFree",
          "TlsSetValue",
          "TlsGetValue",
          "HeapDestroy",
          "HeapCreate",
          "VirtualFree",
          "HeapFree",
          "LeaveCriticalSection",
          "FatalAppExitA",
          "EnterCriticalSection",
          "LoadLibraryA",
          "HeapAlloc",
          "InitializeCriticalSection",
          "GetACP",
          "GetOEMCP",
          "GetCPInfo",
          "VirtualAlloc",
          "HeapReAlloc",
          "IsBadWritePtr",
          "RtlUnwind",
          "InterlockedExchange",
          "VirtualQuery",
          "HeapSize",
          "QueryPerformanceCounter",
          "GetTickCount",
          "GetCurrentProcessId",
          "GetSystemTimeAsFileTime",
          "GetTimeFormatA",
          "GetDateFormatA",
          "GetUserDefaultLCID",
          "GetLocaleInfoA",
          "EnumSystemLocalesA",
          "IsValidLocale",
          "IsValidCodePage",
          "GetStringTypeA",
          "GetStringTypeW",
          "LCMapStringA",
          "WideCharToMultiByte",
          "LCMapStringW",
          "GetTimeZoneInformation",
          "VirtualProtect",
          "GetSystemInfo",
          "GetLocaleInfoW",
          "CompareStringA",
          "CompareStringW",
          "SetEnvironmentVariableA"
        ],
        "name": "KERNEL32.dll"
      }
    ],
    "sections": [
      {
        "Entropy": 5.906698539904132,
        "Flags": [
          "IMAGE_SCN_CNT_CODE",
          "IMAGE_SCN_MEM_EXECUTE",
          "IMAGE_SCN_MEM_READ"
        ],
        "Misc_VirtualSize": 3719700,
        "SizeOfRawData": 3723264,
        "VirtualAddress": 4096,
        "md5": "5347b7e34a4d770fd38f9278476e2dda",
        "name": ".text\u0000\u0000\u0000",
        "sha1": "3d099c142dd82269b6978a8e893857449b9506ac",
        "sha256": "766732299c9992420095f752fdbf96caeddb582884e97c53a4fc358d723cc21f",
        "sha512": "03dd03e953278002820f420c2a5c647942a5d83a309a6b549606d3a3905ca706c3cc48e8252fd0442b283911c4b838ca95c7ffb42cf2dbebe6c5f4ee5dd4fed4"
      },
      {
        "Entropy": 4.758974492588945,
        "Flags": [
          "IMAGE_SCN_CNT_INITIALIZED_DATA",
          "IMAGE_SCN_MEM_READ"
        ],
        "Misc_VirtualSize": 10455,
        "SizeOfRawData": 12288,
        "VirtualAddress": 3727360,
        "md5": "0ca9d5d849ab568ea39284c94c04b1a0",
        "name": ".rdata\u0000\u0000",
        "sha1": "18f100ee6879ab67320275f6a94e24444e28b745",
        "sha256": "909255c93f6307a9db7facfe95a436a248b2c8de64e773e5a47d050986c4e14c",
        "sha512": "faaf9973f94209af85d7b998c803fb8b935bd36e1f9790f0308c5a3744b0ad8f9be982ebb50cc6c11791dc3a69fc42b4e0df9f3bd8e215d825c9b581aa1a0f2b"
      },
      {
        "Entropy": 3.802800323595939,
        "Flags": [
          "IMAGE_SCN_MEM_WRITE",
          "IMAGE_SCN_CNT_INITIALIZED_DATA",
          "IMAGE_SCN_MEM_READ"
        ],
        "Misc_VirtualSize": 6008,
        "SizeOfRawData": 4096,
        "VirtualAddress": 3739648,
        "md5": "ceb294cae9121cbd8360b75a5f7753c5",
        "name": ".data\u0000\u0000\u0000",
        "sha1": "b9c8dbf6bb150f67c9fcc0475e151cc964b301cb",
        "sha256": "b79e7e921e5f07bcb999fbcf6e7945d99553906ac8adf8a1b77d68abcf9c2e1f",
        "sha512": "ac5081bdd974b0e03c4b75e88463aa560eb5cf292d110d7869caa72cb2f45a674ef3cdbb14c3a53eac00f6757e05b89b86476980fe6c56ef355c1b151b55a6d8"
      },
      {
        "Entropy": 5.990192179425363,
        "Flags": [
          "IMAGE_SCN_CNT_INITIALIZED_DATA",
          "IMAGE_SCN_MEM_READ"
        ],
        "Misc_VirtualSize": 30560,
        "SizeOfRawData": 32768,
        "VirtualAddress": 3747840,
        "md5": "64d7a3201799edcc275daee2f93dd1e4",
        "name": ".rsrc\u0000\u0000\u0000",
        "sha1": "6326f6a447dd766a2a1627db6438d063ff20bb9c",
        "sha256": "27074b8517b846964a3500b59e89413bcd5f98bdf9fe0ef49495ba8df8a64f0c",
        "sha512": "f4743029b67c64fcb65887549f0a735562642433c01481fd2b9e4ad1338e0259266564a4106f02e2d0d5c14dfc543cc328f2692f4842cafdeb240e7e69b3dbc7"
      }
    ]
  },
  "sha1": "ede7c5c9aab926f255693d9f23787c456645b753",
  "sha256": "147ceb8eb202539445e38c881685472d6d5a328dc6b028665b9ec0136e398056"
}
    
r = requests.get(
    "https://avcaesar.malware.lu/api/v1/sample/147ceb8eb202539445e38c881685472d6d5a328dc6b028665b9ec0136e398056/download",
    cookies=dict(apikey="Your API key")
)
if resp.ok:
    filename = re.findall('filename=(\S+)', resp.headers.get('content-disposition'))[0]
    fp = open(filename, 'w')
    fp.write(resp.content)
    fp.close()
    print r.headers
    
Result:
{
    'cache-control': 'public, max-age=43200',
    'content-disposition': 'attachment; filename=147ceb8eb202539445e38c881685472d6d5a328dc6b028665b9ec0136e398056.zip',
    'content-type': 'application/zip',
    'expires': 'Mon, 16 Dec 2013 12:33:23 GMT'
}
    
files = {'file': open("path", 'rb')}
r.requests.post(
    "https://avcaesar.malware.lu/api/v1/sample/upload",
    files=files,
    cookies=dict(apikey="Your API key")
)
r.json()
    
Result for new sample:
{
    u'md5': u'b65f8e25fb1f24ad166c24b69fa600a8',
    u'sha1': u'e967731f2932976b1437e39a7894eea549797371',
    u'sha256': u'04425a8121d334bd86415dc406939211afcff092d6a3ffc05b6a4972f0c68481',
    u'new': True # True if the sample is new in the database else it's false
}