{"id":29921271,"url":"https://github.com/audiusproject/api","last_synced_at":"2026-06-02T01:02:10.603Z","repository":{"id":305775064,"uuid":"955487184","full_name":"AudiusProject/api","owner":"AudiusProject","description":"Open source API backend for audius.co","archived":false,"fork":false,"pushed_at":"2026-05-29T01:44:14.000Z","size":14291,"stargazers_count":5,"open_issues_count":10,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-05-29T03:24:31.913Z","etag":null,"topics":["audio","ethereum","protocol","solana","streaming","web3"],"latest_commit_sha":null,"homepage":"https://api.audius.co","language":"Go","has_issues":true,"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/AudiusProject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-26T18:02:46.000Z","updated_at":"2026-05-29T01:40:26.000Z","dependencies_parsed_at":"2026-02-11T03:19:38.089Z","dependency_job_id":null,"html_url":"https://github.com/AudiusProject/api","commit_stats":null,"previous_names":["audiusproject/api"],"tags_count":649,"template":false,"template_full_name":null,"purl":"pkg:github/AudiusProject/api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AudiusProject%2Fapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AudiusProject%2Fapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AudiusProject%2Fapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AudiusProject%2Fapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AudiusProject","download_url":"https://codeload.github.com/AudiusProject/api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AudiusProject%2Fapi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33800676,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["audio","ethereum","protocol","solana","streaming","web3"],"created_at":"2025-08-02T07:21:41.626Z","updated_at":"2026-06-02T01:02:10.585Z","avatar_url":"https://github.com/AudiusProject.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Audius API Server\n\nThe API backend for the Audius mobile apps and [audius.co](https://audius.co)\n\n[![license](https://img.shields.io/github/license/AudiusProject/api)](https://github.com/AudiusProject/api/blob/main/LICENSE) [![releases](https://img.shields.io/github/v/release/AudiusProject/api)](https://github.com/AudiusProject/api/releases/latest)\n\n## Running\n\n### Server\n\n1. Create `.env` file:\n\n   ```\n   readDbUrl='postgresql://postgres:somepassword@someip:5432/audius_discovery'\n   ```\n\n   Regular database dumps are posted to S3, and can be pulled with\n\n   ```\n   curl https://audius-pgdump.s3-us-west-2.amazonaws.com/discProvProduction.dump -O\n   pg_restore -d \u003cyour-database-url\u003e \\\n      --username postgres \\\n      --no-privileges \\\n      --clean --if-exists --verbose -j 8 \\\n      discProvProduction.dump\n   ```\n\n   (more env vars and their defaults can be found in `config.go`)\n\n2. Run `make setup` (the first time)\n\n   ```\n   make setup\n   ```\n\n3. Run `make`\n\n   ```\n   make\n   ```\n\n   http://localhost:1323/v1/users/handle/audius\n\n   This will watch sql files + re-run `sqlc generate` + restart server when go files change.\n\n### Tests\n\n#### To run tests against the existing schemas\n\n```\ndocker compose up -d\nmake test\n```\n\n#### To update schema after migration changes and run tests\n\n```\nmake test-schema\nmake test\n```\n\n### Build\n\n```\ngo build -o api main.go\n```\n\n## API diff\n\nTool for comparing the new API server endpoints with the legacy Discovery Node APIs\n\nhttp://localhost:1323/apidiff.html\n\n## Adminer\n\nTool for interacting with the postgres server\n\nhttp://localhost:21301/?pgsql=db\u0026username=postgres\n\n## ElasticSearch\n\nElasticSearch is configured by the env var `elasticsearchUrl`.\n\nTool for interacting with search\n\nhttp://localhost:1323/searchtest.html\n\nRe-index collections from scratch:\n\n```\ngo build -o api main.go\ntime ./api reindex\n```\n\nYou can also specify specific indexes. If you change the mapping you can add `drop`:\n\n```\ngo build -o api main.go\ntime ./api reindex drop playlists\n```\n\n### Re-index in stage or prod\n\nIf you make mapping changes, or want to re-index everything, you can do:\n\n```\nmake esindexer-reindex-stage\n\n#or\n\nesindexer-reindex-prod\n```\n\nA deploy might disrupt this command, in which case, run it again.\n\nSee `Makefile` for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faudiusproject%2Fapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faudiusproject%2Fapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faudiusproject%2Fapi/lists"}