{"id":13405963,"url":"https://github.com/googleapis/googleapis","last_synced_at":"2026-01-27T01:31:46.107Z","repository":{"id":29352846,"uuid":"32887098","full_name":"googleapis/googleapis","owner":"googleapis","description":"Public interface definitions of Google APIs.","archived":false,"fork":false,"pushed_at":"2025-03-17T08:06:54.000Z","size":219405,"stargazers_count":7796,"open_issues_count":42,"forks_count":2374,"subscribers_count":341,"default_branch":"master","last_synced_at":"2025-03-17T09:26:23.547Z","etag":null,"topics":["protocol-buffers"],"latest_commit_sha":null,"homepage":"","language":"Starlark","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/googleapis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-03-25T19:47:34.000Z","updated_at":"2025-03-17T06:49:47.000Z","dependencies_parsed_at":"2023-10-02T20:03:45.795Z","dependency_job_id":"fb1bc4a4-08aa-4135-bda7-4ff907d181cb","html_url":"https://github.com/googleapis/googleapis","commit_stats":{"total_commits":8698,"total_committers":1081,"mean_commits":8.046253469010177,"dds":"0.22234996550931252","last_synced_commit":"740a723d67541a7917db5e2b017e4fd0e8d059fd"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fgoogleapis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fgoogleapis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fgoogleapis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/googleapis%2Fgoogleapis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/googleapis","download_url":"https://codeload.github.com/googleapis/googleapis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244007544,"owners_count":20382671,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["protocol-buffers"],"created_at":"2024-07-30T19:02:17.191Z","updated_at":"2026-01-27T01:31:46.072Z","avatar_url":"https://github.com/googleapis.png","language":"Starlark","funding_links":[],"categories":["Starlark","Repositories","Starlark (7)","Web bindings","Uncategorized"],"sub_categories":["Google API","Uncategorized"],"readme":"# Google APIs\n\nThis repository contains the original interface definitions of public\nGoogle APIs that support both REST and gRPC protocols. Reading the\noriginal interface definitions can provide a better understanding of\nGoogle APIs and help you to utilize them more efficiently. You can also\nuse these definitions with open source tools to generate client\nlibraries, documentation, and other artifacts.\n\n## Building\n### Bazel\n\nThe recommended way to build the API client libraries is through\n[Bazel](https://bazel.build/) \u003e= 4.2.2.\n\nFirst, [install bazel](https://docs.bazel.build/versions/master/install.html).\n\nTo build all libraries:\n\n```\nbazel build //...\n```\n\nTo test all libraries:\n\n```\nbazel test //...\n```\n\nTo build one library in all languages:\n\n```\nbazel build //google/example/library/v1/...\n```\n\nTo build the Java package for one library:\n\n```\nbazel build //google/example/library/v1:google-cloud-example-library-v1-java\n```\n\nBazel packages exist in all the libraries for Java, Go, Python, Ruby, Node.js, PHP and C#.\n\n## Overview\n\nGoogle APIs are typically deployed as API services that are hosted\nunder different DNS names. One API service may implement multiple APIs\nand multiple versions of the same API.\n\nGoogle APIs use [Protocol Buffers](https://github.com/google/protobuf)\nversion 3 (proto3) as their Interface Definition Language (IDL) to\ndefine the API interface and the structure of the payload messages. The\nsame interface definition is used for both REST and RPC versions of the\nAPI, which can be accessed over different wire protocols.\n\nThere are several ways of accessing Google APIs:\n\n1.  JSON over HTTP: You can access all Google APIs directly using JSON\nover HTTP, using\n[Google API client library](https://developers.google.com/api-client-library)\nor third-party API client libraries.\n\n2.  Protocol Buffers over gRPC: You can access Google APIs published\nin this repository through [GRPC](https://github.com/grpc), which is\na high-performance binary RPC protocol over HTTP/2. It offers many\nuseful features, including request/response multiplex and full-duplex\nstreaming.\n\n3.  [Google Cloud Client Libraries](https://cloud.google.com/apis/docs/cloud-client-libraries):\nYou can use these libraries to access Google Cloud APIs. They are based\non gRPC for better performance and provide idiomatic client surface for\nbetter developer experience.\n\n## Discussions\n\nThis repo contains copies of Google API definitions and related files.  For\ndiscussions or to raise issues about\n[Google API client libraries](https://github.com/googleapis),\n[GRPC](https://github.com/grpc) or\n[Google Cloud Client Libraries](https://github.com/googlecloudplatform) please\nrefer to the repos associated with each area.\n\n## Repository Structure\n\nThis repository uses a directory hierarchy that reflects the Google\nAPI product structure. In general, every API has its own root\ndirectory, and each major version of the API has its own subdirectory.\nThe proto package names exactly match the directory: this makes it\neasy to locate the proto definitions and ensures that the generated\nclient libraries have idiomatic namespaces in most programming\nlanguages. Alongside the API directories live the configuration files\nfor the [GAPIC toolkit](https://github.com/googleapis/toolkit).\n\n**NOTE:** The major version of an API is used to indicate breaking\nchange to the API.\n\n## Generate gRPC Source Code\n\nTo generate gRPC source code for Google APIs in this repository, you\nfirst need to install both Protocol Buffers and gRPC on your local\nmachine, then you can run `make LANGUAGE=xxx all` to generate the\nsource code. You need to integrate the generated source code into\nyour application build system.\n\n**NOTE:** The Makefile is only intended to generate source code for the\nentire repository. It is not for generating linkable client library\nfor a specific API. Please see other repositories under\nhttps://github.com/googleapis for generating linkable client libraries.\n\n### Go gRPC Source Code\nIt is difficult to generate Go gRPC source code from this repository,\nsince Go has different directory structure.\nPlease use [this repository](https://github.com/google/go-genproto) instead.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogleapis%2Fgoogleapis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoogleapis%2Fgoogleapis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoogleapis%2Fgoogleapis/lists"}