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/$%7Bsuccess?q=api&page=951&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 12904 results for "api"(1594ms)

hungryWhiteLeoponmain.tsx10 matches

@gr8gatsbyUpdated 8 months ago
1/**
2 * This application helps users write detailed reviews of coffee shops. It fetches coffee shop data
3 * from the OpenStreetMap Nominatim API, allows users to add custom details, and stores the augmented
4 * information in a SQLite database. The app provides a user interface to view, add, and edit coffee shop reviews.
5 *
6 * It uses React for the frontend, the Nominatim API for initial coffee shop data,
7 * and Val Town's SQLite for data persistence.
8 */
30 const fetchCoffeeShops = async () => {
31 try {
32 const response = await fetch(`/api/coffee-shops?search=${encodeURIComponent(searchTerm)}`);
33 if (!response.ok) throw new Error("Failed to fetch coffee shops");
34 const data = await response.json();
41 const fetchReviews = async () => {
42 try {
43 const response = await fetch("/api/reviews");
44 if (!response.ok) throw new Error("Failed to fetch reviews");
45 const data = await response.json();
60
61 try {
62 const response = await fetch("/api/reviews", {
63 method: "POST",
64 headers: { "Content-Type": "application/json" },
192 console.log("Table checked/created successfully");
193
194 if (url.pathname === "/api/coffee-shops") {
195 const searchTerm = url.searchParams.get("search") || "";
196 // Fetch coffee shops from OpenStreetMap Nominatim API
197 const nominatimUrl = `https://nominatim.openstreetmap.org/search?q=coffee+${
198 encodeURIComponent(searchTerm)
204 });
205 if (!nominatimResponse.ok) {
206 throw new Error(`Nominatim API error! status: ${nominatimResponse.status}`);
207 }
208 const nominatimData = await nominatimResponse.json();
209 if (!Array.isArray(nominatimData)) {
210 throw new Error("Invalid data received from Nominatim API");
211 }
212 const coffeeShops = nominatimData.map((shop: any) => ({
221 }
222
223 if (url.pathname === "/api/reviews") {
224 if (request.method === "GET") {
225 const reviews = await sqlite.execute(`SELECT * FROM ${KEY}_coffee_reviews_${SCHEMA_VERSION}`);

addToLogmain.tsx2 matches

@ejfoxUpdated 8 months ago
63 </div>
64 <a href={import.meta.url.replace("esm.town", "val.town")} target="_blank" rel="noopener noreferrer" className="view-source">View Source</a>
65 <pre className="api-examples">
66{`// Axios example
67const axios = require('axios');
214 text-decoration: underline;
215}
216.api-examples {
217 margin-top: 20px;
218 background-color: #f0f0f0;

inventorymain.tsx2 matches

@ejfoxUpdated 8 months ago
3 * It uses React for the UI, leverages emoji and Unicode symbols for a visually rich experience, and
4 * incorporates Tailwind CSS for elegant, grayscale styling.
5 * The wizard allows users to select tools, libraries, and APIs, then displays them in a shareable format.
6 */
7
143 { name: "Discord", icon: "🗣️" },
144 { name: "Mattermost", icon: "📡" },
145 { name: "Zapier", icon: "🔗" },
146 { name: "IFTTT", icon: "🔄" },
147 { name: "Home Assistant", icon: "🏠" },

techstackinventorymain.tsx2 matches

@ejfoxUpdated 8 months ago
29 {Object.entries(techCategories).map(([category, technologies]) => (
30 <div key={category} className="mb-6">
31 <h2 className="text-xl font-semibold mb-2 text-gray-700 capitalize">{category}</h2>
32 <div className="flex flex-wrap gap-2">
33 {technologies.map(tech => (
52 {Object.entries(selectedTech).map(([category, tech]) => (
53 <li key={category} className="text-gray-700">
54 <span className="font-medium capitalize">{category}:</span> {tech}
55 </li>
56 ))}

sqliteExplorerAppmain.tsx2 matches

@lukedentonUpdated 8 months ago
27 <head>
28 <title>SQLite Explorer</title>
29 <link rel="preconnect" href="https://fonts.googleapis.com" />
30
31 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
32 <link
33 href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@300..700&family=Source+Sans+3:ital,wght@0,200..900;1,200..900&display=swap"
34 rel="stylesheet"
35 />

sqliteExplorerAppREADME.md1 match

@lukedentonUpdated 8 months ago
13## Authentication
14
15Login to your SQLite Explorer with [password authentication](https://www.val.town/v/pomdtr/password_auth) with your [Val Town API Token](https://www.val.town/settings/api) as the password.
16
17## Todos / Plans

AlgoliaDocumentaionmain.tsx1 match

@willthereaderUpdated 8 months ago
12 --template 'InstantSearch.js' \
13 --app-id 'L3YFVOR7YL' \
14 --api-key '7fb55c7d480ef8b1ad09b55bf3d57afd' \
15 --index-name 'Test_index' \
16 --attributes-to-display 'chapterTitle' \

valTownUsermain.tsx15 matches

@iamseeleyUpdated 8 months ago
1import { api } from "https://esm.town/v/iamseeley/api";
2
3let cachedUser = null;
7 if (!cachedUser) {
8 try {
9 cachedUser = await api('/v1/me', { authenticated: true });
10 } catch (error) {
11 console.error('Error fetching user info:', error);
49 async getLikedVals(options = {}) {
50 const { offset = 0, limit = 20 } = options;
51 return api(`/v1/me/likes?offset=${offset}&limit=${limit}`, { authenticated: true });
52 },
53 async getComments(options = {}) {
56 if (since) url += `&since=${since}`;
57 if (until) url += `&until=${until}`;
58 return api(url, { authenticated: true });
59 },
60 async getReferences(options = {}) {
63 if (since) url += `&since=${since}`;
64 if (until) url += `&until=${until}`;
65 return api(url, { authenticated: true });
66 },
67 async listBlobs(prefix) {
68 let url = '/v1/blob';
69 if (prefix) url += `?prefix=${encodeURIComponent(prefix)}`;
70 return api(url, { authenticated: true });
71 },
72 async getBlob(key) {
73 return api(`/v1/blob/${encodeURIComponent(key)}`, {
74 authenticated: true,
75 headers: {
80},
81 async storeBlob(key, data) {
82 return api(`/v1/blob/${encodeURIComponent(key)}`, {
83 method: 'POST',
84 body: data,
87 },
88 async deleteBlob(key) {
89 return api(`/v1/blob/${encodeURIComponent(key)}`, {
90 method: 'DELETE',
91 authenticated: true
95 const { offset = 0, limit = 20 } = options;
96 const userInfo = await this.getUserInfo();
97 return api(`/v1/users/${userInfo.id}/vals?offset=${offset}&limit=${limit}`, { authenticated: true });
98 },
99 async createVal(valInfo) {
100 return api('/v1/vals', {
101 method: 'POST',
102 body: JSON.stringify(valInfo),
105 },
106 async aliasVal(valName: string) {
107 return api(`/v1/alias/${encodeURIComponent(this.username)}/${encodeURIComponent(valName)}`, { authenticated: true });
108 },
109 async updateVal(valId, updates) {
110 return api(`/v1/vals/${valId}`, {
111 method: 'PUT',
112 body: JSON.stringify(updates),
115 },
116 async deleteVal(valId) {
117 return api(`/v1/vals/${valId}`, {
118 method: 'DELETE',
119 authenticated: true
121 },
122 async executeSqlite(statement) {
123 return api('/v1/sqlite/execute', {
124 method: 'POST',
125 body: JSON.stringify({ statement }),

geminiBboxREADME.md1 match

@yawnxyzUpdated 8 months ago
9This app is an adaptation of Simon Willison's idea, which you can read more about here: [https://simonwillison.net/2024/Aug/26/gemini-bounding-box-visualization/](https://simonwillison.net/2024/Aug/26/gemini-bounding-box-visualization/)
10
11- API keys are only stored in your browser's local storage.
12- Source code: [https://www.val.town/v/yawnxyz/geminiBbox/](https://www.val.town/v/yawnxyz/geminiBbox/)
13- Original Source: https://github.com/simonw/tools/blob/main/gemini-bbox.html

apimain.tsx4 matches

@iamseeleyUpdated 8 months ago
1import { API_URL } from "https://esm.town/v/std/API_URL";
2
3export async function api<T = any>(
4 path: string,
5 options?: RequestInit & {
12 if (options?.paginate) {
13 const data = [];
14 let url = new URL(`${API_URL}${path}`);
15 url.searchParams.set("limit", "100");
16
33 return { data } as T;
34 }
35 const resp = await fetch(`${API_URL}${path}`, {
36 ...options,
37 headers: {

vapi-minutes-db1 file match

@henrywilliamsUpdated 1 day ago

vapi-minutes-db2 file matches

@henrywilliamsUpdated 1 day ago
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
artivilla
founder @outapint.io vibe coding on val.town. dm me to build custom vals: https://artivilla.com