Val Town Code SearchReturn to Val Town

API Access

You can access search results via JSON API by adding format=json to your query:

https://codesearch.val.run/image-url.jpg%20%22Optional%20title%22?q=api&page=65&format=json

For typeahead suggestions, use the /typeahead endpoint:

https://codesearch.val.run/typeahead?q=api

Returns an array of strings in format "username" or "username/projectName"

Found 12412 results for "api"(1750ms)

Townieindex.ts2 matches

@jxnblkUpdated 6 days ago
11app.get("*", async (c, next) => {
12 const path = c.req.path;
13 if (path.startsWith("/api/") || c.req.header("Accept")?.includes("application/json")) {
14 return next();
15 }
21});
22
23app.route("/api", backend);
24app.get("/frontend/*", c => {
25 return serveFile(c.req.path, import.meta.url);

Townieindex.ts7 matches

@jxnblkUpdated 6 days ago
1import { basicAuthMiddleware } from "./auth.ts";
2import { handleApiRequest } from "./api/index.ts";
3import { getRequests } from "./api/requests.ts";
4import { getUserSummary } from "./api/user-summary.ts";
5import { getInferenceCalls } from "./api/inference-calls.ts";
6import { renderDashboard } from "./views/dashboard.ts";
7import { renderRequests } from "./views/requests.ts";
22 const path = url.pathname;
23
24 // Handle API requests
25 if (path.startsWith("/api/")) {
26 return handleApiRequest(req);
27 }
28

Townieindex.ts5 matches

@jxnblkUpdated 6 days ago
4
5/**
6 * Handle API requests
7 */
8export async function handleApiRequest(req: Request): Promise<Response> {
9 const url = new URL(req.url);
10 const path = url.pathname.replace("/api/", "");
11
12 try {
13 // Route to the appropriate API handler
14 if (path === "requests") {
15 const usageId = url.searchParams.get("usage_id");
59 }
60 } catch (error) {
61 console.error("API error:", error);
62 return new Response(JSON.stringify({ error: error.message }), {
63 status: 500,

TownieHome.tsx5 matches

@jxnblkUpdated 6 days ago
42 </h2>
43 <ol>
44 <li>Login with your Val Town API token (with projects:read, projects:write, user:read permissions)</li>
45 <li>Select a project to work on</li>
46 <li>Chat with Claude about your code</li>
79 </div>
80 <h3>Cost Tracking</h3>
81 <p>See estimated API usage costs for each interaction</p>
82 </div>
83 </section>
92 <ul>
93 <li>React frontend with TypeScript</li>
94 <li>Hono API server backend</li>
95 <li>Web Audio API for sound notifications</li>
96 <li>AI SDK for Claude integration</li>
97 </ul>
98 <p>
99 The application proxies requests to the Anthropic API and Val Town API, allowing Claude to view and edit your
100 project files directly.
101 </p>

TownieChatRoute.tsx2 matches

@jxnblkUpdated 6 days ago
63 refetch: () => void;
64}) {
65 const { token, anthropicApiKey } = useAuth();
66 const [images, setImages] = useState<(string|null)[]>([]);
67 const [selectedFiles, setSelectedFiles] = useState<string[]>([]);
81 project,
82 branchId,
83 anthropicApiKey,
84 bearerToken: token,
85 selectedFiles,
GitHub-Release-Notes

GitHub-Release-Notesindex.ts5 matches

@charmaineUpdated 6 days ago
32});
33
34// API endpoints
35app.post("/api/commits", async c => {
36 const { token, repo, owner, startDate, endDate } = await c.req.json();
37
55});
56
57app.post("/api/generate-notes", async c => {
58 const { commits } = await c.req.json();
59
77
78// Create a shareable link
79app.post("/api/share", async c => {
80 const data = await c.req.json() as CreateShareRequest;
81
113
114// Get shared release notes
115app.get("/api/share/:id", async c => {
116 const id = c.req.param("id");
117

CoffeTimeapi.tsx0 matches

@robertcardilloUpdated 6 days ago
1import { blob } from "https://esm.town/v/std/blob";
2
3export default async function(req: Request): Promise<Response> {
4 const token = req.headers.get("authorization")?.split(" ")?.at(1);
5

EEPMOnitoringweeklyReport.tsx2 matches

@solomonferedeUpdated 6 days ago
371 headers.map(field => {
372 const value = row[field] == null ? "" : String(row[field]);
373 // Basic CSV escaping: replace " with "" and wrap field in quotes if it contains , " or newline
374 const needsQuotes = /[,"\n]/.test(value);
375 const escapedValue = value.replace(/"/g, "\"\"");
865 headers.map(field => {
866 const value = row[field] == null ? "" : String(row[field]);
867 // Basic CSV escaping: replace " with "" and wrap field in quotes if it contains , " or newline
868 const needsQuotes = /[,"\n]/.test(value);
869 const escapedValue = value.replace(/"/g, "\"\"");

EEPMOnitoringsetting.tsx3 matches

@solomonferedeUpdated 6 days ago
95 };
96
97 // --- API Call: Fetch Employees ---
98 const fetchEmployees = async () => {
99 setIsLoading(true);
124 }, [currentView]); // Dependency on currentView
125
126 // --- API Call: Create Employee ---
127 const handleCreateEmployeeSubmit = async (e) => {
128 e.preventDefault();
199 setCurrentView("list"); // Switch back to list view, triggering fetch
200 } else {
201 // Handle API errors (e.g., validation errors, unique constraints)
202 setError(result.message || "Failed to create employee.");
203 alert(`Failed to create employee: ${result.message || "Unknown error"}`);

Townieuser-summary.ts1 match

@pomdtrUpdated 6 days ago
20 SUM(num_images) as total_images
21 FROM ${USAGE_TABLE}
22 WHERE our_api_token = 1
23 GROUP BY user_id, username
24 ORDER BY total_price DESC

social_data_api_project3 file matches

@tsuchi_yaUpdated 2 days ago

simple-scrabble-api1 file match

@bryUpdated 6 days ago
papimark21
socialdata
Affordable & reliable alternative to Twitter API: ➡️ Access user profiles, tweets, followers & timeline data in real-time ➡️ Monitor profiles with nearly instant alerts for new tweets, follows & profile updates ➡️ Simple integration