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
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,
})
},
})
The Filter API in Pipedream allows for real-time data processing within workflows. It's designed to evaluate data against predefined conditions, enabling workflows to branch or perform specific actions based on those conditions. This API is instrumental in creating efficient, targeted automations that respond dynamically to diverse datasets. Using the Filter API, you can refine streams of data, ensuring that subsequent steps in your Pipedream workflow only execute when the data meets your specified criteria. This cuts down on unnecessary processing and facilitates the creation of more intelligent, context-aware systems.
export default defineComponent({
async run({ steps, $ }) {
let condition = false
if (condition == false) {
$.flow.exit("Ending workflow early because the condition is false")
} else {
$.export("$summary", "Continuing workflow, since condition for ending was not met.")
}
},
})