Developer Ecosystem

GitHub Repository

/extract/json

GitHub repository data for OSS research and competitive intel.

Download the schemadeveloper-ecosystem/github-repository.json

github-repository.schema

// names marked ? are optional

owner:string// GitHub username or organization name that owns the repository.
repo_name:string// Repository name (without owner prefix).
full_name:string// Full repository identifier in 'owner/repo' format.
description?:string// Short description of the repository.
homepage_url?:string// Homepage URL set on the repository.
language_primary?:string// Primary programming language detected by GitHub.
languages?:object[]// Breakdown of programming languages used in the repository.
language:string// Programming language name.
bytes?:number// Number of bytes of code written in this language.
percentage?:number// Percentage of the codebase written in this language.
topics?:string[]// GitHub topic tags applied to the repository.
license?:string// SPDX license identifier or license name.
is_fork?:boolean// Whether this repository is a fork of another repository.
is_archived?:boolean// Whether the repository has been archived.
is_template?:boolean// Whether the repository is marked as a template.
visibility?:string// Visibility level of the repository. One of: public, private, internal, other.
stars_count:number// Number of stars the repository has received.
forks_count?:number// Number of forks of this repository.
watchers_count?:number// Number of users watching the repository.
open_issues_count?:number// Number of currently open issues.
open_prs_count?:number// Number of currently open pull requests.
contributors_count?:number// Total number of contributors.
commits_count?:number// Total number of commits on the default branch.
releases_count?:number// Total number of GitHub releases published.
latest_release_tag?:string// Tag name of the latest release (e.g., 'v1.2.3').
latest_release_at?:string// ISO 8601 datetime of the latest release.
created_at?:string// ISO 8601 datetime when the repository was created.
pushed_at?:string// ISO 8601 datetime of the most recent push.
default_branch?:string// Name of the default branch (e.g., 'main', 'master').
readme_url?:string// URL to the raw README file.
page_title?:string// Title of the source page. Tabstack auto-fills this from page metadata when left empty.
favicon?:string// Favicon URL of the source page. Tabstack auto-fills this from page metadata when left empty.

Try it live

A sample GitHub Repository document, generated from the schema. Edit it, or paste a real response, and see it checked against the schema instantly. It runs in your browser, nothing is sent anywhere.

your-output.json
validation

Valid, matches GitHub Repository

Every required field is present and each value matches its type. Extra fields are allowed. A field the page does not carry is not guaranteed to come back as null, so check values rather than only checking for null.

/extract/json

Copy-paste usage

The same call in TypeScript, Python, and curl. Point it at your own URL and go. The schema drives the response, so you get back the fields you asked for instead of a page to parse.

Features

  • Typed TypeScript and Python SDKs
  • One call, no parsing code and no second LLM pass
  • The same field names on every request, even when the page layout changes
github-repository.ts
// curl -sfLO https://raw.githubusercontent.com/Mozilla-Ocho/tabstack-schemas/main/developer-ecosystem/github-repository.json
import Tabstack from '@tabstack/sdk'
import schema from './github-repository.json' with { type: 'json' }

const client = new Tabstack() // reads TABSTACK_API_KEY from the environment

try {
  const data = await client.extract.json({
    url: 'https://github.com/example/project',
    json_schema: schema,
    effort: 'standard', // 'min' | 'standard' | 'max'
  })

  console.log(data)
} catch (err) {
  console.error('Extraction failed:', err)
}

Ship this schema in one call.

Pass a URL, get matching JSON back. Free to start, no extraction layer to maintain.