APIs Unlocked: Empowering Coders, No-Coders & Proxy Users





David Foster
Proxy Fundamentals
Decoding APIs: A Practical Guide for Everyone
Consider this your friendly guide to the world of APIs. We'll journey from the basic concepts to crafting more involved API calls, aiming to equip both seasoned coders and curious no-coders.
By the time you finish reading, you should feel more comfortable integrating various APIs into your projects. Hopefully, any apprehension about tackling technical documentation for API endpoints will be a thing of the past.
So, What Exactly is an API?

API stands for Application Programming Interface. At its core, an API is a set of rules and protocols that allows one piece of software to talk to and control another. This contrasts with a User Interface (UI), which is designed for humans to interact with software.
Most often, you'll encounter web APIs. These APIs function over the internet, typically using standard web protocols like HTTP. You send a command (a request) to a specific URL, the API server processes it, and sends back a response containing the results.
Here's where it gets interesting for developers and creators: many popular online services offer public APIs. This means you can leverage their functionality directly within your own applications or workflows.
For instance, you could use Google's API to enable 'Sign in with Google' functionality, or leverage GitHub's API to build a tool that helps manage your users' code repositories.
Why do companies offer public APIs? Sometimes it's a revenue stream (not all public APIs are free). More significantly, it fosters an ecosystem of third-party applications that enhance their core product, addressing niche needs they might not have the resources to build themselves.
It's often difficult for large companies to justify developing features for very specific use cases. However, an independent developer might build exactly that solution for their clients or personal projects, powered by the company's API.
Now, let's get hands-on and see how you actually use these APIs.
Anatomy of an API Call

From this point forward, when we mention 'API', we're primarily discussing web APIs, as they are most relevant for web-based projects and proxy users. We'll touch upon other types later.
Here’s a simple example of what an API call might look like using a command-line tool called cURL:
curl \
-X GET \
'https://api.publicapis.org/entries?category=animals'
And this is the kind of response the server might send back (formatted as JSON):
{
"count": 2,
"entries": [
{
"API": "AdoptAPet",
"Description": "Resource to help get pets adopted",
"Auth": "apiKey",
"HTTPS": true,
"Cors": "yes",
"Link": "https://www.adoptapet.com/public/apis/pet_list.html",
"Category": "Animals"
},
{
"API": "Petfinder",
"Description": "Petfinder is dedicated to helping pets find homes, another resource to get pets adopted",
"Auth": "apiKey",
"HTTPS": true,
"Cors": "yes",
"Link": "https://www.petfinder.com/developers/",
"Category": "Animals"
}
]
}
This response structure repeats for all matching entries found by the API.
You can often test simple GET requests like this directly in your web browser's address bar.
Let's dissect the components of that request:
Method: GET
Headers: (None explicitly sent in this simple case)
Body: (None for a GET request)
Base URL (or REST Endpoint): https://api.publicapis.org/
API Endpoint Path: entries
Parameters: category=animals
That might seem like a lot of jargon, but let's clarify what each part does. You don't need to memorize the exact terms, just understand their purpose.
Method

The method refers to the HTTP verb used in your request. Essentially, it tells the server the type of action you intend to perform. While APIs can define custom methods, these four are the most common for RESTful APIs:
GET: Retrieve data. This is what your browser typically does when you visit a webpage.
POST: Send new data to be created. Used when submitting forms (like a signup or contact form). Data is usually sent in the request body.
PUT: Update existing data. Data to update is usually sent in the request body.
DELETE: Remove data. You typically specify which item to delete using parameters or the endpoint path; the body is often ignored.
Headers

Request headers provide additional context about your request and the client making it to the receiving server. They can include information like the type of browser (User-Agent), the format of data you expect back (Accept), or crucial details like authentication credentials (e.g., API keys).
Body

The body of a request is used to send the actual payload data, primarily for POST and PUT requests, used for creating or modifying resources on the server.
Base URL / REST Endpoint

This is the main address for the API you're targeting. Often, accessing this base URL directly might return documentation or metadata about the API itself and how to use it.
API Endpoint Path

This part of the URL specifies the particular resource or function you want to interact with. It tells the server which specific 'door' to knock on. API documentation usually lists all available endpoint paths and their functions.
Parameters

Parameters are used to refine your request, acting like arguments passed to the function you're calling. In our example (category=animals
), we used the /entries
endpoint. Without parameters, it might return all entries. By adding the category
parameter, we instructed the API to filter and return only entries belonging to the 'animals' category.
API Architectural Styles: More Than Just REST
You've likely heard the term REST API frequently. Perhaps you've also encountered mentions of Facebook's GraphQL. These are different architectural styles for designing APIs. They dictate conventions for how data is structured and how you interact with the API's resources.
Crucially, remember that regardless of the style (REST, GraphQL, etc.), most web APIs are accessed using standard HTTP requests. Don't be intimidated if an API looks different from others you've seen. The core task remains figuring out the method (GET, POST, etc.), the target address, and any necessary headers or body content.
REST APIs

Representational State Transfer (REST) is arguably the most widespread style, partly due to its relative simplicity to implement and consume. It's been a standard for years.
The key characteristic of REST APIs is their use of HTTP methods to explicitly define the action being performed on a resource. You might use the same endpoint path (e.g., /entries
) but different methods: GET to read, POST to create, PUT to update, and DELETE to remove entries.
REST APIs commonly work with data formats like JSON, XML, HTML, or plain text.
GraphQL

GraphQL is gaining significant traction and represents a different approach compared to REST.
With GraphQL, you typically use the request body to precisely specify the data you need. The API exposes a schema defining available data types and operations (queries for fetching, mutations for changing data). Consequently, you often interact with a single endpoint, sending your detailed data requirements in the body of a POST request.
For example, GitHub's GraphQL API lives at a single endpoint:
https://api.github.com/graphql
You might send a POST request with a body like this query:
query {
viewer {
name
email
}
}
And receive a tailored response like this:
{
"data": {
"viewer": {
"name": "Your Name",
"email": "your.email@example.com"
}
}
}
GraphQL allows clients to request exactly what they need, potentially combining data from multiple resources in a single request, and defining the structure of the response.
Other API Architectural Styles
Beyond REST and GraphQL, other API architectural styles exist, including SOAP, gRPC, RPC, Falcor, OpenAPI specifications, Webhooks, MQTT, and AMQP. While their specifics differ, they generally follow similar principles: either using distinct routes for different resources (like REST) or allowing clients to specify their data needs within the request (like GraphQL).
Leveraging Public APIs
Public APIs are often the ones you'll integrate into your projects. These can be accessed either freely or require authentication, and might be offered at no cost or on a paid basis.
Keep in mind that free public APIs frequently impose rate limits, restricting the number of requests you can make within a certain time period. They might also monitor usage patterns.
If you need to make numerous requests without hitting these limits or want to enhance privacy, using proxies is a common solution. Services like Evomi provide residential proxies sourced from real devices worldwide. By routing your requests through different IP addresses, you can often bypass strict IP-based rate limits. Evomi focuses on ethically sourced proxies and offers various types including residential, mobile, datacenter, and static ISP proxies, with competitive pricing starting from $0.49/GB for residential.
When using public APIs that require authentication, the method varies. Common approaches involve sending an authentication token (API key) in a request header (e.g., Authorization: Bearer YOUR_API_KEY
) or including it as a URL parameter.
Common API Use Cases
APIs unlock a vast range of possibilities. Think of them as ways to programmatically trigger actions or retrieve data residing on external servers.
They are particularly valuable for sensitive operations like user authentication (logins) and payment processing. Handling these securely can be complex, and relying on specialized APIs (like Stripe for payments or Auth0 for logins) simplifies development and enhances security, especially for smaller services.
Furthermore, APIs are excellent tools for data aggregation. You can fetch anything from social media feeds to complex financial data or weather forecasts, then process or display this information within your own application.
Automation and integration are also major strengths of APIs. They abstract away the complexities of direct database interaction or internal server logic, making it easier to connect different services. You can use them to schedule tasks like automated backups, data processing workflows, or periodic data collection.
Using APIs with No-Code Platforms
Once you've identified an API you want to use, integrating it into a no-code application is often straightforward. The specific steps depend on your chosen platform, but most offer ways to make generic HTTP requests.
For example, platforms like Make.com (formerly Integromat) often include an "HTTP" module or similar. You can use an action like "Make a request" to configure your API call:

After running the module, you can inspect the data received from the API:

You can then use this output data in subsequent steps of your no-code workflow.
This capability means you can often integrate almost any web API, even if your no-code builder doesn't have a dedicated pre-built integration for it. As long as the platform allows you to set the request method, URL, headers, parameters, and body, you should be able to connect.
What if My No-Code Request Fails?
It's not uncommon for API requests made from no-code platforms to fail intermittently, especially during testing. This often happens due to rate limiting.
Free public APIs, in particular, frequently limit requests based on the source IP address. Since many users of a no-code platform might share the same pool of server IP addresses, these shared IPs can quickly hit the API's rate limit.
In such scenarios, using a proxy service becomes necessary. If your no-code tool supports configuring a proxy directly for HTTP requests, you can input your proxy details (like those provided by Evomi). If not, you might need an intermediate service or function that makes the API call via a proxy on your behalf.
Your request flow would then look something like this:

Handling Data Securely
When using no-code platforms to interact with APIs, be mindful of data sensitivity. Ensure the platform has appropriate security measures and certifications if you're handling private or confidential information.
Crucially, avoid exposing sensitive credentials like API keys in client-side code or configurations. Some tools allow saving reusable code snippets or configurations; ensure these don't inadvertently contain secrets that could become visible to end-users.
Using APIs in Your Code
While APIs abstract away complexity, a key aspect to remember is that you don't control the API's internal workings. You're dependent on its functionality and how it operates.
This means you need robust error handling in your code to manage potential API issues (like downtime or unexpected responses). You'll also need to consult the API's documentation to understand its capabilities and limitations.
A good API client application (like Insomnia, Postman, or Hoppscotch) is invaluable for developers. These tools let you manually construct and send API requests, inspect responses, and test endpoints independently of your main application code. This helps isolate whether a problem lies within the API itself or in your application's implementation.

Many popular APIs offer official or third-party SDKs (Software Development Kits) or libraries for various programming languages. These libraries simplify API interaction by providing pre-written functions and handling details like authentication and request formatting. For instance, GitHub provides Octokit libraries for JavaScript, Ruby, and .NET, among others.

Finally, always be mindful of rate limits when coding against APIs. Implement sensible request throttling or caching in your application to avoid overwhelming the API server (accidentally performing a Denial-of-Service attack is embarrassing and can get your access revoked!).
Potential Risks When Using APIs
While powerful, relying on external APIs introduces certain risks:
Platform Risk: Unlike scraping data directly (which has its own challenges), using an official API puts you at the mercy of the provider. They can change the API, revoke your access, or even shut down the service entirely, sometimes with little notice.
Data Privacy & Security: When sending or receiving sensitive data through an API, you're trusting the provider to handle it securely and ethically. Ensure you understand their data privacy policies.
Reliability: Not all APIs are created equal. Some may suffer from frequent downtime or performance issues. Your application needs to be resilient enough to handle potential API unavailability.
Wrapping Up
We've covered the fundamentals of APIs, explored how requests are structured, looked at different architectural styles, and discussed practical ways to use them in both code and no-code scenarios. We also touched upon the importance of tools like proxies and API clients, and the potential risks involved.
Hopefully, you now feel better equipped to explore and utilize the vast world of APIs in your own projects. Happy coding (or no-coding)!
Decoding APIs: A Practical Guide for Everyone
Consider this your friendly guide to the world of APIs. We'll journey from the basic concepts to crafting more involved API calls, aiming to equip both seasoned coders and curious no-coders.
By the time you finish reading, you should feel more comfortable integrating various APIs into your projects. Hopefully, any apprehension about tackling technical documentation for API endpoints will be a thing of the past.
So, What Exactly is an API?

API stands for Application Programming Interface. At its core, an API is a set of rules and protocols that allows one piece of software to talk to and control another. This contrasts with a User Interface (UI), which is designed for humans to interact with software.
Most often, you'll encounter web APIs. These APIs function over the internet, typically using standard web protocols like HTTP. You send a command (a request) to a specific URL, the API server processes it, and sends back a response containing the results.
Here's where it gets interesting for developers and creators: many popular online services offer public APIs. This means you can leverage their functionality directly within your own applications or workflows.
For instance, you could use Google's API to enable 'Sign in with Google' functionality, or leverage GitHub's API to build a tool that helps manage your users' code repositories.
Why do companies offer public APIs? Sometimes it's a revenue stream (not all public APIs are free). More significantly, it fosters an ecosystem of third-party applications that enhance their core product, addressing niche needs they might not have the resources to build themselves.
It's often difficult for large companies to justify developing features for very specific use cases. However, an independent developer might build exactly that solution for their clients or personal projects, powered by the company's API.
Now, let's get hands-on and see how you actually use these APIs.
Anatomy of an API Call

From this point forward, when we mention 'API', we're primarily discussing web APIs, as they are most relevant for web-based projects and proxy users. We'll touch upon other types later.
Here’s a simple example of what an API call might look like using a command-line tool called cURL:
curl \
-X GET \
'https://api.publicapis.org/entries?category=animals'
And this is the kind of response the server might send back (formatted as JSON):
{
"count": 2,
"entries": [
{
"API": "AdoptAPet",
"Description": "Resource to help get pets adopted",
"Auth": "apiKey",
"HTTPS": true,
"Cors": "yes",
"Link": "https://www.adoptapet.com/public/apis/pet_list.html",
"Category": "Animals"
},
{
"API": "Petfinder",
"Description": "Petfinder is dedicated to helping pets find homes, another resource to get pets adopted",
"Auth": "apiKey",
"HTTPS": true,
"Cors": "yes",
"Link": "https://www.petfinder.com/developers/",
"Category": "Animals"
}
]
}
This response structure repeats for all matching entries found by the API.
You can often test simple GET requests like this directly in your web browser's address bar.
Let's dissect the components of that request:
Method: GET
Headers: (None explicitly sent in this simple case)
Body: (None for a GET request)
Base URL (or REST Endpoint): https://api.publicapis.org/
API Endpoint Path: entries
Parameters: category=animals
That might seem like a lot of jargon, but let's clarify what each part does. You don't need to memorize the exact terms, just understand their purpose.
Method

The method refers to the HTTP verb used in your request. Essentially, it tells the server the type of action you intend to perform. While APIs can define custom methods, these four are the most common for RESTful APIs:
GET: Retrieve data. This is what your browser typically does when you visit a webpage.
POST: Send new data to be created. Used when submitting forms (like a signup or contact form). Data is usually sent in the request body.
PUT: Update existing data. Data to update is usually sent in the request body.
DELETE: Remove data. You typically specify which item to delete using parameters or the endpoint path; the body is often ignored.
Headers

Request headers provide additional context about your request and the client making it to the receiving server. They can include information like the type of browser (User-Agent), the format of data you expect back (Accept), or crucial details like authentication credentials (e.g., API keys).
Body

The body of a request is used to send the actual payload data, primarily for POST and PUT requests, used for creating or modifying resources on the server.
Base URL / REST Endpoint

This is the main address for the API you're targeting. Often, accessing this base URL directly might return documentation or metadata about the API itself and how to use it.
API Endpoint Path

This part of the URL specifies the particular resource or function you want to interact with. It tells the server which specific 'door' to knock on. API documentation usually lists all available endpoint paths and their functions.
Parameters

Parameters are used to refine your request, acting like arguments passed to the function you're calling. In our example (category=animals
), we used the /entries
endpoint. Without parameters, it might return all entries. By adding the category
parameter, we instructed the API to filter and return only entries belonging to the 'animals' category.
API Architectural Styles: More Than Just REST
You've likely heard the term REST API frequently. Perhaps you've also encountered mentions of Facebook's GraphQL. These are different architectural styles for designing APIs. They dictate conventions for how data is structured and how you interact with the API's resources.
Crucially, remember that regardless of the style (REST, GraphQL, etc.), most web APIs are accessed using standard HTTP requests. Don't be intimidated if an API looks different from others you've seen. The core task remains figuring out the method (GET, POST, etc.), the target address, and any necessary headers or body content.
REST APIs

Representational State Transfer (REST) is arguably the most widespread style, partly due to its relative simplicity to implement and consume. It's been a standard for years.
The key characteristic of REST APIs is their use of HTTP methods to explicitly define the action being performed on a resource. You might use the same endpoint path (e.g., /entries
) but different methods: GET to read, POST to create, PUT to update, and DELETE to remove entries.
REST APIs commonly work with data formats like JSON, XML, HTML, or plain text.
GraphQL

GraphQL is gaining significant traction and represents a different approach compared to REST.
With GraphQL, you typically use the request body to precisely specify the data you need. The API exposes a schema defining available data types and operations (queries for fetching, mutations for changing data). Consequently, you often interact with a single endpoint, sending your detailed data requirements in the body of a POST request.
For example, GitHub's GraphQL API lives at a single endpoint:
https://api.github.com/graphql
You might send a POST request with a body like this query:
query {
viewer {
name
email
}
}
And receive a tailored response like this:
{
"data": {
"viewer": {
"name": "Your Name",
"email": "your.email@example.com"
}
}
}
GraphQL allows clients to request exactly what they need, potentially combining data from multiple resources in a single request, and defining the structure of the response.
Other API Architectural Styles
Beyond REST and GraphQL, other API architectural styles exist, including SOAP, gRPC, RPC, Falcor, OpenAPI specifications, Webhooks, MQTT, and AMQP. While their specifics differ, they generally follow similar principles: either using distinct routes for different resources (like REST) or allowing clients to specify their data needs within the request (like GraphQL).
Leveraging Public APIs
Public APIs are often the ones you'll integrate into your projects. These can be accessed either freely or require authentication, and might be offered at no cost or on a paid basis.
Keep in mind that free public APIs frequently impose rate limits, restricting the number of requests you can make within a certain time period. They might also monitor usage patterns.
If you need to make numerous requests without hitting these limits or want to enhance privacy, using proxies is a common solution. Services like Evomi provide residential proxies sourced from real devices worldwide. By routing your requests through different IP addresses, you can often bypass strict IP-based rate limits. Evomi focuses on ethically sourced proxies and offers various types including residential, mobile, datacenter, and static ISP proxies, with competitive pricing starting from $0.49/GB for residential.
When using public APIs that require authentication, the method varies. Common approaches involve sending an authentication token (API key) in a request header (e.g., Authorization: Bearer YOUR_API_KEY
) or including it as a URL parameter.
Common API Use Cases
APIs unlock a vast range of possibilities. Think of them as ways to programmatically trigger actions or retrieve data residing on external servers.
They are particularly valuable for sensitive operations like user authentication (logins) and payment processing. Handling these securely can be complex, and relying on specialized APIs (like Stripe for payments or Auth0 for logins) simplifies development and enhances security, especially for smaller services.
Furthermore, APIs are excellent tools for data aggregation. You can fetch anything from social media feeds to complex financial data or weather forecasts, then process or display this information within your own application.
Automation and integration are also major strengths of APIs. They abstract away the complexities of direct database interaction or internal server logic, making it easier to connect different services. You can use them to schedule tasks like automated backups, data processing workflows, or periodic data collection.
Using APIs with No-Code Platforms
Once you've identified an API you want to use, integrating it into a no-code application is often straightforward. The specific steps depend on your chosen platform, but most offer ways to make generic HTTP requests.
For example, platforms like Make.com (formerly Integromat) often include an "HTTP" module or similar. You can use an action like "Make a request" to configure your API call:

After running the module, you can inspect the data received from the API:

You can then use this output data in subsequent steps of your no-code workflow.
This capability means you can often integrate almost any web API, even if your no-code builder doesn't have a dedicated pre-built integration for it. As long as the platform allows you to set the request method, URL, headers, parameters, and body, you should be able to connect.
What if My No-Code Request Fails?
It's not uncommon for API requests made from no-code platforms to fail intermittently, especially during testing. This often happens due to rate limiting.
Free public APIs, in particular, frequently limit requests based on the source IP address. Since many users of a no-code platform might share the same pool of server IP addresses, these shared IPs can quickly hit the API's rate limit.
In such scenarios, using a proxy service becomes necessary. If your no-code tool supports configuring a proxy directly for HTTP requests, you can input your proxy details (like those provided by Evomi). If not, you might need an intermediate service or function that makes the API call via a proxy on your behalf.
Your request flow would then look something like this:

Handling Data Securely
When using no-code platforms to interact with APIs, be mindful of data sensitivity. Ensure the platform has appropriate security measures and certifications if you're handling private or confidential information.
Crucially, avoid exposing sensitive credentials like API keys in client-side code or configurations. Some tools allow saving reusable code snippets or configurations; ensure these don't inadvertently contain secrets that could become visible to end-users.
Using APIs in Your Code
While APIs abstract away complexity, a key aspect to remember is that you don't control the API's internal workings. You're dependent on its functionality and how it operates.
This means you need robust error handling in your code to manage potential API issues (like downtime or unexpected responses). You'll also need to consult the API's documentation to understand its capabilities and limitations.
A good API client application (like Insomnia, Postman, or Hoppscotch) is invaluable for developers. These tools let you manually construct and send API requests, inspect responses, and test endpoints independently of your main application code. This helps isolate whether a problem lies within the API itself or in your application's implementation.

Many popular APIs offer official or third-party SDKs (Software Development Kits) or libraries for various programming languages. These libraries simplify API interaction by providing pre-written functions and handling details like authentication and request formatting. For instance, GitHub provides Octokit libraries for JavaScript, Ruby, and .NET, among others.

Finally, always be mindful of rate limits when coding against APIs. Implement sensible request throttling or caching in your application to avoid overwhelming the API server (accidentally performing a Denial-of-Service attack is embarrassing and can get your access revoked!).
Potential Risks When Using APIs
While powerful, relying on external APIs introduces certain risks:
Platform Risk: Unlike scraping data directly (which has its own challenges), using an official API puts you at the mercy of the provider. They can change the API, revoke your access, or even shut down the service entirely, sometimes with little notice.
Data Privacy & Security: When sending or receiving sensitive data through an API, you're trusting the provider to handle it securely and ethically. Ensure you understand their data privacy policies.
Reliability: Not all APIs are created equal. Some may suffer from frequent downtime or performance issues. Your application needs to be resilient enough to handle potential API unavailability.
Wrapping Up
We've covered the fundamentals of APIs, explored how requests are structured, looked at different architectural styles, and discussed practical ways to use them in both code and no-code scenarios. We also touched upon the importance of tools like proxies and API clients, and the potential risks involved.
Hopefully, you now feel better equipped to explore and utilize the vast world of APIs in your own projects. Happy coding (or no-coding)!
Decoding APIs: A Practical Guide for Everyone
Consider this your friendly guide to the world of APIs. We'll journey from the basic concepts to crafting more involved API calls, aiming to equip both seasoned coders and curious no-coders.
By the time you finish reading, you should feel more comfortable integrating various APIs into your projects. Hopefully, any apprehension about tackling technical documentation for API endpoints will be a thing of the past.
So, What Exactly is an API?

API stands for Application Programming Interface. At its core, an API is a set of rules and protocols that allows one piece of software to talk to and control another. This contrasts with a User Interface (UI), which is designed for humans to interact with software.
Most often, you'll encounter web APIs. These APIs function over the internet, typically using standard web protocols like HTTP. You send a command (a request) to a specific URL, the API server processes it, and sends back a response containing the results.
Here's where it gets interesting for developers and creators: many popular online services offer public APIs. This means you can leverage their functionality directly within your own applications or workflows.
For instance, you could use Google's API to enable 'Sign in with Google' functionality, or leverage GitHub's API to build a tool that helps manage your users' code repositories.
Why do companies offer public APIs? Sometimes it's a revenue stream (not all public APIs are free). More significantly, it fosters an ecosystem of third-party applications that enhance their core product, addressing niche needs they might not have the resources to build themselves.
It's often difficult for large companies to justify developing features for very specific use cases. However, an independent developer might build exactly that solution for their clients or personal projects, powered by the company's API.
Now, let's get hands-on and see how you actually use these APIs.
Anatomy of an API Call

From this point forward, when we mention 'API', we're primarily discussing web APIs, as they are most relevant for web-based projects and proxy users. We'll touch upon other types later.
Here’s a simple example of what an API call might look like using a command-line tool called cURL:
curl \
-X GET \
'https://api.publicapis.org/entries?category=animals'
And this is the kind of response the server might send back (formatted as JSON):
{
"count": 2,
"entries": [
{
"API": "AdoptAPet",
"Description": "Resource to help get pets adopted",
"Auth": "apiKey",
"HTTPS": true,
"Cors": "yes",
"Link": "https://www.adoptapet.com/public/apis/pet_list.html",
"Category": "Animals"
},
{
"API": "Petfinder",
"Description": "Petfinder is dedicated to helping pets find homes, another resource to get pets adopted",
"Auth": "apiKey",
"HTTPS": true,
"Cors": "yes",
"Link": "https://www.petfinder.com/developers/",
"Category": "Animals"
}
]
}
This response structure repeats for all matching entries found by the API.
You can often test simple GET requests like this directly in your web browser's address bar.
Let's dissect the components of that request:
Method: GET
Headers: (None explicitly sent in this simple case)
Body: (None for a GET request)
Base URL (or REST Endpoint): https://api.publicapis.org/
API Endpoint Path: entries
Parameters: category=animals
That might seem like a lot of jargon, but let's clarify what each part does. You don't need to memorize the exact terms, just understand their purpose.
Method

The method refers to the HTTP verb used in your request. Essentially, it tells the server the type of action you intend to perform. While APIs can define custom methods, these four are the most common for RESTful APIs:
GET: Retrieve data. This is what your browser typically does when you visit a webpage.
POST: Send new data to be created. Used when submitting forms (like a signup or contact form). Data is usually sent in the request body.
PUT: Update existing data. Data to update is usually sent in the request body.
DELETE: Remove data. You typically specify which item to delete using parameters or the endpoint path; the body is often ignored.
Headers

Request headers provide additional context about your request and the client making it to the receiving server. They can include information like the type of browser (User-Agent), the format of data you expect back (Accept), or crucial details like authentication credentials (e.g., API keys).
Body

The body of a request is used to send the actual payload data, primarily for POST and PUT requests, used for creating or modifying resources on the server.
Base URL / REST Endpoint

This is the main address for the API you're targeting. Often, accessing this base URL directly might return documentation or metadata about the API itself and how to use it.
API Endpoint Path

This part of the URL specifies the particular resource or function you want to interact with. It tells the server which specific 'door' to knock on. API documentation usually lists all available endpoint paths and their functions.
Parameters

Parameters are used to refine your request, acting like arguments passed to the function you're calling. In our example (category=animals
), we used the /entries
endpoint. Without parameters, it might return all entries. By adding the category
parameter, we instructed the API to filter and return only entries belonging to the 'animals' category.
API Architectural Styles: More Than Just REST
You've likely heard the term REST API frequently. Perhaps you've also encountered mentions of Facebook's GraphQL. These are different architectural styles for designing APIs. They dictate conventions for how data is structured and how you interact with the API's resources.
Crucially, remember that regardless of the style (REST, GraphQL, etc.), most web APIs are accessed using standard HTTP requests. Don't be intimidated if an API looks different from others you've seen. The core task remains figuring out the method (GET, POST, etc.), the target address, and any necessary headers or body content.
REST APIs

Representational State Transfer (REST) is arguably the most widespread style, partly due to its relative simplicity to implement and consume. It's been a standard for years.
The key characteristic of REST APIs is their use of HTTP methods to explicitly define the action being performed on a resource. You might use the same endpoint path (e.g., /entries
) but different methods: GET to read, POST to create, PUT to update, and DELETE to remove entries.
REST APIs commonly work with data formats like JSON, XML, HTML, or plain text.
GraphQL

GraphQL is gaining significant traction and represents a different approach compared to REST.
With GraphQL, you typically use the request body to precisely specify the data you need. The API exposes a schema defining available data types and operations (queries for fetching, mutations for changing data). Consequently, you often interact with a single endpoint, sending your detailed data requirements in the body of a POST request.
For example, GitHub's GraphQL API lives at a single endpoint:
https://api.github.com/graphql
You might send a POST request with a body like this query:
query {
viewer {
name
email
}
}
And receive a tailored response like this:
{
"data": {
"viewer": {
"name": "Your Name",
"email": "your.email@example.com"
}
}
}
GraphQL allows clients to request exactly what they need, potentially combining data from multiple resources in a single request, and defining the structure of the response.
Other API Architectural Styles
Beyond REST and GraphQL, other API architectural styles exist, including SOAP, gRPC, RPC, Falcor, OpenAPI specifications, Webhooks, MQTT, and AMQP. While their specifics differ, they generally follow similar principles: either using distinct routes for different resources (like REST) or allowing clients to specify their data needs within the request (like GraphQL).
Leveraging Public APIs
Public APIs are often the ones you'll integrate into your projects. These can be accessed either freely or require authentication, and might be offered at no cost or on a paid basis.
Keep in mind that free public APIs frequently impose rate limits, restricting the number of requests you can make within a certain time period. They might also monitor usage patterns.
If you need to make numerous requests without hitting these limits or want to enhance privacy, using proxies is a common solution. Services like Evomi provide residential proxies sourced from real devices worldwide. By routing your requests through different IP addresses, you can often bypass strict IP-based rate limits. Evomi focuses on ethically sourced proxies and offers various types including residential, mobile, datacenter, and static ISP proxies, with competitive pricing starting from $0.49/GB for residential.
When using public APIs that require authentication, the method varies. Common approaches involve sending an authentication token (API key) in a request header (e.g., Authorization: Bearer YOUR_API_KEY
) or including it as a URL parameter.
Common API Use Cases
APIs unlock a vast range of possibilities. Think of them as ways to programmatically trigger actions or retrieve data residing on external servers.
They are particularly valuable for sensitive operations like user authentication (logins) and payment processing. Handling these securely can be complex, and relying on specialized APIs (like Stripe for payments or Auth0 for logins) simplifies development and enhances security, especially for smaller services.
Furthermore, APIs are excellent tools for data aggregation. You can fetch anything from social media feeds to complex financial data or weather forecasts, then process or display this information within your own application.
Automation and integration are also major strengths of APIs. They abstract away the complexities of direct database interaction or internal server logic, making it easier to connect different services. You can use them to schedule tasks like automated backups, data processing workflows, or periodic data collection.
Using APIs with No-Code Platforms
Once you've identified an API you want to use, integrating it into a no-code application is often straightforward. The specific steps depend on your chosen platform, but most offer ways to make generic HTTP requests.
For example, platforms like Make.com (formerly Integromat) often include an "HTTP" module or similar. You can use an action like "Make a request" to configure your API call:

After running the module, you can inspect the data received from the API:

You can then use this output data in subsequent steps of your no-code workflow.
This capability means you can often integrate almost any web API, even if your no-code builder doesn't have a dedicated pre-built integration for it. As long as the platform allows you to set the request method, URL, headers, parameters, and body, you should be able to connect.
What if My No-Code Request Fails?
It's not uncommon for API requests made from no-code platforms to fail intermittently, especially during testing. This often happens due to rate limiting.
Free public APIs, in particular, frequently limit requests based on the source IP address. Since many users of a no-code platform might share the same pool of server IP addresses, these shared IPs can quickly hit the API's rate limit.
In such scenarios, using a proxy service becomes necessary. If your no-code tool supports configuring a proxy directly for HTTP requests, you can input your proxy details (like those provided by Evomi). If not, you might need an intermediate service or function that makes the API call via a proxy on your behalf.
Your request flow would then look something like this:

Handling Data Securely
When using no-code platforms to interact with APIs, be mindful of data sensitivity. Ensure the platform has appropriate security measures and certifications if you're handling private or confidential information.
Crucially, avoid exposing sensitive credentials like API keys in client-side code or configurations. Some tools allow saving reusable code snippets or configurations; ensure these don't inadvertently contain secrets that could become visible to end-users.
Using APIs in Your Code
While APIs abstract away complexity, a key aspect to remember is that you don't control the API's internal workings. You're dependent on its functionality and how it operates.
This means you need robust error handling in your code to manage potential API issues (like downtime or unexpected responses). You'll also need to consult the API's documentation to understand its capabilities and limitations.
A good API client application (like Insomnia, Postman, or Hoppscotch) is invaluable for developers. These tools let you manually construct and send API requests, inspect responses, and test endpoints independently of your main application code. This helps isolate whether a problem lies within the API itself or in your application's implementation.

Many popular APIs offer official or third-party SDKs (Software Development Kits) or libraries for various programming languages. These libraries simplify API interaction by providing pre-written functions and handling details like authentication and request formatting. For instance, GitHub provides Octokit libraries for JavaScript, Ruby, and .NET, among others.

Finally, always be mindful of rate limits when coding against APIs. Implement sensible request throttling or caching in your application to avoid overwhelming the API server (accidentally performing a Denial-of-Service attack is embarrassing and can get your access revoked!).
Potential Risks When Using APIs
While powerful, relying on external APIs introduces certain risks:
Platform Risk: Unlike scraping data directly (which has its own challenges), using an official API puts you at the mercy of the provider. They can change the API, revoke your access, or even shut down the service entirely, sometimes with little notice.
Data Privacy & Security: When sending or receiving sensitive data through an API, you're trusting the provider to handle it securely and ethically. Ensure you understand their data privacy policies.
Reliability: Not all APIs are created equal. Some may suffer from frequent downtime or performance issues. Your application needs to be resilient enough to handle potential API unavailability.
Wrapping Up
We've covered the fundamentals of APIs, explored how requests are structured, looked at different architectural styles, and discussed practical ways to use them in both code and no-code scenarios. We also touched upon the importance of tools like proxies and API clients, and the potential risks involved.
Hopefully, you now feel better equipped to explore and utilize the vast world of APIs in your own projects. Happy coding (or no-coding)!

Author
David Foster
Proxy & Network Security Analyst
About Author
David is an expert in network security, web scraping, and proxy technologies, helping businesses optimize data extraction while maintaining privacy and efficiency. With a deep understanding of residential, datacenter, and rotating proxies, he explores how proxies enhance cybersecurity, bypass geo-restrictions, and power large-scale web scraping. David’s insights help businesses and developers choose the right proxy solutions for SEO monitoring, competitive intelligence, and anonymous browsing.