You can access search results via JSON API by adding format=json
to your query:
https://codesearch.val.run/$1?q=api&page=9&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 18501 results for "api"(1154ms)
18<meta name="google" content="notranslate" />
1920<link rel="preconnect" href="https://fonts.googleapis.com" />
21<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
22<link
23href="https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Fira+Code:wght@300..700&family=Recursive:wght@300..1000&display=swap"
24rel="stylesheet"
25/>
1import { TwitterApi } from "npm:twitter-api-v2";
23interface CastCreatedWebhook {
104}
105106// Get Twitter API credentials from environment
107const apiKey = Deno.env.get("TWITTER_API_KEY");
108const apiSecret = Deno.env.get("TWITTER_API_SECRET");
109const accessToken = Deno.env.get("TWITTER_ACCESS_TOKEN");
110const accessTokenSecret = Deno.env.get("TWITTER_ACCESS_TOKEN_SECRET");
111112if (!apiKey || !apiSecret || !accessToken || !accessTokenSecret) {
113console.error(
114"Missing Twitter API credentials. Required: TWITTER_API_KEY, TWITTER_API_SECRET, TWITTER_ACCESS_TOKEN, TWITTER_ACCESS_TOKEN_SECRET",
115);
116return new Response("OK", { status: 200 });
117}
118119// Initialize Twitter API client
120const twitterClient = new TwitterApi({
121appKey: apiKey,
122appSecret: apiSecret,
123accessToken: accessToken,
124accessSecret: accessTokenSecret,
141}
142
143// Convert MIME type to format string for Twitter API
144let imageFormat: string;
145switch (contentType) {
199console.error("Error processing webhook:", error);
200201// Log more specific Twitter API errors
202if (error.data) {
203console.error("Twitter API error details:", error.data);
204}
205}