Find Cities & Towns with GeoDB Cities API.
Find cities, filtering by optional criteria. If no criteria are set, you will get back all known cities with a population of at least 1000. See the docs.
Write custom Node.js code and use any of the 400k+ npm packages available. Refer to the Pipedream Node docs to learn more.
Get the details for a specific country, including number of regions. See the docs.
Get the details of a specific country region, including number of cities. See the docs.
The GeoDB Cities API lets you tap into a rich dataset of worldwide cities, their attributes, and related data. On Pipedream, you can use this API to create workflows that automate location-based tasks, enrich data with geographical context, or power apps with location intelligence. For instance, you could trigger a workflow whenever a new city is added to a database, gather demographic information based on city names, or even integrate with travel platforms to plan itineraries.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
geodb_cities: {
type: "app",
app: "geodb_cities",
}
},
async run({steps, $}) {
const data = {
"query": `{country(id:"US"){name region(code:"CA"){name populatedPlaces(first:10){totalCount pageInfo{startCursor endCursor hasNextPage}edges{node{name}}}}}}`,
}
return await axios($, {
method: "post",
url: `http://geodb-free-service.wirefreethought.com/graphql`,
headers: {
"x-rapidapi-key": `${this.geodb_cities.$auth.api_key}`,
"Content-Type": `application/json`,
},
data,
})
},
})
Develop, run and deploy your Node.js code in Pipedream workflows, using it between no-code steps, with connected accounts, or integrate Data Stores and File Stores.
This includes installing NPM packages, within your code without having to manage a package.json
file or running npm install
.
Below is an example of installing the axios
package in a Pipedream Node.js code step. Pipedream imports the axios
package, performs the API request, and shares the response with subsequent workflow steps:
// To use previous step data, pass the `steps` object to the run() function
export default defineComponent({
async run({ steps, $ }) {
// Return data to use it in future steps
return steps.trigger.event
},
})